История одной кампании Business Email Compromise
Мы фиксируем всплеск атак типа Business Email Compromise (BEC). BEC-атаки — не новое и не редкое явление, но эта волна привлекла наше внимание масштабом.
С июня к нам обращаются множество пострадавших компаний, и всех жертв объединяют схожие признаки компрометации.
В статье расскажем, как действуют злоумышленники в рамках этой BEC-кампании и можно ли защититься от них.
Небольшой экскурс в тему для тех, кто не сталкивался с атаками Business Email Compromise.
BEC-атака начинается с компрометации корпоративной электронной почты: злоумышленники проникают в почту топ-менеджера, сотрудника финансового департамента или других людей из цепочки согласования счетов.
Изучив переписку, мошенники начинают выдавать себя за взломанного сотрудника. От имени директора они могут написать финансистам «срочно переведите деньги вот сюда», от имени менеджера по продажам — отправить клиенту поддельный счет на оплату. Целью атаки может быть и получение какой-то конфиденциальной информации: адресаты спокойно ею делятся, потому что считают, что общаются с доверенными людьми.
Важная деталь: чтобы лишний раз не светиться, злоумышленники не всегда пишут письма со взломанной почты. Вместо этого они регистрируют фишинговые домены, созвучные взломанному, и ведут переписку оттуда.
Компрометация корпоративной электронной почты влечет за собой значительные финансовые и репутационные риски, причем страдают все стороны, участвующие во взаимодействии.
К нам обратились компании, которые не получили плату за свои товары и услуги из-за подмены счета. (Далее эти компании мы будем называть жертвами.)
Жертвы общались с контрагентами по электронной почте. Когда наступала пора выставлять счета, до контрагентов почему-то доходили неправильные реквизиты. Причем письмо выглядело настоящим, в нем сохранялась вся история переписки, однако счет был неверным — деньги зачислялись злоумышленникам.
Так как счет подменяли, легко предположить классическую схему атаки man in the middle («человек посередине»): злоумышленники перехватывали письма и исправляли содержимое в своих интересах. Но встает много вопросов:
- Каким образом злоумышленники в произвольный момент времени смогли вступить в переписку, в которой отсутствовали с самого начала?
- Почему они могли видеть всю историю?
- Дело ли это рук инсайдера или это результат действий внешнего злоумышленника?
Мы начали разбираться.
Из-за такой штуки, как NDA, да и просто по правилам хорошего тона мы не можем посвятить вас во все детали расследования. Но постараемся сделать наш рассказ максимально полным и понятным.
Мы изучили несколько переписок, в которых была реализована атака, и увидели: как только в диалоге возникала тема счетов, к нему подключалась третья сторона. Этого никто не замечал, потому что письма уходили с фишинговых доменов, созвучных доменам жертвы и контрагента. Мы обратили внимание на чужаков, так как целенаправленно искали что-то подозрительное —, а в обычной жизни мало кому бросится в глаза, если в середине диалога вместо условного airbus.com появится airbuus.com, тем более раз вся история сообщений остается на месте.
Обнаружив подмену электронных адресов, мы предположили, что имеем дело с BEC-атакой.
Мы извлекли доступные нам фишинговые домены и отправились изучать возможную инфраструктуру злоумышленников. Оказалось, что обнаруженные нами домены имеют идентичные DNS-записи:
1. MX-запись — запись, в которой указывается сервер обработки электронной почты. У обнаруженных нами доменов электронная почта хостится на mailhostbox.com. Пример MX-записи:
2. NS-запись — запись, указывающая, на каких серверах находится домен. У обнаруженных нами доменов в качестве хостинга используется monovm.com. Пример NS-записи:
3. TXT-запись — запись, содержащая SPF-запись. Пример TXT-записи:
. 5 IN TXT «v=spf1 redirect=_spf.mailhostbox.com»
4. SOA-запись — начальная запись зоны, которая указывает местоположение эталонной записи о домене, а также содержит в себе электронную почту лица, ответственного за данную зону. Пример SOA-записи:
За
мы скрыли фишинговый домен, а за
— электронный адрес, на который злоумышленники регистрировали фишинговый домен.
Нас заинтересовала связка хостингов Mailhostbox + MonoVM, и мы решили поискать другие домены, которые могли бы использоваться в рамках кампании. Для этого мы воспользовались внутренними базами, куда в том числе попадают все домены с www.icann.org, и сделали выборку доменов с необходимыми MX-, NS- и TXT-записями.
Результаты оказались впечатляющими: на момент анализа мы получили 47 532 домена, аналогичных тем, что были обнаружены в инциденте. Для их регистрации использовались 5296 электронных адресов, обнаруженных в SOA-записях, причем больше половины адресов оказались заведены в популярных почтовых службах: Gmail.com, Mail.ru, Yahoo.com, ProtonMail.com, Yandex.ru, Outlook.com, Hotmail.com. На один электронный адрес — alz444@mail.ru — было зарегистрировано сразу 1403 домена.
Трудно утверждать, что абсолютно каждый из почти 50 тысяч обнаруженных доменов был зарегистрирован для реализации BEC-атак. Однако такую цель мы подозреваем у подавляющего большинства из них — из-за созвучности с доменами известных брендов, например:
the-boeings[.]com
airbuus[.]com
airbuxs[.]com
bmw-my[.]com
uksamsung[.]com
a-adidas[.]com
giorgioarmani-hk[.]com
Массовая регистрация таких доменов началась со второй половины 2020 года: с июля 2020-го их было зарегистрировано свыше 46 тысяч. Пик регистрации доменов пришелся на лето этого года — только в июне зарегистрировано больше 5 тысяч доменов:
С высокой вероятностью можно сказать, что реализация BEC-кампании в самом разгаре.
Используя поле email из SOA-записи как индикатор конкретной кампании, мы собрали для каждой из обратившихся к нам жертв список доменов, зарегистрированных злоумышленниками.
Получились два типа доменов:
- Одни нам были уже знакомы — они использовались в переписке жертв с контрагентами.
- Другие оказались новыми и ничем не напоминали домены жертв и контрагентов. В контексте BEC-атаки мы предположили, что эти домены были задействованы в компрометации почты. Предположение подтвердилось: с части этих адресов жертвам доставлялись фишинговые письма.
Так мы установили вектор проникновения злоумышленников.
Злоумышленники обращались к потенциальным жертвам с заявкой на партнерство или выполнение заказа. Заявку отправляли через форму обратной связи на сайте компании или на публично доступные групповые адреса (info@example.com
и пр., где под example.com
cкрыто название реальной организации). Расчет был на то, что отвечать на заявку будет уже конкретный сотрудник с персонального корпоративного ящика.
Получив ответ сотрудника на заявку, мошенники высылали ему фишинговое письмо. Тело письма содержало фишинговую ссылку, которая вела якобы на страницу скачивания документов: договора, спецификации, заказа и пр. Перед скачиванием сотрудника просили ввести пароль для входа в его электронную почту — об этом даже предупреждали в письме, объясняя все требованиями конфиденциальности. После ввода пароля никакие документы, конечно, не скачивались, зато у злоумышленников оказывались данные для доступа в почтовый ящик.
Фишинговые ссылки имели достаточно специфичный формат: hxxps://pokajca[.]web[.]app/?x1=
. Во-первых, в параметре x1 в URL-адресах передавалось значение электронной почты получателя фишингового письма (мы его скрыли за
). Для правдоподобия оно отображалось при открытии фишинговой страницы, требовавшей ввести пароль от почты. Во-вторых, ссылки были созданы с помощью сервисов сервлетов (вроде netlify.app, cloudflare.com и подобных). Наконец, на фишинговых страницах практически не было статического контента, а содержимое генерировалось с помощью JS-скриптов — это значительно затрудняет детектирование страниц спам-фильтрами.
Если на исходную заявку отвечали не с адреса конкретного сотрудника, а с публично доступного контакта, злоумышленники все равно могли отправить фишинговое письмо. Это подтверждают фишинговые ссылки из наших внутренних баз, содержащие в параметре x1 адреса вроде info@example.com или ask@example.com.
Во внутренних базах в общей сложности мы обнаружили больше 450 подобных фишинговых ссылок. Они маскировались под Dropbox, Microsoft SharePoint, OneDrive, Adobe PDF Online и другие ресурсы обмена файлами:
Мы извлекли электронные адреса пользователей из всех обнаруженных ссылок и сопоставили их с названиями компаний.
В наши базы попадает лишь часть ссылок из фишинговых писем, поэтому нам оказался доступен далеко не исчерпывающий перечень потенциальных жертв. Но даже это количество данных позволяет заключить, что волна атак охватывает весь мир.
Анализ показал, что по меньшей мере 200 компаний из разных стран стали целью этой BEC-кампании. Потенциальными жертвами оказались производители, дистрибьюторы, продавцы и поставщики различных товаров и услуг. Простыми словами, все те, кто заключает договоры на поставку продукции или услуг с клиентами и контрагентами.
География распространения — все континенты за вычетом Антарктиды. Большая часть потенциальных жертв — организации из Европы, Азии и Северной Америки (55,6%, 24,0% и 14,8% соответственно):
Когда к нам только поступили кейсы с подменой счета, нас интересовало, как злоумышленникам удавалось вступать в диалог точно в нужный момент и сохранять всю историю переписки. Установив вектор проникновения, мы решили эти загадки.
После успешного фишинга, дававшего мошенникам доступ к почте жертвы, BEC-атака развивалась двумя путями.
Первый путь требовал хорошей координации:
- Злоумышленники читали переписку жертвы с клиентами и контрагентами.
- Заметив, что разговор плавно подходит к вопросам оплаты, злоумышленники пересылали нужное сообщение со всей историей на фишинговый адрес 1 (Ф1), схожий с адресом жертвы.
- С Ф1 мошенники писали контрагенту.
- Контрагент отвечал на Ф1.
- Злоумышленники подключали фишинговый адрес 2 (Ф2), теперь — схожий с адресом контрагента. Письмо, которое контрагент отправил на Ф1, пересылали жертве с помощью Ф2.
- Жертва отвечала на Ф2.
На последнем шаге цепочка замыкалась: теперь жертва писала на Ф2, контрагент — на Ф1, а злоумышленники пересылали их письма друг другу. Корпоративная привычка использовать reply all дополнительно повышала шансы атаки на успех. Став своеобразными посредниками, мошенники легко могли в нужный момент подменить счет в пересылаемом письме.
Второй путь, более продвинутый, включал настройку правил перенаправления электронной почты. Совсем недавно о подобной кампании BEC-атак написала Microsoft: если в теле письма появлялись слова payment, invoice и подобные, письмо отправлялось не на указанный жертвами адрес, а на адрес злоумышленников.
Дальше атака развивалась по указанному выше пути.
Схематично процесс взаимодействия в обоих случаях выглядел так:
BEC-атаки коварны. Единственный способ защититься от той, что описана в нашей статье — не допустить успешной реализации фишинга. Здесь придут на помощь спам-фильтры электронной почты и обучение сотрудников. Для крупных компаний могут быть полезны еще две практики: во-первых, регистрировать домены, похожие на официальный, чтобы они не ушли злоумышленникам; во-вторых, отслеживать появление доменов, похожих на официальный, чтобы блокировать их через регистраторов и хостинг-провайдеров.
Если же компрометация электронной почты все-таки произошла, защититься от самой BEC-атаки будет практически невозможно: на этапе заключения договора стороны абсолютно точно доверяют друг другу, и при получении очередного письма (со всей историей!) жертвам и в голову не придет проверить адрес отправителя. Ситуацию осложняет то, что фишинговые домены зачастую являются омоглифами, и заметить появление постороннего в переписке будет сложно даже опытному специалисту.