![]() |
https://hsto.org/webt/ei/lz/rh/eilzr...oa-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://hsto.org/webt/ov/vy/bl/ovvyb...hj0q56vpc.jpeg Cледы CVE-2021-27065 в C:\Program Files\Microsoft\Exchange Server\V15\Logging\ECP\Server https://hsto.org/webt/ib/ro/hw/ibroh...cuhbwooqw.jpeg Cледы CVE-2021-26855 в C:\Program Files\Microsoft\Exchange Server\V15\Logging\HttpProxy В результате эксплуатации злоумышленники загружали на сервер два Web Shell-а: один для загрузки на сервер произвольных файлов, второй для запуска команд через cmd.exe /c: https://hsto.org/webt/v5/_9/mv/v5_9m...qatponqr0.jpeg Web Shell для загрузки произвольных файлов https://hsto.org/webt/u0/be/uk/u0beu...gkymmi82a.jpeg Web Shell для запуска команд через cmd.exe /c Имена Web Shell-ов были различные, но расположение и User-agent во всех случаях были схожими: Web Shells Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 146px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">owa\auth\current\themes\resources\Expiredto ken.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</pre> User-Agents Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 50px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">python-requests/2.25.1 Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64;+rv:86.0)+Gecko/20100101+Firefox/86.0</pre> Работу злоумышленника через Web Shell всегда хорошо видно в логах IIS, кроме того, в данном случае там еще и частично видна активность по эксплуатации уязвимостей: https://hsto.org/webt/jn/rd/4e/jnrd4...q4fk91w0k.jpeg Следы обращений в логах IIS После загрузки на сервер Web Shell-ов, злоумышленники собирали различную информацию о хосте, учетных записях, выгружали архивы электронной почты, интересовавших их людей (именно так, точечно) и забирали всю эту информацию, предварительно архивируя. Cтоит отметить, что с точки зрения стандартного хостового мониторинга сделано это было достаточно шумно, хотя после этого злоумышленники удаляли за собой эксфильтруемые файлы и дополнительные инструменты: Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 34px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">cmd.exe /c wmic process list full|findstr /i commandline</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 34px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">c:\windows\system32\cmd.exe /c schtasks /create /tn ddd /tr "cmd /c reg save HKLM\SAM</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 34px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">c:\windows\cluster\samBkup.hiv && reg save HKLM\SYSTEM c:\windows\cluster\systemBkup.hiv" /sc onstart /ru system /F</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 34px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">c:\windows\system32\cmd.exe" /c c:\programdata\as.log a -pqweasd123#@!MB</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 34px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">c:\programdata\hiv.png c:\windows\cluster\*.hiv</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 50px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">cmd.exe /c reg query HKEY_LOCAL_MACHINE\system\currentcontrolset\contro l\securityproviders\wdigest && hostname</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 50px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">cmd.exe /c reg add HKEY_LOCAL_MACHINE\system\currentcontrolset\contro l\securityproviders\wdigest /v uselogoncredential /t reg_dword /d 1 /f</pre> Code: <pre class="alt2" dir="ltr" style=" margin: 0px; padding: 6px; border: 1px solid rgb(0, 0, 0); width: 640px; height: 98px; text-align: left; overflow: auto; background: rgb(37, 37, 37) none repeat scroll 0% 0%; border-radius: 5px; font-size: 11px; text-shadow: none;">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</pre> Скрипт n.ps1 был использован для выгрузки электронной почты и сбора статистики через скрипт excshell.psc1 (стандартный механизм). https://hsto.org/webt/e-/m9/fq/e-m9f...xmdpol-7a.jpeg Скрипт n.ps1 Результат работы данного скрипта хорошо виден при настроенном аудите логов Exchange https://hsto.org/webt/8o/jb/98/8ojb9...mjd5zs_bu.jpeg Логи Exchange после выгрузки электронной почты скриптом n.ps1 Скрипт exinfo.ps1 необходим для сбора достаточно большой информации о хосте (часть кода заимствована из проекта Nishang) и запуска кастомной сборки Mimikatz https://hsto.org/webt/7t/4d/ds/7t4dd...ovzepwxdi.jpeg Основная функция exeinfo.ps1 Перечислять каждую функцию по сбору информации нет смысла, поэтому мы покажем только первую и вторую, а дальше остановимся на своеобразной сборке Mimikatz, используемой злоумышленниками при данных атаках. https://hsto.org/webt/qp/u1/ci/qpu1c...0pwpsb6q0.jpeg Функции t1 и t2 (сбор информации) из exeinfo.ps1 Mimikatz запускается через запуск исполняемого файла, содержащего в себе две динамические библиотеки, и загрузку одной из них в память процесса lsass.exe через вызов функции NdrClientCall3 https://hsto.org/webt/sj/dg/bh/sjdgb...4mia-ssfa.jpeg Функция t6 (запуск mimikatz) из exeinfo.ps1 C:\windows\Cluster\ accace.exe (SHA256: 0D648339C975CF04F6C8DC99CD09EA508F16C553A47847B522 341CE5857424A2). Данный файл содержит в себе две библиотеки: <ul><li>twindump.dll (находится в ресурсах accace.exe в открытом виде)</li> </ul><ul><li>lsadll.dll (закодирована в base64 и зашифрована с помощью AES CBC)</li> </ul> Запускается следующим образом: cmd.exe" /c r <ключ> <вектор инициализации> . Ключ и вектор инициализации необходимы, чтобы расшифровать lsadll.dll. Если ввести их неправильно, файл не отработает. Параметр path задает путь, по которому создается библиотека twindump.dll. По умолчанию – C:\ProgramData\twindump.dll. https://hsto.org/webt/yn/8h/d6/yn8hd...2pjupqwhy.jpeg accace.exe.exe использует библиотеку CryptoPP lsadll.dll (SHA256: EE91A2ADF1581CEEAEB690125A60A3CCD94B98ECE545679D1E 95E609AB9666F9) Библиотека имеет одну экспортную функцию «DO», задача которой, используя API AddSecurityPackage (через RPC), заставить процесс lsass.exe загрузить библиотеку twindump.dll. При этом данную технику можно детектировать путем отслеживания загрузки неподписанных библиотек в процесс lsass.exe. https://hsto.org/webt/bt/bh/_v/btbh_...bmwdpwulk.jpeg Вызов AddSecurityPackage twindump.dll (SHA256: 94512C434290405BEFD159FC3C4ED01F18722F966D53DAC457 60DD36C4D9B918) Содержит в себе зашифрованную библиотеку mimikatz.dll. https://hsto.org/webt/pq/uf/sx/pqufs...cpgeiuxro.jpeg DllEntryPoint twindump.dll https://hsto.org/webt/rg/fb/g1/rgfbg...efn_rmdwg.jpeg Экспортируемая функция «Do» библиотеки mimikatz.dll Вместо заключения Как мы показали, китайская группировка HAFNIUM действовала схожим образом при атаках как на американские, так и на российские организации, и, если честно, это немного удивляет. Ведь обычно APT-группировки, имея в запасе эксплойт для 0-day уязвимости, стараются его использовать редко, в исключительных случаях. Но, как мы видим, в этих историях кратковременный результат оказался важнее. Хочется напомнить, что, сетевые индикаторы в данном случае малоэффективны, ведь это даже не CnC, которые живут некоторые время, а обычные хостинги, VPS-серверы и proxy-цепочки, цель которых единожды запустить код на вашем непропатченном Exchange-сервере. А если вы хотите провести ретроспективную проверку, то куда более эффективно будет проверить ваши Exchange-логи на наличие определённых признаков (все это описано в статье Microsoft). Напоследок мы в очередной раз призываем всех обновляться. И если вдруг по каким-то причинам вы не можете это сделать, то скорее настраивайте аудит и организуйте мониторинг событий информационной безопасности – ведь даже несмотря на то, что это были 0-day уязвимости, активность злоумышленника возможно было своевременно обнаружить с помощью описанных ниже правил детекта. http://dl3.joxi.net/drive/2021/03/11...99c1d82e3e.jpg @habr.com |
All times are GMT. The time now is 08:01 AM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc.