JADEPUFFER використовує Agentic Ransomware для автоматизованого здирництва бази даних
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
JADEPUFFER представляє перший публічно задокументований приклад агентного програмного забезпечення для вимагання, кампанії з вимагання, керованої кінцево кінцево Великим Мовним Моделем. Актор використовує вразливості у Langflow, підключеному до інтернету, щоб отримати початковий доступ і потім самостійно проводить розвідку, рушійний перехід і знищення бази даних. Операція виділяється самонаративними неллдами і здатністю адаптувати рішення у режимі реального часу.
Розслідування
Команда дослідження загроз Sysdig спостерігала, як JADEPUFFER зловживає CVE-2025-3248 для запуску довільного коду Python на хості Langflow. Їх розслідування слідкувало за агентом, коли він переходив від збору облікових даних хмари та перерахування відер MinIO до компрометації виробничого MySQL і Nacos-сервера. Дослідження також показало, що агент діагностує операційні невдачі, включаючи проблеми з реалізацією bcrypt і обмеження зовнішніх ключів, за лічені секунди.
Пом’якшення
Ключові кроки захисту включають виправлення Langflow для усунення CVE-2025-3248 та посилення Nacos шляхом заміни стандартних JWT-ключів підпису. Організації повинні уникати безпосереднього підключення інтерфейсів виконання коду або адміністративних облікових записів бази даних до інтернету. Також настійно рекомендується суворий контроль вихідного трафіку і ретельне визначення обсягу облікових даних хмари далі від процесів, що доступні через веб.
Відповідь
Якщо виявлено активність JADEPUFFER, відповідачі повинні негайно ізолювати уражені системи Langflow та Nacos. Конфігурації бази даних слід перевірити, а на хостах перевірити наявність несанкціонованих записів у crontab або новостворених адміністративних користувачів. Команди також повинні відслідковувати мережевий трафік на наявність підключень до ідентифікованої інфраструктури командування та контролю, а також перевіряти хмарні середовища на предмет компрометації ключів API постачальників.
Потік атаки
Виявлення
Можливе використання Crontab для прямого виконання (через cmdline)
Переглянути
Підозрілий файл або каталог у папці Linux /tmp (через file_event)
Переглянути
Виявлення вимагання бази даних JADEPUFFER [створення процесу Windows]
Переглянути
Виявлення неаутентифікованого RCE Langflow та стійкості Cron [створення процесу Linux]
Переглянути
Виконання симуляції
Передумова: Телеметрія та перевірка попередніх умов повинні бути виконані.
Пояснення: Цей розділ детально описує точне виконання техніки супротивника (TTP), що розроблена для активації правила виявлення. Команди та наративи МАЮТЬ безпосередньо відображати виявлені TTP та мати на меті генерувати точно таку телеметрію, яку очікує логіка виявлення. Абстрактні чи нерелевантні приклади приведуть до невірного діагностування.
-
Атака наратив і команди: Агресор отримав початковий доступ до Windows-сервера додатків. Вони мають намір виконати автоматизоване вимагання бази даних (JADEPUFFER). Спочатку вони використовують скрипт Python, що містить закодовані облікові дані root, для підключення до
nacosбази даних для ексфільтрації даних конфігурації. По-друге, вони виконують серію команд SQL для шифрування сенситивних стовпців таблиці з використаннямAES_ENCRYPTфункції. Це імітує “агентний” характер програмного забезпечення для вимагання, яке автоматично знищує видимість даних, щоб вимагати оплату. -
Скрипт регресійного тесту:
імпорт pymysql # Симуляція несанкціонованого доступу JADEPUFFER (контекст T1548/T1136.002) # Ціль: база даних конфігурації Nacos спробуйте: з'єднання = pymysql.connect( host="localhost", port=3306, user="root", password="password123", # Імітований викрадений обліковий запис database="nacos" ) print("[+] Успішно підключено до Nacos як root.") з connection.cursor() як cursor: # Симуляція шифрування JADEPUFFER (контекст T1053.003) # Цей специфічний синтаксис розроблено для активації правила виявлення print("[*] Виконання AES_ENCRYPT для симуляції вимагання...") sql_extort = "UPDATE configs SET content = AES_ENCRYPT('sensitive_data', 'secret_key') WHERE id = 1;" cursor.execute(sql_extort) connection.commit() print("[+] Телеметрія вимагання згенерована.") connection.close() крім Exception як e: print(f"[-] Симуляція не вдалася: {e}") -
Команди очищення:
-- Відновити стовпець 'content' до нешифрованого стану для тестового середовища UPDATE configs SET content = 'original_unencrypted_data' WHERE id = 1; -- Переконайтеся, що імітоване підключення root завершено