Новости Семь месяцев воровали ключи от AWS — и сами оказались жертвой майнера и вымогателей. Карма работает

NewsMaker

I'm just a script
Премиум
27,609
46
8 Ноя 2022
Специалисты восстановили всю инфраструктуру кибератак, не взломав ни одной жертвы.


awtu3p3560b6h0dhrotkx2zh9lwt4r2f.jpg

Специалисты VulnCheck случайно вышли на целую преступную инфраструктуру, начав проверять подозрительные подключения к своим ловушкам. Сначала в поле зрения попали 27 IP-адресов из одной сети, которые атаковали одну и ту же уязвимость. Дальнейший анализ показал, что за ними скрывался не набор случайных серверов, а организованный кластер для кражи облачных учётных данных .

Отправной точкой стали атаки на CVE-2026-21859 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N — 5.8 Medium), уязвимость в Mailpit, инструменте для тестирования электронной почты. Все 27 адресов находились в одной подсети и использовали похожие сертификаты с именами вида pkNN@. По временным меткам удалось проследить активность с ноября 2025 года по апрель 2026 года.

Затем специалисты сопоставили данные с уязвимыми узлами в интернете. Три сетевых признака, связанные с настройками SSH, особенностями ответа TCP и отпечатком TLS на порту kubelet, резко сузили круг поиска. По отдельности такие признаки встречались у тысяч и даже миллионов серверов, но вместе дали всего 21 совпадение по всему миру.

Так удалось найти не только часть уже замеченных атакующих машин, но и два узла, которые ловушки VulnCheck раньше не видели. Один оказался управляющим узлом кластера Kubernetes , который координировал работу, но сам не сканировал цели. Второй, вероятно, был рабочим сервером, который ловушки VulnCheck ещё не замечали.

Изучив подсеть, специалисты нашли 25 одинаковых одностраничных веб-приложений на Vite и React с заголовком MeowProject. Все они использовали один и тот же ключ SSH и совпадали по сетевым признакам с атакующей инфраструктурой. На управляющем узле также обнаружилось приложение Cluster Monitor на порту 30010. Его открытая точка проверки состояния сообщала о подключении к MongoDB.

Проверив дальше, специалисты убедились, что кластер использовал Cilium, сетевой слой для Kubernetes. Операторы явно пытались защитить инфраструктуру. Доступ к kubelet требовал проверки подлинности, интерфейс наблюдения Hubble был закрыт взаимным TLS, а сервер программного интерфейса Kubernetes не был доступен извне.

Главной целью операции, судя по найденным данным, была кража облачных учётных данных. На управляющем узле работал набор портов в диапазоне 20001–20057. При подключении обработчик последовательно отправлял команды для чтения файлов с учётными данными AWS, настроек Git, переменных окружения и данных из служб метаданных Amazon EC2 и ECS/Fargate.

Каждый шаг завершался маркером вида _*HP_DONE*<hex>. VulnCheck считает этот шаблон полезным индикатором компрометации. Его можно искать в сетевом трафике и данных с конечных устройств, поскольку конкретный шестнадцатеричный суффикс менялся, но сама структура маркера сохранялась.

Логика атак хорошо совпадала с набором используемых уязвимостей. Инфраструктура атаковала Gravity SMTP, LiteSpeed Cache , Laravel, PHPUnit, Mailpit и маршрутизаторы Cisco RV320. За исключением сетевого оборудования Cisco, все перечисленные продукты часто встречаются в средах разработки, на облачных серверах и в контейнерах, где могут храниться ключи доступа к облачным сервисам.

Самая ироничная часть истории обнаружилась позже. Среди узлов той же подсети нашлись два сервера, связанные с продуктом Diony для управления рестораном и клиентским сервисом Soka. В открытом доступе о такой компании почти не было следов, а на серверах работали MongoDB и Redis без проверки подлинности.

Один Redis-сервер хранил 15 активных хешей токенов обновления пользовательских сеансов. Второй уже использовал посторонний майнер. Злоумышленники записали задания в Redis так, чтобы закрепиться через планировщик задач, а процесс майнера замаскировали под kworker, название, похожее на служебные процессы ядра Linux.

MongoDB тоже уже успели взломать. В базе лежала записка с требованием выкупа в 0,0068 BTC. Через пять дней требование обновили до 0,0074 BTC, но из-за падения курса биткоина сумма в долларах даже немного снизилась.

По версии VulnCheck, атакующая инфраструктура пыталась получать обратные командные оболочки на взломанных серверах и перенаправлять их на управляющий узел. Операторские панели, вероятно, показывали новые подключения, украденные учётные данные и состояние всей сети. Библиотека socket.io в клиентской части указывала на то, что события поступали в реальном времени, без постоянного ручного обновления интерфейса.

Вся подсеть исчезла 8 июня 2026 года. Специалисты продолжили искать похожие сертификаты и совпадения по тем же сетевым отпечаткам, но новых следов пока не нашли. По их оценке, история показывает, как сочетание данных с ловушек и внешнего сканирования позволяет восстановить инфраструктуру преступной операции, не трогая жертв и не подключаясь к их системам.
 
Источник новости
www.securitylab.ru

Похожие темы