CIOlogia Безопасность бизнеса · не на словах, а с доказательствами
← Все разборы Информационная безопасность

BEC-мошенничество на 480 000 ₽: как компания осталась без единственного источника знаний об угрозах

Разбираем техническую механику классической атаки на смену реквизитов поставщика — от OSINT-разведки до подделки письма — и почему «начитанность директора» не заменяет систему защиты.

Разбор CIOlogia

История с оптовой компанией — не про сложный взлом сервера. Это про атаку класса BEC (Business Email Compromise), точнее её частный случай — Vendor Email Compromise (VEC), подмену реквизитов поставщика. Такие атаки не требуют эксплуатации нулевого дня: злоумышленнику достаточно немного OSINT, дешёвого домена и правильно составленного письма. Разберём, как это устроено технически — шаг за шагом, теми же инструментами, которыми пользуются и пентестеры на легальных проектах, и реальные мошенники.

Как это эксплуатируется

Шаг 1. Разведка компании и её контрагентов

Первая задача атакующего — понять, с кем компания работает и как выглядит переписка. Источники открытые: сайт, тендерные площадки, ЕГРЮЛ, соцсети сотрудников, утечки баз (их проверяют через сервисы вроде Have I Been Pwned или локальные дампы). Дальше — техническая разведка домена цели и её поставщиков:

dig MX postavshik-example.ru +short
dig TXT postavshik-example.ru +short
dig TXT _dmarc.postavshik-example.ru +short

Типичный результат для компании без выстроенной защиты почты:

; TXT для _dmarc отсутствует (NXDOMAIN)
; SPF record: "v=spf1 include:mail.hoster.ru ~all"  (soft fail, не жёсткий -all)

Отсутствие DMARC-записи или политика p=none — прямой сигнал: письма с поддельным полем «От кого» дойдут до получателя без пометки «спам» и без отклонения.

Шаг 2. Регистрация похожего домена

Дальше ищется или регистрируется домен, визуально неотличимый от домена настоящего поставщика. Для автоматизации подбора используется dnstwist:

dnstwist --registered postavshik-example.ru

[Original] postavshik-example.ru
[Addition] postavshik-example1.ru      REGISTERED (свежий, 3 дня)
[Omission] postavshikexample.ru        REGISTERED
[Bitsquat] posravshik-example.ru       available

Регистрируется свободный вариант, настраиваются MX-записи и SPF/DKIM для нового домена — чтобы поддельные письма сами проходили проверки:

dig TXT postavshik-example1.ru
"v=spf1 include:_spf.mailhoster.com ~all"

Шаг 3. Отправка письма со сменой реквизитов

Письмо отправляется либо с похожего домена, либо через прямой spoofing поля From, если у настоящего домена поставщика тоже нет жёсткого SPF/DMARC. Для тестовой отправки такого письма (в легальном пентесте) используется swaks:

swaks --to buh@target-company.ru \
  --from "Иванов И.И. " \
  --server smtp.attacker-infra.com \
  --header "Subject: Смена банковских реквизитов" \
  --body "Добрый день! В связи с переходом на новый расчётный счёт просим..." \
  --attach reквизиты.pdf

Для массовых кампаний и подмены сессий на более продвинутом уровне применяют фреймворки фишинга: Gophish для рассылки и отслеживания открытий, Evilginx2 — если цель не просто подмена реквизитов, а перехват учётки почты через реверс-прокси и кражу сессионных cookie мимо MFA.

Шаг 4. Если нужен доступ к реальной переписке

Более технически подкованные группы не подделывают домен, а компрометируют настоящую почту поставщика — тогда письмо приходит буквально с легитимного адреса, в правильном треде. Для этого используют брутфорс слабых паролей на внешних почтовых интерфейсах:

nmap -p 25,110,143,443,465,587,993,995 mail.postavshik-example.ru

PORT    STATE SERVICE
443/tcp open  https      (Roundcube webmail 1.4.x)
587/tcp open  submission

hydra -l buh@postavshik-example.ru -P rockyou.txt \
  mail.postavshik-example.ru https-post-form \
  "/?_task=login:_user=^USER^&_pass=^PASS^:incorrect"

Устаревшая версия Roundcube (1.4.x, до патчей CVE-2020-12641 и связанных RCE через настройки) — частая находка при таком сканировании и сама по себе даёт вектор для захвата почтового ящика, минуя брутфорс паролей.

Полутехнические пруфы, на которые стоит смотреть

  • В заголовках подозрительного письма поле Return-Path и домен в From не совпадают, а Received-SPF: none или softfail вместо pass.
  • Домен отправителя зарегистрирован недавно — проверяется через whois: дата создания на 1–10 дней раньше письма — почти всегда признак атаки.
  • Отсутствует DKIM-подпись или она невалидна: dig TXT selector1._domainkey.postavshik-example.ru возвращает пусто.
  • PDF с новыми реквизитами — не подписанный документ, часто с редактируемыми полями (проверяется через exiftool файл.pdf: указано ПО вроде Word/LibreOffice вместо стандартного 1С/СБИС шаблона).
  • В почтовых логах провайдера — множественные неудачные попытки логина за короткий промежуток на webmail, характерные для hydra/medusa: десятки запросов в минуту с одного IP или диапазона IP дата-центра.

Что и почему сработало бы дальше

Если бы бухгалтер один раз подтвердила реквизиты по телефону — атака бы сорвалась на этом шаге. Но раз системы подтверждения не было, у злоумышленника был запас хода для развития:

  • Повторные письма «с уточнением суммы» на протяжении нескольких недель — вытянуть не один платёж, а несколько, пока подмена не вскроется.
  • При компрометации реальной почты поставщика (не спуфинг, а взлом ящика) — атака становится почти неотличимой от легитимной переписки, включая ответы на исторические письма в том же треде.
  • После первого успешного перевода — попытка эскалации через тот же канал: письмо «в бухгалтерию» от имени директора с просьбой срочно оплатить ещё один счёт (классический CEO Fraud поверх VEC).
  • Параллельно — использование той же скомпрометированной инфраструктуры (домена, SMTP-релея) для атак на других контрагентов компании, если у неё есть доступ к адресной книге через взломанный ящик.

Как закрыть

Технические меры здесь дешевле любого инцидента и настраиваются без выделенного ИБ-специалиста в штате.

  1. Включить и ужесточить почтовую аутентификацию для собственного домена:
    ; SPF - жёсткая политика
    v=spf1 include:_spf.yandex.net -all
    
    ; DMARC с отклонением и отчётами
    _dmarc.company.ru TXT "v=DMARC1; p=reject; rua=mailto:dmarc@company.ru"
  2. Проверять DKIM/DMARC входящих писем через встроенные средства почтового сервиса (Яндекс 360, Mail.ru для бизнеса, MS Defender for Office 365) — большинство подмен домена отсекается автоматически при правильной настройке фильтров.
  3. Ввести обязательную процедуру: любые новые реквизиты и любые изменения в существующих — подтверждаются звонком по номеру из CRM/договора, а не по номеру из письма.
  4. Закрыть внешние точки входа в почту: если webmail торчит наружу — включить MFA, актуализировать версии (Roundcube, Zimbra, Exim — регулярно проверять CVE), ограничить попытки входа через fail2ban:
    fail2ban-client status roundcube-auth
  5. Настроить резервное копирование 1С и бухгалтерских данных в независимое хранилище (в кейсе — отечественное облако) с проверкой восстановления не реже раза в квартал.
  6. Заменить «случайное чтение бесплатных каналов» на системный поток индикаторов угроз: платные или открытые фиды threat intelligence (MISP-сообщества, CISA advisories, бюллетени НКЦКИ), а не разрозненные телеграм-каналы, судьба которых непредсказуема.
  7. Провести короткое обучение сотрудников с реальными примерами писем-подделок — 30–40 минут раз в квартал снижают вероятность успешной атаки в разы эффективнее, чем толстая инструкция, которую никто не читает.
Спуфинг домена и подмена реквизитов — атака без эксплойтов и без взлома серверов. Она эксплуатирует ровно то, что не защищено процессом: доверие бухгалтера к письму и отсутствие второго канала подтверждения.

В этом кейсе техническая часть атаки была предельно простой — не пришлось даже взламывать почту поставщика, хватило слабой настройки SPF/DMARC и отсутствия процедуры подтверждения. Именно поэтому системные меры — конфигурация почты, регламент для бухгалтерии и резервные копии — закрывают риск на порядок надёжнее, чем ежедневное чтение даже самых качественных ИБ-каналов.