В первой части этой статьи эксперт компании «Информзащиты» рассказал, как ему удалось отследить атаку группировки Winnti, «жертвами» которой становятся предприятия военно-промышленного комплекса, аэрокосмической отрасли, правительственные организации и разработчики ПО. Злоумышленники закрепляются в инфраструктуре организаций с целью вывода конфиденциальной информации. Анализ атаки помог автору обнаружить техники и тактики Winnti.
В этой части вы найдете описания утилит, используемых Winnti для «уклонения от защиты» и узнаете, как обезопасить данные.
Persistence (TA0003)
Для закрепления на зараженной машине злоумышленники использовали следующие техники:
-
Registry Run Keys / Startup Folder (T1547.001)
— при запуске вредоносной нагрузки, в зависимости от наличия прав, происходило создание ключа реестра в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Run или регистрация сервиса (службы). (Рисунок 2)
-
Create or Modify System Process: Windows Service (T1543.003)
— были зафиксированы запуски зараженных служб. (Рисунок 3)
-
Scheduled Task/Job (T1053)
— на множестве хостов было обнаружено создание задач в планировщике типа "\T01" под учетной записью System, которая выполнялась с одной из вредоносных нагрузок c:\windows\tasks\taskmgr.exe. (Рисунок 4)
Также в качестве механизма для закрепления в инфраструктуре злоумышленники использовали технику DLL Search Order Hijacking (T1574.001).
Согласно документации Microsoft, если приложение динамически загружает библиотеку DLL без указания полного пути, система Windows пытается определить ее расположение путем поиска в наборе каталогов. Если злоумышленник контролирует один из этих каталогов, он может подменить нужную DLL вредоносной копией, которая в итоге и будет загружена приложением. Если приложение будет запущено от имени администратора или системы, это может привести к локальному повышению уровня привилегий. Когда приложение динамически загружает библиотеку DLL без указания полного пути, система Windows пытается найти ее путем линейного поиска в определенном наборе каталогов (так называемый порядок поиска DLL). Если библиотеку удается обнаружить в порядке поиска DLL, она загружается. Однако если ее не удается найти ни в одном из каталогов порядка поиска DLL, система Windows сообщает о сбое загрузки DLL. Ниже указан порядок поиска DLL для функций динамической загрузки DLL LoadLibrary и LoadLibraryEx:
каталог, из которого загружено приложение;
системный каталог;
каталог 16-разрядной версии системы;
каталог Windows;
текущий рабочий каталог;
каталоги, содержащиеся в переменных средах PATH.
В нашем случае легитимные процессы c повышенными правами располагались в общедоступных директориях, что позволило злоумышленникам добавить в эти директории вредоносную нагрузку до получения специальных разрешений.
На большинстве обнаруженных зараженных хостов была зафиксирована загрузка вредоносных библиотек в легальные процессы Dr.Web и NVIDIA.
-
C:\Users\<имя пользователя>\AppData\Roaming\App\Dr.Web\frwl_svc.exe
— исполняемый файл PE формата принадлежит антивирусной программе Dr.Web. (Рисунок 5)
-
C:\Users\<имя пользователя>\\AppData\Roaming\App\Dr.Web\wtsapi32.dll
— вредоносная многофункциональная библиотека, принадлежащая ПО семейства Bisonal. (Рисунок 6)
-
C:\Windows\SysWOW64\config\systemprofile\Applications\NVIDIA64\NvContainer64.exe
— принадлежит программе NVIDIA и является частью программного обеспечения NVIDIA. (Рисунок 7)
-
C:\Windows\SysWOW64\config\systemprofile\Applications\NVIDIA64\version.dll
— вредоносная многофункциональная библиотека. (Рисунок 8)
-
C:\ProgramData\BitDefender\bdreinit.exe
— исполняемый файл PE формата принадлежит BitDefender. (Рисунок 9)
-
C:\Windows\Tasks\dbghelp.dll
— вредоносная многофункциональная библиотека. (Рисунок 10)
В директорию, в которой находились легитимные исполняемые файлы, помещались вредоносные библиотеки.
Вредоносные библиотеки на разных машинах имели уникальный хеш, потому что сборка происходила на конечных устройствах.
При запуске исполняемого файла с повышенными привилегиями из текущего каталога подгружалась вредоносная нагрузка. Далее происходило подключение к серверу управления. В совокупности исполняемый файл и вредоносная нагрузка позволяли злоумышленникам удаленно управлять скомпрометированными системами (создавать/завершать процессы, собирать информацию о системе, осуществлять операции с файлами и т.д.)
Инжектированные процессы запускали в системе аномальный svchost.exe без параметров, который в дальнейшем осуществлял вредоносную активность. Ниже представлен пример дерева процессов одной из скомпрометированных машин:
Defense Evasion (TA0005)
В качестве техники, использованной для «уклонения от защиты», злоумышленники применяли Masquerading: Match Legitimate Name or Location (T1036.005). Вредоносные процессы создавались таким образом, чтобы название частично или полностью совпадало с легитимным. На большом количестве хостов был зафиксирован запуск большого количества исполняемых файлов из директории:
C:\Windows\Tasks\taskmgr.exe
C:\Windows\Tasks\rar.exe
C:\Windows\Tasks\dwm.exe
C:\Windows\Tasks\tools.exe
Исследование артефактов, находящихся в директории c:\windows\tasks, позволило более детально изучить инструментарий, используемый злоумышленниками. Помимо исполняемых файлов, запуск которых из нетипичной директории привлек внимание аналитиков, были обнаружены файлы различных расширений.
Полезная нагрузка для использования техники DLL Search Order Hijacking (T1574.001) доставлялась на машины в формате jpg, что говорит нам об использовании техники Obfuscated Files or Information (T1027), именно поэтому хеш исполняемых файлов и библиотек на всех машинах отличаются, т.к. сборка производилась локально на машине.
C:\Windows\Tasks\11-30_17-39-35.jpg
C:\Windows\Tasks\11-30_17-39-26.jpg
C:\Windows\Tasks\11-30_18-15-52.jpg
Большинство из обнаруженного вредоносного ПО использует технику Indicator Removal on Host (T1070), что усложняет поиск исполняемых файлов на скомпрометированных машинах.
После выполнения вредоносного кода утилита сама удаляется с зараженной машины.
Discovery (TA0007)
На этапе разведки злоумышленники использовали различные стандартные системные утилиты Windows, утилиты из пакета Sysinternals, а также инструменты собственной сборки.
Для сбора информации о локальных и доменных пользователях в рамках техник Account Discovery (T1087) и Domain Groups (T1069.002) выполнялись команды:
net group;
net localgroup;
wmic computersystem get domain.
Злоумышленники собирали информацию о сетевых настройках (System Network Configuration Discovery (T1016) и соединениях на машине жертвы (Network Service Scanning (T1046) с помощью команд:
quser /server:;
netstat -ano -p tcp;
nslookup;
ping;
net use \\<IP-адрес>/do.
Сбор информации о процессах, запущенных на хостах производился с использованием команд с сохранением информации в отдельных файлах:
wmic /node: :<IP-адрес> process call create "cmd.exe /c c:\windows\nbtp.exe 10.200.[].1/16 /out >> c:\windows\win.db
Для разведки прав доступа пользователя к файлам, каталогам, ключам и разделам реестра, процессам и потокам использовалось ПО AccessChk из инструментария sysinternals.
Кроме стандартных утилит командной строки, злоумышленники проводили исследование с использованием специального ПО. На машинах фиксировался запуск утилит для сканирования сетевой инфраструктуры:
C:\Windows\Tasks\nbtp.exe - сканирует указанную подсеть по 445 порту, получает информацию о домене, имени машины, ОС, версии. При указании ключа /save сохраняет результаты в ту же папку с название result.txt;
C:\Windows\Tasks\cp.exe - сканер портов;
C:\Windows\Tasks\checkers.exe - сканер сети на наличие уязвимости CVE-2017-0144.
В процессе разведки злоумышленники собирали информацию о доменных пользователях и их авторизациях на машинах внутри сети. На системах с IP-адресами из списка ip.txt с помощью C:\Windows\SysWOW64\ce2.bat осуществлялось копирование журналов Security.evtx (данные сохранялись в формате C:\Windows\Tasks\10.13.[*].252.evtx.), после чего запускалась утилита dwm.exe. Исполняемый файл dwm.exe при запуске парсил из журналов безопасности информацию о логонах и сохранял в текстовые файлы в формате C:\Windows\Tasks\10.13.[*].252.txt.
Lateral Movement (TA0008)
Для горизонтального перемещения внутри сети злоумышленники использовали утилиту wmiexec.exe, входящую в состав пакета Impacket и предназначенную для удаленного выполнения команд на системах семейства Windows.
С помощью техники Pass-The-Hash на множестве машин осуществлялся запуск исполняемых файлов из директории C:\Windows\Tasks\ с NTLM-хешем пользовательского пароля (как локальных пользователей, так и доменных администраторов).
Таким образом запускался многофункциональный бэкдор семейства Bisonal – исполняемый файл taskmgr.exe.
После своего запуска файл подключался к серверу управления (путем соединения с одним из скомпрометированных серверов, на котором была расположена утилита для перенаправления трафика) и предоставлял злоумышленникам набор функций по управлению зараженным компьютером (создание/завершение процессов, сбор информации о системе, работа с файлами и т.д.).
Collection (TA0009)
Анализ действий злоумышленника показал, что основной целью AРТ являлась кража данных. Для вывода информации во внешнюю сеть использовалась собственная сборка архиватора C:\Windows\Tasks\rar.exe. Выводимые архивированные данные были зашифрованы и защищены паролем. Обнаруженные файлы имели вид:
e.part2.rar;
e.part3.rar;
e.part4.rar;
e.part5.rar.
После вывода информации во внешнюю сеть архивы автоматически удалялись, что усложняет оценку критичности украденной информации.
Command and Control (TA0011)
Для соединения с С2 злоумышленники использовали стандартные протоколы HTTP и HTTPS. Обнаруженные бэкдоры могут использовать TCP и UDP для соединения с C2, также конфигурация бэкдоров Winnti поддерживает указание нескольких C2 разных типов.
Заключение
Проанализировав информацию, можно сделать вывод, что злоумышленники имеют в арсенале собственный широкий инструментарий вредоносного ПО, который может постоянно изменяться. Также они применяют уже известный инструментарий, например, Sysinternals, Impacket, Bisonal. Как показывает оценка применяемых техник и тактик, основной целью злоумышленников является шпионаж с максимально долгим и незаметным закреплением в инфраструктуре с дальнейшим выводом конфиденциальной информации во внешнюю сеть. Своевременное выявление и расследование инцидентов проникновения в компанию позволяют предотвратить подобные сценарии и обнаружить аномальное поведение внутри инфраструктуры.
Для мониторинга вредоносной активности использовались события аудита ОС Windows, утилиты Sysmon из набора Sysinternals, логи сетевого оборудования.
Сбор IoС-ов позволил аналитикам провести работу по определению скомпрометированных хостов и предотвращению дальнейшего продвижения злоумышленников внутри сети.
Для мониторинга исполнения злоумышленниками вредоносной нагрузки использовался «UseCase: Мониторинг попыток инъекций/внедрения вредоносного кода в ОС».
С помощью «UseCase: Разведка ОС Windows» было зафиксировано выполнение команд для получения информации об инфраструктуре, что в дальнейшем позволило построить гипотезы о конечных целях злоумышленников.
Использование «UseCase: «Мониторинг аномалий в работах служб» выявило наличие подозрительных директорий, в которых содержались различные артефакты для дальнейшего анализа.
«UseCase: «Мониторинг извлечения учётных данных из операционной системы» выявил создание дампа Lsass.exe.
«UseCase: «Pass the Hash» выявил аутентификации пользователя без доступа к его паролю в открытом виде.
«UseCase: «Обнаружение запуска ПО для повышения привилегий, программ удаленного доступа, программ администрирования» выявил использование различных утилит повышения привилегий, получения учетных данных, ПО для удаленного доступа и управления, сканирования, ПО двойного назначения
В заключение хотелось бы дать несколько рекомендаций. Во-первых, если вы подозреваете, что в вашу сеть проникли, или вы подцепили шифровальщик, то как можно быстрее свяжитесь со специалистами по реагированию на компьютерные инциденты. Не нужно отключать интернет или пытаться самостоятельно бороться со с злоумышленниками. Зачастую в этих случаях возможно нанесение ущерба вашей инфраструктуре, например, массовое шифрование. Для предотвращения подобных инцидентов, безусловно, необходимо реализовывать комплексные меры обеспечения ИБ, к одной из первоочередных - можно отнести процессы мониторинга и реагирования на кибер инциденты. В случае недостатка собственных сил и средств на рынке РФ существует достаточное количество провайдеров МССП сервисов.
P.S.
Давно следите за этой темой и хотите присоединиться к работе на масштабных проектах, тогда мы ждем вас! Наш центр мониторинга IZ:SOC ведет активный набор кандидатов на вакансии аналитиков и специалистов по форензике. Если вам интересно - высылайте резюме на i.melekhin@infosec.ru.
IOCs
Адреса и имена командных центров:
45.89.229[.]225
154.95.16[.]191
46.17.248[.]46
176.119.159[.]134
46.17.248[.]59
85.117.234[.]24
check.adobe-online[.]com
vpk-worldnews[.]com
uacmoscow[.]com
online-offices[.]com
bluecat.mefound[.]com
videoservice.dnset[.]com
Обнаруженные файлы используемых при проведении атак:
c:\windows\tasks\conhest.exe
C:\Windows\Tasks\3.exe
C:\Windows\system32\config\systemprofile\AppData\Roaming\App\Dr.Web\frwl_svc.exe
C:\Windows\TEMP\lldwec.bat
C:\Windows\Tasks\cp.exe
C:\Windows\Tasks\tools.exe
c:\windows\tasks\tp.exe
C:\Windows\Tasks\ListenPort.exe
C:\Windows\Tasks\bl.exe
C:\Windows\Tasks\rar.exe
\Users\Public\e.part5.rar
C:\Windows\Tasks\dwm.exe
C:\Windows\Tasks\nbtp.exe
c:\Windows\tasks\msseces.exe
C:\Windows\Tasks\find.exe
C:\Windows\Tasks\pass.txt
C:\Windows\Tasks\tmp.bat
C:\Windows\Tasks\s.exe
C:\Windows\Tasks\nbtp.exe
C:\Windows\Tasks\taskmgr.exe
C:\Windows\Tasks\wmiexec.exe
C:\Windows\Tasks\repsw.exe
C:\Windows\Tasks\smbwin7.exe
C:\Windows\Tasks\user.txt
C:\Windows\Tasks\smit.exe
C:\\Windows\\Tasks\\repsw.exe
C:\\Windows\\Tasks\\sessionresume_tGPUZono
C:\\Windows\\Tasks\\hash.txt
C:\\Windows\\Tasks\\sessionresume_MMRuGwZy
C:\\Windows\\Tasks\\sdump.exe
C:\\Windows\\Tasks\\sessionresume_xdGDJoIJ
C:\\Windows\\Tasks\\checkers.exe
C:\\Windows\\Tasks\\smbwin7.exe
Обнаруженное ПО:
Name |
Description |
SHA-256 |
msseces.exe |
Отправляет данные на порт 8080 к С2, использовался для вывода скомпрометированной информации |
f115db547a5e497f1d55ca8645baaa365f72a2 f19fa556f05857ec11eefe6b89 c3bbc9bd75729e0354899314e9ac03de18edc 16627f5812bcab6011ae1db2e75 |
nbtp.exe |
Сканирует указанную подсеть по 445 порту, получает информацию о домене, имени машины, ОС, версии. При указании ключа /save сохраняет результаты в ту же папку с название result.txt |
b4955442557861acc1e48562f46410b4d632fa 0d18e9aa6453743dc81713aea3 |
cp.exe |
Сканер портов |
425daa74ff51bcdf3c20822020abd1916598f2 5b5c095f2505d148c6f32a218b |
dwm.exe |
Парсит из журналов безопасности информацию о логонах и сохраняет в текстовые файлы |
41cead7f01af194efa81b75bfcd1915615322b3 faf787f17f694138ca7a68e8b 3f7fc69c03da237812aef64599450775b9ac52d 54f838d74b7abb407d7ce1219 |
tp.exe |
Инструмент для подключения к прокси и удалённому хосту |
e97ff999d103c78e2e97139f5812a47d41ed35 550bfc242ee80070f945076cdf |
smit.exe |
Сканер. После своего запуска файл начинает прослушивать порт 443. В случае подключения клиента на этот порт, файл подключается к серверу С2 и перенаправляет сетевой трафик на этот сервер |
a5b75c7fd9a8a250c7cdf9a10516c30cc2058a ac80ec5770da7fc0f5352658e9 |
taskmgr.exe |
Многофункциональный бэкдор семейства Bisonal |
8a24c7c2aa637a0e3a82c1b129d09177acffeb 9536c6640f68c229ceb2659fa |
checkers.exe |
Сканер сети на наличие уязвимости CVE-2017-0144 |
45f8a19ce4bda85a3c175f0577395c131b520b 1acbdbe77e3cb2f4668c1b65de |
wtsapi32.dll |
Легитимный исполняемый файл frwl_svc.exe используется для запуска вредоносной нагрузки (wtsapi32.dll) методом DLL Hijacking. После своего запуска файл подключается к серверу управления vpk-worldnews[.]com и предоставляет злоумышленникам набор функций по управлению зараженным компьютером (создание/завершение процессов, сбор информации о системе, работа с файлами и т.д.). |
8e8845d3ed1844beff50d718654940d53895e 74417d39472ec2e34202f7e5e63 |
version.dll |
Легитимный исполняемый файл NvContainer64.exe используется для запуска вредоносной нагрузки (version.dll) методом DLL Hijacking. После своего запуска файл version.dll скачивает с сервера check[.]adobe-online[.]com и запускает исполнение вредоносного кода. |
508e42b77b442ca21be4ba017f304991362d1f 2c9c2e4b69c60c3333239fb5b3 |
MITRE ATT&CK Mapping
Tactics and techniques
Initial Access |
TA0001 |
T1566 |
Phishing |
Execution |
TA0002 |
T1203 |
Exploitation for Client Execution |
T1059.003 |
Command and Scripting Interpreter: Windows Command Shell |
T1059.005 |
Command and Scripting Interpreter: Visual Basic |
T1106 |
Native API |
Persistence |
TA0003 |
T1543 |
Create or Modify System Process |
T1053 |
Scheduled Task/Job |
T1543.003 |
Create or Modify System Process: Windows Service |
T1547.001 |
Registry Run Keys / Startup Folder |
T1574.001 |
Hijack Execution Flow: DLL Search Order Hijacking |
Privilege Escalation |
TA0004 |
T1055.001 |
Process Injection: Dynamic-link Library Injection |
Defense Evasion |
TA0005 |
T1036.003 |
Masquerading: Rename System Utilities |
T1036.005 |
Masquerading: Match Legitimate Name or Location |
T1140 |
Deobfuscate/Decode Files or Information |
T1027 |
Obfuscated Files or Information |
T1070 |
Indicator Removal on Host |
Credential Access |
TA0006 |
T1003.001 |
OS Credential Dumping: LSASS Memory |
Discovery |
TA0007 |
T1087 |
Account Discovery |
T1087.001 |
Local Account |
T1069.002 |
Domain Groups |
T1057 |
Process Discovery |
T1007 |
System Service Discovery |
T1518 |
Software Discovery |
T1016 |
System Network Configuration Discovery |
T1046 |
Network Service Scanning |
Lateral Movement |
TA0008 |
T1550 |
Use Alternate Authentication Material |
T1550.002 |
Pass the Hash |
T1021.001 |
Remote Desktop Protocol |
Collection |
TA0009 |
T1560.001 |
Archive Collected Data: Archive via Utility |
Command and Control |
TA0011 |
T1071.001 |
Application Layer Protocol: Web Protocols |
T1008 |
Fallback Channels |
grub-itler
Хэш отличается поскольку сборка проводилась локально из исходников, полученных по каналу с использованием обфускации?
PS. А чем собирали? Исходники получены?
IZ_SOC Автор
Мы не знаем, чем собирали (потому-что когда снимали дампы, за собой они уже всё подчистили). Мы наблюдали следующую последовательность : сначала на машину загружались jpg, потом на ней появлялась библиотека с вредоносной нагрузкой. Хеши у всех библиотек были разные. Процесс сборки библиотеки и что было в jpg установить не удалось.
grub-itler
Хэш можно изменить на коленке с помощью hex-редактора, ну либо open/read/seek/write. Подпись при этом поплывет, конечно, но работоспособность сохранится.