В блоге компании Sysdig вышел пост о первой хорошо задокументированной агентной ransomware-кампании JADEPUFFER

В блоге компании Sysdig вышел пост о первой хорошо задокументированной агентной ransomware-кампании JADEPUFFER

В блоге компании Sysdig вышел пост о первой хорошо задокументированной агентной ransomware-кампании JADEPUFFER. Суть там в следующем. Первоначальный доступ злоумышленники получили через опубликованный в Интернет сервер Langflow (платформа для создания и развертывания AI-агентов и workflow), проэксплуатировав уязвимость CVE-2025-3248. Эта уязвимость позволяет удалённому неаутентифицированному атакующему с помощью специально сформированного HTTP-запроса выполнить на сервере произвольный код. Далее злоумышленники запустили адаптивную и полностью автоматизированную кампанию, дошли до целевой системы и пошифровали базу данных продакшена. 🤖🤷‍♂️ При компрометации базы эксплуатировалась уязвимость обхода аутентификации в Nacos (CVE-2021-29441). Nacos - платформа для динамического обнаружения сервисов, управления конфигурациями и администрирования сервисов.

Эксперты Sysdig приводят следующие аргументы в пользу того, что эти действия выполнялись полностью автоматически:

🔻 Все полезные нагрузки доставлялись через RCE-уязвимость в Langflow в виде Python-кода, закодированного в Base64. Декодированные полезные нагрузки содержат большое количество комментариев, объясняющих, почему выполняется каждое действие. Там есть приоритизация целей по "окупаемости" (Return on Investment), определение "самой крупной" базы данных и описание назначения каждого шага. Люди обычно не добавляют комментарии к каждой команде вида python3 -c, а LLM делают это по умолчанию.

🔻 Слишком быстрая диагностика и исправление ошибок. Например, за 30-50 секунд был пройден полный цикл от неудачной попытки входа до диагностики причины ошибки, исправления кода и успешной аутентификации.

🔻 Во время атаки LLM читала обычный текст, найденный в системе, и принимала решения на его основе, а не просто искала совпадения по шаблонам. Такое поведение повторялось даже в разных сессиях с интервалом в несколько недель.

Ну и более 600 осмысленных пейлоадов, выполненных за короткий промежуток времени… Не очень похоже на человека с фиксированным набором утилит. 😉

Мораль? Если не будете детектировать и устранять уязвимости, мисконфигурации и прочие экспозиции, то вас рано или поздно взломают и пошифруют. Это произойдёт с нечеловеческой скоростью и эффективностью и не потребует от злоумышленника особой квалификации. 👾👻

Эксперты Sysdig описывают следующие этапы атаки (здесь я буду обозначать LLM-агента, проводившего атаку, тоже как "JADEPUFFER"):

1️⃣ Разведка и сбор учётных данных: сразу после получения возможности выполнять код JADEPUFFER начал собирать информацию о системе (id, uname -a, hostname, сетевые интерфейсы, процессы) и одновременно искать секреты разных типов, включая API-ключи LLM-провайдеров (OpenAI, Anthropic, DeepSeek, Gemini и других), облачные учётные данные (в том числе Alibaba, Aliyun, Tencent, Huawei, а также AWS, GCP и Azure), криптовалютные кошельки и seed-фразы, а также учётные данные баз данных и конфигурационные файлы.

2️⃣ Локальное извлечение данных: JADEPUFFER выгрузил внутреннюю PostgreSQL-базу данных Langflow, извлёк из неё учётные данные, API-ключи и пользовательские записи, сохранил их во временные локальные файлы, после чего просмотрел их и удалил временные локальные файлы.

3️⃣ Латеральное исследование внутренней инфраструктуры: JADEPUFFER просканировал внутреннее адресное пространство и выявил сервисы, доступные с хоста Langflow, проверив базы данных, объектное хранилище, хранилища секретов и эндпоинты обнаружения сервисов ("service-discovery endpoints"), оценивая их доступность и отклик с использованием учётных данных по умолчанию.

4️⃣ Доступ и извлечение данных из MinIO: JADEPUFFER получил доступ к объектному хранилищу MinIO, перечислил все бакеты и файлы, а затем обнаружил и извлёк конфигурационные файлы с учётными данными и секретами. Перечисление (enumeration) выполнялось итеративно и с самокоррекцией. Когда первая попытка с параметром ?format=json вернула XML, LLM сразу адаптировала XML-парсер под S3-схему ответа и повторно отправила запрос. Также происходило постепенное повышение уровня доступа: анонимная проверка состояния → информация административного API → аутентифицированный ListBuckets → целевой GetObject для файлов с названиями, указывающими на наличие учётных данных (credentials.json, .env).

5️⃣ Закрепление на хосте Langflow: JADEPUFFER добавил запись в crontab на сервере Langflow, которая каждые 30 минут отправляла "маячок" (beaconing) на инфраструктуру атакующего.

6️⃣ Компрометация целевой системы: JADEPUFFER получил доступ к продакшен-серверу с MySQL и Nacos, используя обход аутентификации и подделку JWT в Nacos (CVE-2021-29441 и связанные уязвимости), затем захватил управление конфигурационным сервисом через root-доступ к базе данных, зашифровал все конфигурации, удалил исходные данные, создал запись с требованием выкупа и в финале перешёл к массовому удалению баз данных.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *