![](https://habrastorage.org/webt/ei/lz/rh/eilzrhv-6nbrqpi7kboa-umkeqg.jpeg)
Важная новость в мире информационной безопасности появилась на прошлой неделе от компании Microsoft о том, что китайская группировка HAFNIUM атакует американские компании и организации с использованием 0-day уязвимости в Microsoft Exchange Server. Новость стала настолько резонансной, что ее транслировали даже федеральные каналы, а ведущие ИБ-компании незамедлительно публиковали подробности атак, которые они наблюдали (Volexity, Fireeye, Cisco Talos Intelligence Group).
Вопрос, который всю предыдущую неделю задавал себе, наверное, каждый специалист по ИБ в России: а как же мы? Нас тоже атаковали с использованием 0-day уязвимости? Спойлер – да. Технические подробности под катом.
В целом сценарий работы группировки HAFNIUM при атаках на российские компании схож с тем, что наблюдалось при атаках на американские организации. При этом мы немного дополним свои наблюдения интересными техническими деталями.
На момент получения образов жестких дисков часть логов и журналов безопасности, к сожалению, ротировалась, а восстановить их нам не удалось. Поэтому, например, следов эксплуатации CVE-2021-26857 в журнале безопасности Application, мы не обнаружили. Зато
CVE-2021-27065 и CVE-2021-26855 видно достаточно ярко.
![](https://habrastorage.org/webt/ov/vy/bl/ovvyblvp3unkx6burlhj0q56vpc.jpeg)
Cледы CVE-2021-27065 в C:\Program Files\Microsoft\Exchange Server\V15\Logging\ECP\Server
![](https://habrastorage.org/webt/ib/ro/hw/ibrohwnk3ss0mtz3nncuhbwooqw.jpeg)
Cледы CVE-2021-26855 в C:\Program Files\Microsoft\Exchange Server\V15\Logging\HttpProxy
В результате эксплуатации злоумышленники загружали на сервер два Web Shell-а: один для загрузки на сервер произвольных файлов, второй для запуска команд через cmd.exe /c:
![](https://habrastorage.org/webt/v5/_9/mv/v5_9mvuknrfmmxsvcoqatponqr0.jpeg)
Web Shell для загрузки произвольных файлов
![](https://habrastorage.org/webt/u0/be/uk/u0beuks52wxebjum3agkymmi82a.jpeg)
Web Shell для запуска команд через cmd.exe /c
Имена Web Shell-ов были различные, но расположение и User-agent во всех случаях были схожими:
Web Shells
owa\auth\current\themes\resources\Expiredtoken.aspx
owa\auth\current\themes\resources\owafont_ki.aspx
owa\auth\current\themes\resources\owafont.aspx
owa\auth\expire.aspx
owa\auth\owafont_ki.aspx
owa\auth\Expiredtoken.aspx
owa\auth\one.aspx
owa\auth\RedirSuites.aspx
User-Agents
python-requests/2.25.1
Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64;+rv:86.0)+Gecko/20100101+Firefox/86.0
Работу злоумышленника через Web Shell всегда хорошо видно в логах IIS, кроме того,
в данном случае там еще и частично видна активность по эксплуатации уязвимостей:
![](https://habrastorage.org/webt/jn/rd/4e/jnrd4egfgf4kzx2nrtq4fk91w0k.jpeg)
Следы обращений в логах IIS
После загрузки на сервер Web Shell-ов, злоумышленники собирали различную информацию о хосте, учетных записях, выгружали архивы электронной почты, интересовавших их людей (именно так, точечно) и забирали всю эту информацию, предварительно архивируя. Cтоит отметить, что с точки зрения стандартного хостового мониторинга сделано это было достаточно шумно, хотя после этого злоумышленники удаляли за собой эксфильтруемые файлы и дополнительные инструменты:
cmd.exe /c wmic process list full|findstr /i commandline
c:\windows\system32\cmd.exe /c schtasks /create /tn ddd /tr "cmd /c reg save HKLM\SAM
c:\windows\cluster\samBkup.hiv && reg save HKLM\SYSTEM c:\windows\cluster\systemBkup.hiv" /sc onstart /ru system /F
c:\windows\system32\cmd.exe" /c c:\programdata\as.log a -pqweasd123#@!MB
c:\programdata\hiv.png c:\windows\cluster\*.hiv
cmd.exe /c reg query
HKEY_LOCAL_MACHINE\system\currentcontrolset\control\securityproviders\wdigest && hostname
cmd.exe /c reg add
HKEY_LOCAL_MACHINE\system\currentcontrolset\control\securityproviders\wdigest /v uselogoncredential /t reg_dword /d 1 /f
rundll32.exe C:\Windows\System32\comsvcs.dll, MiniDump 848 c:\programdata\dm.bin full
cmd.exe /c powershell -execu bypass -f c:\programdata\n.ps1
cmd.exe /c powershell -exec bypass -w 1 -file c:\programdata\exinfo.ps1
Скрипт n.ps1 был использован для выгрузки электронной почты и сбора статистики через скрипт excshell.psc1 (стандартный механизм).
![](https://habrastorage.org/webt/e-/m9/fq/e-m9fqur3b0tdrjixdxmdpol-7a.jpeg)
Скрипт n.ps1
Результат работы данного скрипта хорошо виден при настроенном аудите логов Exchange
![](https://habrastorage.org/webt/8o/jb/98/8ojb98hwb_i6jxlbb5mjd5zs_bu.jpeg)
Логи Exchange после выгрузки электронной почты скриптом n.ps1
Скрипт exinfo.ps1 необходим для сбора достаточно большой информации о хосте (часть кода заимствована из проекта Nishang) и запуска кастомной сборки Mimikatz
![](https://habrastorage.org/webt/7t/4d/ds/7t4ddsv_-iuh9gxgjsovzepwxdi.jpeg)
Основная функция exeinfo.ps1
Перечислять каждую функцию по сбору информации нет смысла, поэтому мы покажем только первую и вторую, а дальше остановимся на своеобразной сборке Mimikatz, используемой злоумышленниками при данных атаках.
![](https://habrastorage.org/webt/qp/u1/ci/qpu1ci-71zdvlkd5ia0pwpsb6q0.jpeg)
Функции t1 и t2 (сбор информации) из exeinfo.ps1
Mimikatz запускается через запуск исполняемого файла, содержащего в себе две динамические библиотеки, и загрузку одной из них в память процесса lsass.exe через вызов функции NdrClientCall3
![](https://habrastorage.org/webt/sj/dg/bh/sjdgbhzoykz-6kxi0w4mia-ssfa.jpeg)
Функция t6 (запуск mimikatz) из exeinfo.ps1
C:\windows\Cluster\ accace.exe (SHA256: 0D648339C975CF04F6C8DC99CD09EA508F16C553A47847B522341CE5857424A2).
Данный файл содержит в себе две библиотеки:
- twindump.dll (находится в ресурсах accace.exe в открытом виде)
- lsadll.dll (закодирована в base64 и зашифрована с помощью AES CBC)
Запускается следующим образом: cmd.exe" /c r <ключ> <вектор инициализации> .
Ключ и вектор инициализации необходимы, чтобы расшифровать lsadll.dll. Если ввести их неправильно, файл не отработает. Параметр path задает путь, по которому создается библиотека twindump.dll. По умолчанию – C:\ProgramData\twindump.dll.
![](https://habrastorage.org/webt/yn/8h/d6/yn8hd6kt3w5xb7ss4r2pjupqwhy.jpeg)
accace.exe.exe использует библиотеку CryptoPP
lsadll.dll (SHA256: EE91A2ADF1581CEEAEB690125A60A3CCD94B98ECE545679D1E95E609AB9666F9)
Библиотека имеет одну экспортную функцию «DO», задача которой, используя API AddSecurityPackage (через RPC), заставить процесс lsass.exe загрузить библиотеку twindump.dll.
При этом данную технику можно детектировать путем отслеживания загрузки неподписанных библиотек в процесс lsass.exe.
![](https://habrastorage.org/webt/bt/bh/_v/btbh_vxbk2xbscq9vzbmwdpwulk.jpeg)
Вызов AddSecurityPackage
twindump.dll (SHA256: 94512C434290405BEFD159FC3C4ED01F18722F966D53DAC45760DD36C4D9B918)
Содержит в себе зашифрованную библиотеку mimikatz.dll.
![](https://habrastorage.org/webt/pq/uf/sx/pqufsxblmh_baidgyqcpgeiuxro.jpeg)
DllEntryPoint twindump.dll
![](https://habrastorage.org/webt/rg/fb/g1/rgfbg1bvpcdlyli5x8efn_rmdwg.jpeg)
Экспортируемая функция «Do» библиотеки mimikatz.dll
Вместо заключения
Как мы показали, китайская группировка HAFNIUM действовала схожим образом при атаках как на американские, так и на российские организации, и, если честно, это немного удивляет. Ведь обычно APT-группировки, имея в запасе эксплойт для 0-day уязвимости, стараются его использовать редко, в исключительных случаях. Но, как мы видим, в этих историях кратковременный результат оказался важнее.
Хочется напомнить, что, сетевые индикаторы в данном случае малоэффективны, ведь это даже не CnC, которые живут некоторые время, а обычные хостинги, VPS-серверы и proxy-цепочки, цель которых единожды запустить код на вашем непропатченном Exchange-сервере. А если вы хотите провести ретроспективную проверку, то куда более эффективно будет проверить ваши Exchange-логи на наличие определённых признаков (все это описано в статье Microsoft).
Напоследок мы в очередной раз призываем всех обновляться. И если вдруг по каким-то причинам вы не можете это сделать, то скорее настраивайте аудит и организуйте мониторинг событий информационной безопасности – ведь даже несмотря на то, что это были 0-day уязвимости, активность злоумышленника возможно было своевременно обнаружить с помощью описанных ниже правил детекта.
![image](https://habrastorage.org/webt/_4/0d/_f/_40d_f64g1z7vfxvfhoog4_9idk.jpeg)