
Весной 2025 года один из клиентов F6 зафиксировал попытку кибератаки на свои внешние сервера. Со списком IP-адресов, с которых велась атака, он обратился к аналитикам F6 Threat Intelligence за атрибуцией.
В результате тщательной проверки индикаторов компрометации (IoCs), анализа сетевого трафика, корреляции с внешними источниками Threat Intelligence и сопоставления выявляемых тактик, техник и процедур (TTP) злоумышленника мы вышли на след группировки Kinsing, которая прежде предпочитала действовать за пределами России, а в 2025 году устроила масштабные атаки на российские компании.
Группа Kinsing, известная также как H2Miner и Resourceful Wolf, действует с 2019 года. Специализируется на криптоджекинге, в первую очередь – на майнинге криптовалюты Monero, а также на создании и расширении ботнетов. Во втором квартале 2025 года департамент киберразведки (Threat Intelligence) компании F6 зафиксировал волну атак группировки Kinsing на российские компании из сфер финансов, логистики и телекома. Целью этих атак было заражение устройств вредоносным ПО Kinsing и Xmrig для майнинга криптовалют.
В этом отчёте мы подробно расскажем о ходе исследования – от исходных данных и применённых методов анализа до итоговой атрибуции атаки и предоставленных рекомендаций, – которое не только позволило установить злоумышленников, но и раскрыть попытки их атак на другие компании из России.
Идём по следу
Специалисты F6 ежедневно получают от компаний-клиентов обращения, связанные с угрозами информационной безопасности: от выявления подозрительной сетевой активности до анализа сложных кампаний, проводимых APT-группировками. Каждый такой случай требует детального технического анализа.
В апреле 2025 года аналитикам F6 Threat Intelligence поступил запрос, связанный с атрибуцией индикаторов компрометации, представленных в виде IP-адресов, которые клиент нашей компании получил из SIEM-системы: была зафиксирована попытка атаки, направленная на внешние сервера.
В качестве стартовой точки анализа и дальнейшего исследования мы использовали предоставленный клиентом список из 8 IP-адресов.
Анализируя полученные клиентом данные, каждый из IP-адресов мы проверили в открытой онлайн-песочнице. По результатам проверки все IP-адреса были помечены как вредоносные, с преобладанием классификаций «malicious» и «phishing».

Изученные комментарии комьюнити в открытой онлайн-песочнице указывали на следующие виды активности, проводимой с предоставленных IP-адресов.
Массовые попытки перебора учётных даных для доступа к SSH (brute-force).
Подозрительные запросы, характерные для сканирования уязвимостей.
Активность, схожая с автоматизированными скриптами, направленными на первичную разведку и эксплуатацию сервисов.
Подобная активность позволила нам сделать вывод: указанные IP-адреса, скорее всего – часть автоматизированной инфраструктуры, а именно – ботнета.

Также из комментариев комьюнити мы получили информацию о запросах, поступавших с хостов злоумышленников. Для обогащения данной информации мы проанализировали её с использованием поисковых систем.
Уже на второй и третьей позиции поисковой выдачи были найдены технические статьи и обсуждения, которые раскрывали суть активности: злоумышленники пытались эксплуатировать уязвимость CVE-2017-9841 в PHPUnit. Эта уязвимость позволяет выполнить произвольный PHP-код на сервере через файл eval-stdin.php, если он доступен извне.

Полученная на данном этапе информация требовала дальнейшего анализа. Дополнительный поиск по имеющимся индикаторам (в частности, IP-адресам) давал нам ряд косвенных данных.
Ряд исследуемых хостов оказался помечен как часть бот-сети.
Обнаружены обсуждения на форумах, в которых пользователи делились наблюдениями аналогичных атак, исходивших с тех же IP-адресов.

Продолжая рассматривать версию о том, что мы имеем дело с автоматизированной атакующей инфраструктурой — в частности, ботнетом, — мы обратились к открытым источникам, которые предоставляют информацию о сетевой активности и принадлежности хостов к известным бот-сетям.
Несмотря на то, что прямая атрибуция исследуемых хостов к конкретному ботнету или группировке не подтвердилась, анализ данных и тэгов дал дополнительно представление о характере их активности, а именно – связях с эксплуатацией всевозможных уязвимостей и проведением атак.
Эксплуатация уязвимостей веб-сервисов:
Path Traversal;
RCE в PHP-приложениях;
уязвимости в ThinkPHP и PHPUnit;
HTTP Request Smuggling;
атаки на CGI-интерфейсы.
Автоматизированные атаки и разведка, такие как:
SSH brute-force;
сканирование нестандартных портов (в т.ч. Telnet);
TLS/SSL fingerprinting.


На следующем этапе исследования мы проанализировали связи между IP-адресами атакующих, а именно проверили, принадлежит ли эта активность единой инфраструктуре, например, ботнету или управляемой злоумышленниками сетевой группе. В рамках этой задачи мы искали различные признаки взаимосвязи: принадлежность IP-адресов к одной автономной системе или подсети, совпадения TLS-сертификатов, одинаковые конфигурации веб-серверов, повторяющиеся заголовки HTTP-ответов, использование нестандартных портов и сервисов, а также возможные обратные DNS-записи или домены, связанные с этими хостами. Дополнительно нас интересовали характерные следы эксплуатации уязвимостей, которые могли бы указывать на шаблонное развертывание инструментов атаки.
Однако, несмотря на широкий спектр применённых инструментов и источников, установить однозначную связь между этими адресами нам не удалось. Не было зафиксировано ни общих доменов, ни пересечений в сертификатах, ни каких-либо устойчивых поведенческих паттернов, которые прямо указывали бы на централизованную инфраструктуру. Кроме того, мы не обнаружили какой-либо информации, связывающей данные хосты с каким-либо известным вредоносным ПО или группировкой.



Однако удача всё же нам улыбнулась. При анализе одного из исследуемых IP-адресов в очередной поисковой системе мы обнаружили информацию об открытом порте 2375. Это стандартный порт для Docker Remote API. Что особенно важно, в момент проведения атаки на клиента он был публично доступен без какой-либо аутентификации. Кроме того, на нём в указанный период времени запускались контейнеры.
Таким образом, мы получили важную зацепку: хост с публичным Docker, который, вероятно, использовался злоумышленником в рамках атаки. Эта инфраструктура либо находилась под его полным контролем, либо была предварительно скомпрометирована и использовалась для размещения полезной нагрузки и запуска промежуточных компонентов.

Мы продолжили изучение хоста с открытым Docker и проанализировали конфигурации развернутых на нём контейнеров. Один из них содержал в своей конфигурации явную команду на выполнение внешнего shell-скрипта, который загружался напрямую с хоста с IP-адресом 194.38.20.2. Подобный механизм часто используется для автоматического развёртывания второго этапа нагрузки. Такие скрипты позволяют атакующему модифицировать поведение контейнера, закрепиться в системе или развернуть полноценную управляющую инфраструктуру. В контексте атаки это могло быть как точкой входа, так и механизмом дальнейшего распространения или управления. Данный контейнер стал для нас ключевой находкой — он указывал на активное использование инфраструктуры, но и для развертывания элементов, прямо связанных с атакующей активностью.

Обнаруженная в контейнере команда устанавливает утилиты wget и cron, после чего запускается планировщик заданий, скачивается внешний скрипт d.sh с IP-адреса 194.38.20.2 и он сразу же передаётся на исполнение через shell.
В рамках дальнейшего исследования мы провели отдельный поиск по IP-адресу 194.38.20.2. В ходе анализа были обнаружены иные вредоносные файлы, ранее размещённые на этом хосте, включая bash-скрипты, конфигурационные и исполняемые бинарные файлы. Это указывало на использование данного хоста для распространения полезной нагрузки. Тем не менее связать данный адрес с конкретной группировкой или ботнетом нам не удалось. Ни по поведенческим признакам, ни по whois-информации, ни по данным репутационных платформ. Однако наличие набора вредоносных файлов, регулярно размещаемых на этом хосте, дало нам дополнительные индикаторы, которые мы использовали для дальнейшего анализа.

На следующем этапе мы скачали и детально проанализировали два файла, обнаруженных на хосте — d.sh и config.json.

Файл d.sh представляет собой объёмный shell-скрипт, содержащий более 800 строк кода. Основной функционал данного файла можно разделить на три части.
Отключение защитных механизмов. Скрипт отключает базовые элементы защиты системы и сети, включая правила iptables, AppArmor и другие компоненты, мешающие исполнению вредоносной активности.
Удаление конкурирующего вредоносного ПО. Особое внимание уделено зачистке среды от других вредоносов, в частности криптомайнеров и ботнетов. Скрипт завершает процессы, потребляющие значительные ресурсы, связанные с конкретными IP-адресами или именами процессов. Также производится удаление подозрительных файлов по ряду путей, очистка crontab, а также уничтожение Docker-контейнеров, в которых выявлена майнинговая активность;
Развёртывание собственного инструментария. После зачистки система заражается: скрипт загружает и запускает вредоносный бинарный файл kinsing — известный майнер и backdoor, активно использующий уязвимые Docker-хосты для распространения.
Параллельно мы проанализировали файл config.json. В нём содержались настройки для запуска майнера, включая адрес майнинг-пула и используемый криптовалютный кошелёк, что дало нам дополнительный IOC для дальнейшего поиска и отслеживания активности злоумышленников.

Кроме изучения конкретных загруженных файлов, мы продолжили сбор информации о хосте 194.38.20.2, с которого распространялся скрипт d.sh.
В процессе анализа обнаружилось характерное поведенческое правило: большинство вредоносных файлов имели имена, построенные по шаблону из одного или двух символов, за которыми следовало расширение .sh — например, a.sh, x.sh, ab.sh и т.д. Это дало основание предположить, что на сервере может находиться больше скриптов, не фигурирующих напрямую в обнаруженных конфигурациях.
Мы подготовили словарь возможных имён и провели фаззинг (метод тестирования программного обеспечения, который заключается в подаче на вход программы случайных, некорректных или неожиданных данных (fuzz) для выявления ошибок, уязвимостей или сбоев), в результате чего нам удалось обнаружить и выгрузить 90 различных файлов.
Продолжение отчёта об исследовании, в ходе которого аналитики F6 выявили вредоносные файлы и инфраструктуру группировки Kinsing, провели анализ её активности, разработали и внедрили правила хантинга, а также индикаторы компрометации, читайте в новом блоге на сайте F6.