В первой части этой статьи эксперт компании «Информзащиты»  рассказал, как ему удалось отследить атаку группировки Winnti, «жертвами» которой становятся предприятия военно-промышленного комплекса, аэрокосмической отрасли, правительственные организации и разработчики ПО. Злоумышленники закрепляются в инфраструктуре организаций с целью вывода конфиденциальной информации. Анализ атаки помог автору обнаружить техники и тактики Winnti.  В этой части вы найдете описания утилит, используемых Winnti для «уклонения от защиты» и узнаете, как обезопасить данные.  Для закрепления на зараженной машине злоумышленники использовали следующие техники: 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 без параметров, который в дальнейшем осуществлял вредоносную активность. Ниже представлен пример дерева процессов одной из скомпрометированных машин: В качестве техники, использованной для «уклонения от защиты», злоумышленники применяли 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), что усложняет поиск исполняемых файлов на скомпрометированных машинах. После выполнения вредоносного кода утилита сама удаляется с зараженной машины. На этапе разведки злоумышленники использовали различные стандартные системные утилиты 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. Для горизонтального перемещения внутри сети злоумышленники использовали утилиту wmiexec.exe, входящую в состав пакета Impacket и предназначенную для удаленного выполнения команд на системах семейства Windows. С помощью техники Pass-The-Hash на множестве машин осуществлялся запуск исполняемых файлов из директории C:\Windows\Tasks\ с NTLM-хешем пользовательского пароля (как локальных пользователей, так и доменных администраторов). Таким образом запускался многофункциональный бэкдор семейства Bisonal – исполняемый файл taskmgr.exe. После своего запуска файл подключался к серверу управления (путем соединения с одним из скомпрометированных серверов, на котором была расположена утилита для перенаправления трафика) и предоставлял злоумышленникам набор функций по управлению зараженным компьютером (создание/завершение процессов, сбор информации о системе, работа с файлами и т.д.). Анализ действий злоумышленника показал, что основной целью AРТ являлась кража данных. Для вывода информации во внешнюю сеть использовалась собственная сборка архиватора C:\Windows\Tasks\rar.exe. Выводимые архивированные данные были зашифрованы и защищены паролем. Обнаруженные файлы имели вид: e.part2.rar; e.part3.rar; e.part4.rar; e.part5.rar. После вывода информации во внешнюю сеть архивы автоматически удалялись, что усложняет оценку критичности украденной информации. Для соединения с С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.  Адреса и имена командных центров: 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 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