Взлом корпоративной почты: как мы расследовали инцидент в юридической фирме на 28 рабочих мест
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15 лет работы с офисами в Москве я разбирал больше двух десятков кейсов взлома корпоративной почты, и почти каждый второй из них стоил клиенту от 800 тыс. до 4 млн рублей прямого ущерба. В этой статье — реальный кейс юрфирмы, которая чуть не перевела 1.7 млн руб. на счета мошенников, и пошаговый разбор того, как мы за 4 дня нашли точку взлома, закрыли её и настроили защиту, после которой повторов не было уже больше года.
С чего всё началось: звонок главбуха в субботу
В январе 2026 года мне позвонила главбух одной столичной юридической фирмы (28 рабочих мест, своя команда из 17 юристов и 11 человек бэк-офиса). Голос дрожащий: «Евгений, у нас, кажется, проблема. Контрагент позвонил, спрашивает, точно ли мы поменяли реквизиты на новые, потому что им письмо от нашего юриста пришло». Письмо она увидела сама — от ящика штатного юриста, написано в его стиле, тема правильная (про конкретный договор, который вёл этот юрист), внизу — таблица с «новыми реквизитами» для оплаты счёта на 1.7 млн руб.
Юрист, на которого было оформлено письмо, в этот момент был в отпуске в Сочи и почту вообще не открывал три дня. Шансы, что это «случайность», стремились к нулю. Я сразу попросил всех сотрудников не входить в почту со своих устройств, заблокировал автоматическую отправку платежей в 1С через корпоративный мессенджер и через 40 минут уже был у клиента в офисе — благо, ехать недалеко.
Первые 30 минут: останавливаем кровотечение
Когда подозреваешь компрометацию почты — первая задача не «расследовать», а «остановить вывод денег». Расследование подождёт час, а транзакция к мошенникам — нет. Что я сделал в первые полчаса:
- Позвонил всем контрагентам, у которых были открытые счета на оплату от нашей фирмы за последние 7 дней (получился список из 9 человек). Попросил приостановить любые платежи и подтверждать реквизиты только звонком на известные номера.
- Позвонил в обслуживающий банк фирмы и попросил оперативно проверить, не было ли исходящих платежей по «странным» реквизитам за последние 72 часа. Не было — успели вовремя.
- Попросил айтишника на стороне клиента (был приходящий) сменить пароль администратора в Microsoft 365 и временно отключить вход на скомпрометированный ящик юриста.
- Открыл личный ноутбук и зашёл в админ-консоль M365 под учёткой, которую для меня заранее сделал клиент с правами Global Reader (я всегда прошу её перед началом обслуживания именно для таких случаев).
Только после этого можно было дышать и начинать собственно расследование.
Откуда я начал копать: журнал входов
Главный артефакт при расследовании любой компрометации почты в Microsoft 365 или Яндекс 360 — это Sign-in logs (для M365) или журнал входов в Яндекс 360 для бизнеса. Они показывают каждую успешную и неуспешную попытку входа с IP-адресом, страной, типом клиента и используемым протоколом.
Через PowerShell я выгрузил журнал входов по нужному ящику за последние 30 дней:
# Подключение к Microsoft Graph
Connect-MgGraph -Scopes "AuditLog.Read.All","Directory.Read.All"
# Выгрузка входов по конкретному пользователю
$user = "lawyer.petrov@firm.ru"
Get-MgAuditLogSignIn -Filter "userPrincipalName eq '$user'" `
-Top 500 | Select-Object CreatedDateTime, IpAddress, `
@{N='Country';E={$_.Location.CountryOrRegion}}, `
ClientAppUsed, AppDisplayName, `
@{N='Status';E={$_.Status.ErrorCode}} | `
Export-Csv signins.csv -NoTypeInformation
То, что я увидел в CSV-файле, заняло у меня ровно 8 секунд для понимания картины:
| Дата/время | IP | Страна | Клиент | Статус |
|---|---|---|---|---|
| 05.01 09:14 | 185.220.x.x | Нидерланды | IMAP | OK |
| 05.01 09:18 | 185.220.x.x | Нидерланды | OWA | OK |
| 06.01 03:42 | 185.220.x.x | Нидерланды | SMTP | OK |
| 07.01 11:05 | 185.220.x.x | Нидерланды | SMTP AUTH | OK |
| 09.01 14:32 | 91.198.x.x | Россия | Outlook | OK |
Юрист в Сочи (а ездит он не первый год, я знал) вообще не выходил с ноутбука. Все «нидерландские» входы — это атакующий, причём он использовал IMAP и SMTP AUTH (legacy-протоколы аутентификации, которые в правильно настроенном M365 должны быть отключены вообще). Дальше — дело техники.
Что атакующий успел сделать в почтовом ящике
Я выгрузил журнал почтовой активности (mailbox audit log) за тот же период. Microsoft 365 по умолчанию пишет туда все действия с письмами, если включён режим аудита — у клиента, к моему удивлению, он был включён, спасибо предыдущему подрядчику.
# Выгрузка mailbox audit log
Search-MailboxAuditLog -Identity $user `
-StartDate (Get-Date).AddDays(-30) `
-EndDate (Get-Date) `
-ShowDetails | `
Export-Csv mailbox_audit.csv -NoTypeInformation
Вот что я нашёл в логах за 5 дней присутствия атакующего в ящике:
- 5 января, 09:20 — создано правило входящей почты с условием «если письмо содержит слова реквизиты, счёт, оплата, банковск* — переместить в скрытую папку RSS Feeds и пометить как прочитанное». Цель: чтобы юрист не увидел ответных писем от контрагентов.
- 5 января, 09:25 — настроена автопереадресация всех входящих писем на внешний адрес
petr.lawer.archive@gmail.com(подделан под имя реального юриста). Атакующий начал получать копии всей входящей корреспонденции в реальном времени. - 5–8 января — атакующий читал старые письма, изучал стиль, термины, текущие сделки. Скачал 47 писем с вложениями (договоры, акты, спецификации).
- 9 января, 11:05 — отправлены 3 письма от имени юриста: одно на 1.7 млн (то самое, которое спалили) и два других на 380 тыс. и 540 тыс. рублей. Эти два мы тоже остановили звонками контрагентам.
Get-InboxRule -Mailbox <user> и удалять любые подозрительные правила. У 80% жертв BEC-атак в логах сидит именно такое правило.Как именно атакующий получил пароль
Логи входов показывали, что 5 января в 09:14 атакующий зашёл с правильным паролем с первой попытки. Никакого брутфорса в логах за предыдущий период не было — то есть пароль он не подобрал, а получил готовым. Варианты: фишинг, утечка из стороннего сервиса, заражение компьютера юриста стилером.
Я попросил юриста (он в этот момент уже летел из Сочи) вспомнить, не вводил ли он пароль на каких-то сайтах с почты в последние недели. После нескольких уточняющих вопросов всплыло следующее: 4 января в 18:40 ему пришло письмо «от Microsoft» с темой «Срочно: ваш ящик будет удалён через 24 часа». В письме была кнопка «Подтвердить аккаунт», ведущая на сайт microsoft-365-verify.com (домен зарегистрирован 3 января, за день до атаки). Юрист ввёл пароль.
Классический фишинг с reverse-proxy. Эти сайты не просто крадут пароль — они в реальном времени проксируют его к настоящему Microsoft, ловят сессионную cookie и обходят даже двухфакторную аутентификацию, если она включена. У клиента 2FA для этого ящика как раз отключена была — для удобства, чтобы не вводить код каждый раз с телефона. Это и сыграло.
# Проверка домена через whois (что я сделал на месте)
$ whois microsoft-365-verify.com | grep -E "Created|Registrar"
Creation Date: 2026-01-03T14:22:18Z
Registrar: NameCheap, Inc.
# Возраст домена 1 день — индикатор фишинга
# Домены Microsoft не регистрируются через NameCheap
4 дня работы: что мы сделали для восстановления
Расследование заняло у меня 6 часов. Дальше начался гораздо больший объём работ — закрытие дыр и приведение почтовой инфраструктуры в порядок. Вот что мы сделали за 4 рабочих дня командой из 3 инженеров АйТи Фреш:
День 1: экстренная защита
- Принудительно сбросили пароли всем 28 пользователям в Microsoft 365 (через Admin Center → Active Users → Multiple users → Reset password). Юзерам по чату разослали временные пароли с обязательной сменой при следующем входе.
- Принудительно завершили все активные сессии:
Revoke-MgUserSignInSession -UserId <id>для каждого пользователя. Это инвалидирует украденные сессионные cookies — даже если у атакующего они есть, войти он больше не сможет. - Удалили правила пересылки во всех ящиках:
# Поиск всех правил автопересылки наружу домена
Get-Mailbox -ResultSize Unlimited | ForEach-Object {
Get-InboxRule -Mailbox $_.Identity | Where-Object {
$_.ForwardTo -or $_.ForwardAsAttachmentTo -or `
$_.RedirectTo
} | Select-Object MailboxOwnerId, Name, ForwardTo, `
RedirectTo, Enabled
} | Export-Csv suspicious_rules.csv -NoTypeInformation
Нашли правила пересылки ещё в двух ящиках (бухгалтер и помощница директора). Их атаковали раньше, но активной фазы не было — просто сидели и собирали информацию. Удалили все.
День 2: включаем 2FA на всех
Двухфакторная аутентификация по приложению Microsoft Authenticator (или Yandex Key для Яндекс 360) включена на всех 28 пользователях без исключений. Никаких «исключений для удобства руководства» — именно через такие исключения и происходит большинство взломов. Конфигурация Conditional Access:
# Политика Conditional Access (через Azure AD)
Display name: Require MFA for all users
Assignments:
Users: All users (exclude: emergency break-glass account)
Cloud apps: All cloud apps
Conditions:
Locations: Any location
Client apps: All
Access controls:
Grant: Require multi-factor authentication
Require authentication strength: Phishing-resistant MFA
Дополнительно для главбуха и директора — обязательный аппаратный ключ FIDO2 (YubiKey 5C NFC, по 6 800 руб. за штуку). На VIP-юзеров с правом подписи платёжных поручений я всегда настаиваю на железных ключах — это единственный фактор, который полностью защищает от фишинга через reverse-proxy.
День 3: блокируем legacy-протоколы и автопереадресацию
Атакующий использовал IMAP и SMTP AUTH — устаревшие протоколы, которые не поддерживают современную аутентификацию. Их нужно отключить полностью, если у вас не осталось каких-нибудь древних МФУ или сканеров, которые умеют только в IMAP.
# Отключение legacy authentication через Authentication Policy
New-AuthenticationPolicy -Name "Block Legacy Auth"
Set-AuthenticationPolicy -Identity "Block Legacy Auth" `
-AllowBasicAuthImap:$false `
-AllowBasicAuthPop:$false `
-AllowBasicAuthSmtp:$false `
-AllowBasicAuthAutodiscover:$false `
-AllowBasicAuthActiveSync:$false `
-AllowBasicAuthOfflineAddressBook:$false `
-AllowBasicAuthOutlookService:$false `
-AllowBasicAuthPowerShell:$false
# Применение ко всем пользователям
Get-User -ResultSize Unlimited | Set-User `
-AuthenticationPolicy "Block Legacy Auth"
Дополнительно — глобальный запрет автоматической переадресации почты наружу домена через политику Outbound Spam Filter:
# Запрет автопересылки наружу
Set-HostedOutboundSpamFilterPolicy -Identity Default `
-AutoForwardingMode Off
После этого даже если кто-то снова взломает ящик — он не сможет настроить пересылку наружу домена. Это буквально одна команда, которая могла бы предотвратить весь инцидент.
День 4: SPF, DKIM, DMARC и обучение сотрудников
Я проверил DNS-записи домена клиента через свой любимый mxtoolbox.com:
- SPF — был, но в режиме
~all(мягкий fail). Меняю на-all(жёсткий fail). - DKIM — не настроен вообще. Включаю в M365: Security → Email & collaboration → Policies → DKIM, генерация ключа, добавление двух CNAME-записей в DNS.
- DMARC — отсутствует. Добавляю TXT-запись:
; DNS-записи для домена firm.ru
firm.ru. TXT "v=spf1 include:spf.protection.outlook.com -all"
selector1._domainkey.firm.ru. CNAME selector1-firm-ru._domainkey.tenant.onmicrosoft.com
selector2._domainkey.firm.ru. CNAME selector2-firm-ru._domainkey.tenant.onmicrosoft.com
_dmarc.firm.ru. TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@firm.ru; ruf=mailto:dmarc@firm.ru; fo=1; pct=100"
Через две недели после прогрева в режиме p=quarantine переключили DMARC в строгий p=reject. С этого момента подделать письмо «от» firm.ru у атакующего не получится — все нормальные провайдеры (Mail.ru, Яндекс, Gmail) будут отклонять подделки на этапе SMTP.
Параллельно я провёл с сотрудниками часовой воркшоп: показал, как выглядит фишинговое письмо, как проверять отправителя, как смотреть, куда ведёт ссылка (наводим, не кликаем), что делать, если ввели пароль на подозрительном сайте (немедленно сменить и сообщить в АйТи Фреш). Раздал распечатку с памяткой на одну страницу — она до сих пор висит у каждого над монитором.
Что важно знать руководителю про BEC-атаки
BEC (Business Email Compromise) — это не редкость. По нашей статистике, в Москве в 2025 году каждая шестая фирма из списка наших клиентов до 50 РМ хотя бы раз сталкивалась с попыткой BEC, и каждая 18-я несла финансовый ущерб от 200 тыс. руб. и выше. Особенности:
- Атакующие выбирают цель целенаправленно. Это не массовая рассылка. Перед атакой собираются данные о компании, изучаются открытые источники (сайт, СПАРК, соцсети сотрудников). Часто атакуют через 2–3 недели после того, как кто-то засветился в утечке (например, паролей с какого-нибудь форума).
- Атакующие ждут отпуска или командировки. Идеальное окно — когда сотрудник физически недоступен по корпоративной связи. Поэтому правила автопереадресации настраиваются в выходные или вечером.
- Сумма платежа подбирается так, чтобы не вызывать подозрения. 1.7 млн руб. — это нормальная сумма для юрфирмы, никто не насторожится. Если бы атакующий запросил 50 млн — главбух сразу бы перезвонила.
- Реквизиты «новые» — обычно счёт в каком-нибудь среднем банке РФ на ИП или ООО-однодневку. Деньги через 2–4 часа уходят цепочкой переводов и обналичиваются. После этого вернуть их невозможно.
Чек-лист защиты почты для офиса 10–50 РМ
Если у вас офис до 50 рабочих мест и вы используете Microsoft 365, Яндекс 360 или Mail.ru для бизнеса — вот мой минимальный чек-лист, который защищает от 95% BEC-атак:
- Двухфакторная аутентификация по приложению — у всех 100% пользователей. Без исключений.
- Аппаратные ключи FIDO2 — у директора, главбуха, всех с правом подписи платежей.
- Legacy-протоколы (IMAP, POP, SMTP AUTH с базовой аутентификацией) — отключены глобально.
- Автопереадресация наружу домена — запрещена политикой.
- SPF, DKIM, DMARC — настроены, DMARC в режиме
p=reject. - Audit log включён, ретенция — минимум 90 дней (платно в M365 Business Standard).
- Алерт на необычный геолоку входа — настроен в Microsoft Defender или Conditional Access.
- Регламент платежей: новые реквизиты подтверждаются звонком на известный номер контрагента, не по почте.
- Раз в полгода — тренинг сотрудников по фишингу и тестовая фишинг-рассылка для проверки бдительности.
- Бэкап почты раз в сутки во внешнюю систему (Veeam, Acronis или Synology Active Backup) — на случай, если атакующий начнёт удалять письма.
Стоимость защиты vs стоимость инцидента
Расскажу честно про экономику. Мы в АйТи Фреш делаем разовую настройку всего комплекса защиты для офиса до 30 пользователей за 18 000–35 000 руб., в зависимости от состояния стартовой инфраструктуры. Дальше абонентка с мониторингом всех необычных входов — от 4 500 руб./мес. Аппаратные ключи FIDO2 для VIP — 6 800 руб. за штуку, обычно нужно 3–5 штук на офис.
Сравните с потерями нашего юриста, у которого мы остановили платёж в последний момент: ущерб мог составить 1.7 млн руб., плюс репутационный удар по контрагенту (он бы стал параноить и проверять каждый платёж), плюс потерянное время на разбирательства. По нашей внутренней статистике, средний BEC-ущерб у офиса до 50 РМ — 1.4 млн руб. за инцидент. Защита окупается за один предотвращённый случай в течение 5+ лет.
Аудит безопасности почты — бесплатно для офиса в Москве
Я лично за один день делаю экспресс-аудит почтовой инфраструктуры: проверяю настройки 2FA, DNS-записи (SPF/DKIM/DMARC), правила пересылки во всех ящиках, журнал входов за последние 30 дней. По итогам — письменный отчёт с конкретным списком уязвимостей и оценкой их критичности. Без обязательств заключать договор. Едем к клиентам в Москве и в радиусе 50 км от МКАД.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы про взлом корпоративной почты
- Как понять, что корпоративную почту взломали?
- Главные признаки: контрагенты получают письма, которые вы не отправляли; в папке «Отправленные» появляются неизвестные сообщения; в логах входов виден логин из чужой страны; контрагенты переводят деньги по «новым» реквизитам, которые вы не присылали. Если что-то из этого есть — почта скомпрометирована, надо срочно действовать.
- Сколько стоит расследование инцидента с почтой?
- Базовое расследование одного скомпрометированного ящика в Microsoft 365 или Яндекс 360 — от 35 000 руб. за 2–3 дня работы. Полный аудит всего почтового домена с восстановлением безопасности — 90–180 тыс. руб. в зависимости от размера офиса. Для клиентов на абонентке расследование входит в SLA.
- Почему пароль из 16 символов не помог?
- Длинный пароль защищает от перебора, но не от фишинга. Если сотрудник ввёл пароль на поддельной странице входа, длина не имеет значения. Единственная надёжная защита — двухфакторная аутентификация через приложение или аппаратный ключ. SMS как второй фактор тоже взламывается через подмену SIM-карты, поэтому я её не рекомендую для VIP-юзеров.
- Можно ли вернуть деньги, переведённые по поддельным реквизитам?
- Если успели обратиться в банк в тот же день — иногда удаётся приостановить платёж до зачисления. Если деньги ушли больше суток назад — практически нет, так как мошенники сразу выводят средства цепочкой переводов и обналичивают. Заявление в полицию по статье 159.6 УК РФ подавать обязательно, но шансы возврата мизерные. Лучше вкладываться в превентивную защиту.
- Как защитить почту в офисе на 20–30 человек?
- Минимальный набор: двухфакторная аутентификация для всех; запрет автопереадресации наружу домена; настройка SPF, DKIM, DMARC в строгом режиме; регулярные тренинги сотрудников по фишингу; журналирование всех входов с алертами на подозрительные геолокации; аппаратные ключи FIDO2 для всех с правом подписи платежей. Этот пакет в АйТи Фреш разворачивается за 2–3 дня и стоит 18 000–35 000 руб. для офиса до 30 ящиков.