РУССКИЙ
РУССКИЙ
ENGLISH
19.12.2017

Cobalt 2.0: банки под прицелом

Как группа Cobalt успешно обходит антивирусную защиту
Андрей Зосимов,
вирусный аналитик
Группа Cobalt атаковала российский банк, используя систему SWIFT (международная система передачи финансовой информации). Напомним, что раньше в России целевые атаки проходили с использованием систем карточного процессинга, банкоматов и АРМ КБР (автоматизированное рабочее место клиента банка России). Проникновение в банк произошло через фишинговую рассылку с вложенным вредоносным файлом , который рассылался группировкой несколько недель назад по банкам. В среднем промежуток от проникновения до вывода денег составляет три-четыре недели, средняя сумма хищения - 100 млн руб.

FinCERT, структурное подразделение ЦБ по информбезопасности, в своем свежем отчете назвал группу Cobalt главной угрозой для банков, а ее атаки — основным трендом. Cobalt, действительно, сейчас одна из самых активных и агрессивных преступных групп. За год — подсчитали эксперты — она совершила не менее 50 успешных атак по всему миру, постоянно тестируя новые инструменты, изменяя векторы атак и цели. Помимо бесконтактных атак на банкоматы, Cobalt старается получить доступ к системам межбанковских переводов (SWIFT), платежным шлюзам и карточному процессингу. В этой статье мы проанализируем одну из успешных ноябрьских атак Cobalt и покажем, почему традиционные средства защиты не могут спасти от хакерских атак подобных групп. И что делать, чтобы защитить свой бизнес от финансовых и репутационных потерь.

14 ноября 2017 года специалисты компании Embedi опубликовали технический отчет об уязвимости CVE-2017-11882, а также продемонстрировали ее в различных версиях продуктов Microsoft Office. Эта уязвимость позволяет выполнять произвольный код, а также загружать исполняемые файлы и запускать их на исполнение. Она существует еще с 2000 года – как раз тогда был создан уязвимый элемент Microsoft Equation, а точнее – «EQNEDT32.EXE». Данный элемент позволяет внедрять математические формулы в документы Office при помощи технологии OLE. С выходом Office 2007 этот компонент обновился, но поддержка старой версии осталась для совместимости со старыми документами. А значит уязвимость существовала целых 17 лет (sic!).

Сама CVE была зарегистрирована еще 31 июля 2017 года, а через несколько дней специалисты из Embedi сообщили о ней в Microsoft. Финальный патч от Microsoft выпустили только 14 ноября 2017 года.

Три дня назад, 21 ноября, в публичном GitHub репозитории Embedi был опубликован Proof of Concept этой уязвимости (https://github.com/embedi/CVE-2017-11882), а также python-скрипт, который позволяет создать собственный уязвимый «.rtf» документ.
Первая активность
Уже спустя несколько часов хакерская группировка Cobalt начала массированную рассылку фишинговых писем по финансовым учреждениям, содержащих во вложении уязвимый документ, который не детектируется антивирусными решениями:
В рассылке распространялся вредоносный документ с названием «Изменения правил осуществления переводов.rtf» (MD5 F360D41A0B42B129F7F0C29F98381416, 31811 байт)
Домен «cards-cbr[.]ru», с которого было отправлено это письмо, был зарегистрирован в день рассылки - 2017-11-21. Он имеет IP-адрес «104.254.99[.]77».

Так же распространялось следующее письмо с пустым содержанием, но таким же вложением:
Технические заголовки письма:
Как мы видим, антивирусное решение пропустило вредоносное письмо. В результате вредоносное вложение попало к сотруднику банка.
Наша система TDS Polygon успешно обнаружила атаку, выдав вердикт в 92%, и сотрудник CERT Group-IB оповестил клиента о ситуации:
Обнаруженный вредоносный документ (MD5 F360D41A0B42B129F7F0C29F98381416) был загружен на Virustotal 2017-11-21 13:27:59 (UTC) и на тот момент детектировался лишь антивирусом «Rising» как «Exploit.CVE-2017-11882.Gen!1.AED3 (CLASSIC)». Он содержал следующую команду, которую исполнял:
Судя по структуре файла, он явно был построен при помощи опубликованного Python-скрипта. Спустя несколько часов и другие антивирусные решения начали определять файл как вредоносный, но злоумышленники отреагировали незамедлительно. Они тут же переделали эксплоит так, что он снова перестал детектироваться многими популярными антивирусами (MD5 8993F927BEAF8DAA02BB792C86C2B5E0):
Доменное имя swift-alliance[.]com было создано и зарегистрировано другими лицами 2016-08-24, но 2017-08-24 у него истек срок регистрации, преступники группы Cobalt отследили этот факт и зарегистрировали это доменное имя 21.11.2017. Сейчас доменное имя "swift-alliance[.]com" имеет связь по IP-адресу с доменом "cards-cbr[.]ru", участвавшим в предыдущей рассылке. На данный момент (22.11.2017) все эти домены имеют IP-адрес 139.59.89[.]20, а ранее 21.11.2017 имели IP-адрес 104.254.99[.]67:
В обоих действовала одна и та же группировка - нагрузка загружалась с IP-адреса «138.68.234[.]128», которая распространяет Cobalt-Strike. Во втором случае загружался исполняемый файл HTA, который исполнялся через программу mshta.exe:
Загружаемый файл содержит обфусцированный JS, который в результате выполняет закодированный Powershell-скрипт:
В результате выполнения этого кода загружается PS скрипт с удаленного хостинга «http://104.254.99[.]77/out.ps1», который потом исполняется. Загруженный Powershell содержит два закодированных Cobalt Beacon'a, которые запускаются в соответствии с разрядностью ОС.
Изменения
Измененный документ не так сильно отличается от первоначального, однако различия все же есть. Во-первых, были изменены заголовки RTF-документа:
Как видно, из заголовка объекта было вырезано ключевое слово «objclass», которое является опциональным:
В название объекта было заменено с «Equation.3» на «1NYMiqIGRD». Так же, в первоначальном варианте шеллкод в конце заполнялся буквами «A», тогда как в переделанном эксплоите оставшееся место заполняется пробелами:
Сигнатуры (помечены красным) до и после шеллкода не изменены. По сути основные изменения претерпели заголовки RTF-документа и встроенного объекта, в том числе и в конце:
Здесь злоумышленники просто изменили параметры изображения и добавили некоторые свои, которые по сути ни на что не влияют:

  • «picwgoal» и «pichgoal» - отвечают за ширину и высоту рисунка в twips

  • «picw» и «pich» - отвечают за ширину и и высоту рисунка в пикселях

  • «picscale» - масштабирование изображения.

В конце 2017 года прошла серия успешных атак на международные банки с целью хищений через SWIFT - и даже первая успешная атака в России. Два года назад многие атаки произошли именно в новогодние праздники, когда на счетах скапливаются огромные суммы, а сотрудники безопасности и смежных подразделений уже находятся в отпусках и имеют ограниченные возможности по противодействию атакующим. Группа Cobalt может совершить хищения именно в новогодние праздники, предварительно, получив доступ в банки.
Каким мог быть выход из этой ситуации? Для того, чтобы успешно отражать такие атаки, необходимо подписаться на услуги поставщика Threat Intelligence. Очевидно, что «поймать» такого вредоноса антивирусными средствами не представляется возможным. Threat Intelligence даст возможность быть в курсе атак, проводимых хакерскими группами, а также иметь в своем распоряжении системы анализа трафика и песочницы, которые будут выносить вердикт вредоносным файлам не на основе сигнатур, а с помощью поведенческого анализа и наработанной базы знаний по характерному поведению той или иной хакерской группировки.
Рекомендации
  • Для отключения уязвимого компонента следует выполнить команду в cmd.exe, которая добавит необходимый параметр в реестр:

«reg add "HKLM\SOFTWARE\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000- 0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400», где «XX.X» - версия установленного MS Office

Если вы используете x32 разрядную версию Office на x64 системе, то следует выполнить следующую команду:

«reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\XX.X\Common\COM Compatibility\{0002CE02-0000-0000-C000-000000000046}" /v "Compatibility Flags" /t REG_DWORD /d 0x400»

Этот параметр отключает уязвимый компонент Equation, в результате чего эксплуатация уязвимости станет невозможна.


Индикаторы
Хеши (SHA256 / MD5):

«Изменения правил осуществления переводов.rtf»
«Swift changes.rtf»
SHA256 17F9DB18327A29777B01D741F7631D9EB9C7E4CB33AA0905670154A5C191195C
MD5 F360D41A0B42B129F7F0C29F98381416

«w.exe»
SHA256 60656140E2047BD5AEF9B0568EA4A2F7C8661A524323111099E49048B27B72C7 MD5 D46DF9EACFE7FF75E098942E541D0F18

«Приказ №3120567.doc», «Reason block.doc», «Изменения в системе безопасности Visa payWave.doc»
MD5 8993F927BEAF8DAA02BB792C86C2B5E0
SHA256 BC4D2D914F7F0044F085B086FFDA0CF2EB01287D0C0653665CEB1DDBC2FD3326)

«x.txt»
MD5 C8BCE60C90CE26B0E2B96770071C72D2
SHA256 5F434901D4F186BDC92EE679783BDFAD80281423848462E445704D5A10B0DC20 )

«beacon_x32»
MD5 db0d8569bc52e259bd327b10d0317174
SHA256 5F0D7423D889EB9DCE5E79E5BB8202AEA335F255BD88E4EABF21BFF8890BBC90)

«beacon_x64»
MD5 B6F640A14CC416E366E9BF899481FD6A
SHA256 FB97A028760CF5CEE976F9BA516891CBE784D89C07A6F110A4552FC7DBFCE5F4)

Сетевая активность:

  • 138.68.234[.]128
  • 104.254.99[.]77
  • cards-cbr[.]ru
  • ■■■.■■■.■■■
  • ■■■.■■■.■■■
  • 104.200.67[.]112
  • 139.59.89[.]20
  • 67.205.190[.]195
  • 93.113.131[.]162/cx
  • updatesupermaster[.]info/push
Отправители:

  • a.shevcov@cards-cbr[.]ru
  • ■■■■■■■■■■■■■■■■■
  • admin@visa-pay[.]com
  • support@swift-alliance[.]com
  • support@cards-cbr[.]ru