PoeLLM нацеливается на раскрытую инфраструктуру ИИ
Black Lotus Labs отслеживает использование вредоносного ПО «PoeLLM», которое в настоящее время применяется в кампании по майнингу криптовалют и сканированию эксплойтов, направленной против корпоративной инфраструктуры ИИ и других приложений, включая наборы инструментов для разработки. Вредоносное ПО использует динамический фреймворк команд и управления (C2), который переводит слова и фразы из стихотворения, выложенных в репозиторий GitHub, на текущий C2-сервер актора с помощью пользовательского ключа конвертации.Большинство жертв, по-видимому, используют уязвимые версии открытых сервисов ИИ/LLM, таких как LiteLLM и Ollama. Вредоносное ПО также затронуло сотни серверов с открытым PDF-конвертером Gotenberg и инструментарией разработки программного обеспечения Gitea. Возможно, целью было и другое коммерческое программное обеспечение, включая Ivanti Sentry.
Активный как минимум с апреля 2026 года, вредоносное ПО продолжает заражать новых жертв, преимущественно в США и Западной Европе. Мы оцениваем, что PoeLLM ассоциируется с итальяноязычным злоумышленником и внедряется через эксплуатацию уязвимостей публичных сервисов. Вредоносное ПО также включает функцию преобразования жертв в сканеров уязвимостей, расширяя пул жертв за счёт прокси атак через скомпрометированные хосты.
Не удалось прогрузить медиа
Высокоцеленаправленный характер жертв PoeLLM показывает, что ИИ вызывает беспокойство не только из-за скорости развития и эксплуатации новых уязвимостей. Злоумышленники поняли, что серверы с реализациями ИИ/LLM являются привлекательными целями для компрометации — как из-за их ценности как источников информации, так и из-за привлекательности как самостоятельных, интернет-уязвимых сервисов с известными уязвимостями. В кампании Canto Incognito базовое оборудование GPU, обеспечивающее работу с ИИ, могло также стать привлекательной целью для коммерческого майнинга криптовалют. Поверхности корпоративных атак быстро расширяются по мере роста инфраструктуры ИИ, и новые инструменты часто остаются без мониторинга на наличие уязвимостей, несмотря на доступ к мощным вычислительным ресурсам и ценным корпоративным данным.
В рамках этого отчёта Black Lotus Labs заблокировала весь трафик на и от серверов PoeLLM C2 и продолжит мониторинг нового трафика. Клиенты Lumen Defender защищены от серверов PoeLLM с тех пор, как мы обнаружили это вредоносное ПО. Мы призываем команды по безопасности пересмотреть МОК и стратегии смягчения, перечисленные в конце этого поста.
Отслеживание открытия PoeLLM и роста ботнетов
Black Lotus Labs регулярно отслеживает новые уязвимости и угрозы, направленные на эксплуатацию периферийных устройств безопасности. Мы впервые столкнулись с инфраструктурой PoeLLM в ходе расследования уязвимости Ivanti Sentry CVE-2026-10520. В начале июня 2026 года скомпрометированная жертва Ivanti Sentry связалась с выделенным сервером по адресу 5.78.73[.]122. Вскоре после контакта с этим C2 жертва Ivanti Sentry начала сканировать на наличие других уязвимых устройств.Телеметрия Black Lotus Labs показала, что первый коммит на GitHub с поэмой, скрывающей адрес C2, был сделан 13 апреля. Ранний трафик с первого известного маршрутизатора C2 указывал на то, что оператор тестировал заражение и загрузку полезной нагрузки в течение короткого времени.
Оператор начал более широкое сканирование и эксплуатацию в мае, особенно против раскрытых сервисов, связанных с LiteLLM и Gotenberg. Заражённые серверы стали использоваться как дополнительные работники по сканированию и эксплуатации, что способствовало расширению майнингового ботнета. Повторяющееся использование маршрутизаторов с уязвимыми интерфейсами администрирования свидетельствует о том, что злоумышленники перепрофилировали скомпрометированные маршрутизаторы для обеспечения части своей инфраструктуры C2.
В разгар работы в середине июня кампания охватила почти 2200 затронутых серверов, из которых около 800 были активны в день. Более недавний трафик на SSH и другие порталы входа указывает на эксперименты с распределёнными атаками методом грубой силы. Однако зрелость этой способности остаётся неопределённой.
Не удалось прогрузить медиа
Рисунок 2: Количество жертв PoeLLM, апрель — сентябрь 2026
Обнаружение C2 в начале июня показало уже начавшуюся кампанию. VirusTotal сообщает по серверу на 5.78.73[.]122 указал несколько вредоносных URL, включая hxxp://5.78.73[.]122:81/private/python3.6 и hxxp://5.78.73[.]122:81/приват/bins.sh. Эти пути URL позже наблюдались и в других PoeLLM C2, включая 120.224.114[.]212.
Используя глобальную телеметрию потока сети Lumen, мы выявили более 1000 дополнительных IP-адресов, связанных с 5.78.73[.]122. Данные по обогащению устройств, включая открытые порты и баннеры, показали, что большинство этих IP-жертв использовали инструменты ИИ, такие как LiteLLM и Ollama, или другие открытые платформы с известными уязвимостями, включая Gitea и Gotenberg. В частности, руководство по установке Gotenberg содержит явное предупреждение не раскрывать сервис в интернете:
Не удалось прогрузить медиа
Рисунок 3: Взято из https://gotenberg.dev/docs/getting-started/installation
Помимо контакта с первоначальным C2, основным общим чертой среди первых 900 жертв был контакт с 5.180.174[.]162, конечной точке для российского сервиса криптомайнинга «Kryptex». Поиск VirusTotal файлов, относящихся к этому IP-адресу Kryptex, привёл нас к файлу ELF под названием «libgcrypt».
Содержимое файла «libgcrypt» является ключом к пониманию эффективного распространения PoeLLM. Вредоносное ПО включает удалённую оболочку, криптомайнеры Iron и XMRig, возможности HTTP/S сканирования и развертывание эксплойтов для уязвимых целей.
Не удалось прогрузить медиа
Рисунок 4: Обзор кампании Canto Incognito
Сказал вредоносный ПО: поэтический C2 от PoeLLM
Ключевым компонентом вредоносного ПО PoeLLM является интерпретация стихотворения, размещённого в репозитории GitHub пользователем «ejejejdfbbebe», которое используется для поиска текущего IP-адреса C2. Репозиторий является форком исходного кода сайта nodejs.org, хотя, похоже, вредоносное ПО не связано с кодом NodeJS или его сайтом. В файле под названием «dash.css», имени файла, отсутствующего в оригинальном nodejs.org хранилище, актёр разместил стихотворение под названием «О природе связи». Поэма из двух строф обновлялась 11 раз с момента первоначального выпуска 13 апреля 2026 года. Текущая версия стихотворения показана на рисунке 5:Не удалось прогрузить медиа
Рисунок 5: Стихотворение PoeLLM для открытия C2 по состоянию на сентябрь 2026 года
Вредоносное ПО содержит пользовательскую логику для анализа этого стихотворения и извлечения определённых слов/фраз, которые затем преобразуются в числа с помощью жёстко закодированного словаря в теле вредоносного ПО. Логика вывода C2 работает следующим образом:
Функция «extract_poem_phrase_field» извлекает из основной части стихотворения три слова/фразы, не чувствуя регистра:
- Слово 1: текст между «В безмолвном гудении» и «»
- Слово 2: текст между «каждым импульсом » и «threading»
- Слово 3: текст между «За стеной » и «»
- Найти «удалённых серверов»
- Идите назад к прежнему пустому пробелу
- Требуется, чтобы 4 байта перед словом были «the »
- Используйте слово после «the» как Слово 4
Не удалось прогрузить медиа
Рисунок 6: Разбивка ключа преобразования стихотворения C2 по образцу, найденному 23 июня 2026 года
Это обеспечивает устойчивую C2-коммуникацию с сервера-жертвы. Когда актёр создаёт новый сервер C2, ключевые слова стихотворения меняются в репозитории GitHub, и устройства жертвы автоматически получают новое местоположение C2. Актёр менял стихотворение 11 раз с момента первоначального коммита на GitHub, при этом каждая версия поэмы указывала жертвам новый сервер C2. Полный список серверов C2, использованных на сегодняшний день, можно найти в нашем репозитории на GitHub, ссылка которой находится в конце этого поста.
Не удалось прогрузить медиа
Рисунок 7: Недавний коммит к стихотворению C2 на GitHub, показывающий изменения ключевых слов
На момент написания создатель вредоносного ПО не изменил схему расшифровки стихотворения. Только ключевые слова менялись за 11 наблюдаемых нами итераций.
Происхождение вредоносного ПО
Первый коммит злоумышленника в репозитории GitHub состоялся 13 апреля 2026 года. Начальная цифра C2, расшифрованная из стихотворения, была 191.37.28[.]160 и, по-видимому, использовался для тестирования процесса заражения. IP-адрес геолокационировался на маршрутизатор в Бразилии, с открытым веб-сервером Boa на порту 2222. Страница администратора маршрутизатора на этом сервере была уязвима для CVE-2018-21027 и CVE-2018-21028, хотя мы не обнаружили прямых доказательств эксплуатации. Примерно через час после первоначального коммита в репозитории GitHub мы увидели, как IP-адрес C2 связывается с сервером, геолокационным в Италии (57.131.5[.]211:80). Этот сервер размещает домен «malwarescan[.]xyz», который был зарегистрирован в феврале 2026 года.
Соединение от первоначального C2 к серверу в Италии с доменным именем «malwarescan» было интересным, поскольку в выборке PoeLLM, рассмотренном Black Lotus Labs, были комментарии на итальянском языке, как показано ниже:
Не удалось прогрузить медиа
Рисунок 8: первоначальный контакт C2 с комментариями на итальянском языке
Мы не обнаружили других заметных связей с malwarescan[.]xyz API endpoint на порте 80, что указывает на то, что этот домен/сервис может принадлежать и управляться создателем PoeLLM.
После контакта с сервером «malwarescan» бразильский C2 начал получать входящие соединения от узлов Tor и нескольких других выделенных серверов, направленных на порт 81. Глобальная телеметрия по IP-магистрали и анализ вредоносного ПО показывают, что жертвам PoeLLM было поручено скачать вредоносные файлы с порта 81 на сервере C2, поэтому мы оцениваем, что эти коммуникации служили первичными тестами функции загрузки файлов.
Инфраструктура PoeLLM C2 и сеть жертв
После первоначальной волны тестирования в апреле 2026 года вредоносное ПО начало набирать жертв в мае. В стихотворение было внесено изменение, и последующий новый C2 был найден на 120.224.114[.]212. Этот IP геолокационируется в Китае и, как и оригинальный бразильский C2, упомянутый ранее, содержит уязвимый веб-сервер Boa с страницей администрирования маршрутизатора. Этот шаблон уязвимых страниц администратора маршрутизатора повторялся в более поздних серверах C2, заимствованных из стихотворения GitHub. Это говорит о том, что актор PoeLLM неоднократно использовал уязвимые маршрутизаторы, чтобы служить в качестве хостов вредоносного ПО и серверов C2, вместо того чтобы арендовать выделенные серверы для вредоносных целей.Скомпрометированный маршрутизатор C2 поддерживал постоянную связь с сервером, который геолокационировался в Италию, по адресу 185.119.19[.]171. Ранее на этом сервере размещались мониторинговые панели Prometheus и Uptime Kuma. Два других PoeLLM C2, подключённых к этому серверу: 5.78.73[.]122 и 178.128.14[.]204. Основываясь на итальянских артефактах, индикаторах netflow и сервисах, размещённых на этом сервере, мы с умеренной уверенностью оцениваем, что он служит административным интерфейсом PoeLLM для управления инфраструктурой C2 и ботнетом.
С появлением нового C2 в мае актёр PoeLLM начал использовать известные уязвимости для компрометации жертв. Основываясь на нашем анализе вредоносного ПО и глобальной телеметрии Lumen, участник изначально провёл сканирование уязвимых сервисов по всему интернету. Хотя было определено несколько портов, основными целями были порты 3000 и 4000, которые являются основными портами для реализаций Gotenberg и Lite
LLM соответственно.
Когда разведка выявляла уязвимую цель, сервер эксплойтов отправлял подготовленный POST-запрос на целевом устройстве, инструктив скачать файл с C2 на порте 81. Запрос POST на пример эксплуатации LiteLLM, найденный в одном конкретном образце PoeLLM, приведён ниже:
Не удалось прогрузить медиа
Рисунок 9: Фрагмент вредоносного ПО с POST-запросом, отправленным на уязвимое устройство
Злоумышленник перепрофилировал предыдущих жертв в серверы эксплойтов, и мы выявили значительные исходящие потоки с этих IP на порты 3000 и 4000 на целевых устройствах. Эти два порта являются портами прослушивания для Gotenberg и LiteLLM соответственно.
Основываясь на образце вредоносного ПО PoeLLM, рассмотренном Black Lotus Labs (6fab94577364beec314afae3b082dd680933f08a8349b9f35b92667e8231b501), конкретная конечная точка LiteLLM, нацеленная на злоупотребление — «/mcp-rest/test/connection», вероятно, была способом эксплуатации. Эта конечная точка упоминается в уязвимости LiteLLM для инъекции команд CVE-2026-42271.
После загрузки вредоносного ПО на сервер жертвы оно возвращалось к одному из нескольких портов C2: 3778, 5001, 5002 или 9999. С момента появления в апреле PoeLLM затронула почти 2 200 серверов жертв. В лучшие времена вредоносное ПО было активно почти на 800 серверах в день.
Ботнет заражённых жертв PoeLLM был использован как оружие для ряда случаев применения. Были замечены контакты ботов в сети с несколькими узлами в Kryptex[.]ru mining pool, предположительно через XMRig и Iron майнеры, содержащиеся в вредоносном ПО. В дополнение к уже упомянутой конечной точке Kryptex на 5.180.174[.]162:8029, мы также наблюдали, как жертвы связывались с номером 46.21.245[.]211:7029, где размещена edge-ru-07[.]kryptex[.]Сеть.
Самое интересное для форума LIMB:
Помимо майнинга криптовалют, многие боты PoeLLM были переоборудованы в серверы эксплуатации. После заражения несколько серверов жертв были завербованы в цепочку убийств эксплуатации. Помимо сканирования на наличие дополнительных жертв и направления уязвимых целей обратно к исходному C2, недавно были замечены пулы жертв, нацеливающихся на SSH-порты и другие порталы входа для уязвимых сервисов, что указывает на то, что оператор PoeLLM может экспериментировать с распределённым фреймворком перебора силы. Однако многие цели этой распределённой атаки были выделенными серверами в Италии. Мы оцениваем, что на момент написания этой структуры могла находиться на ранних стадиях разработки.
Источник: https://www.lumen.com/blog/en-us/canto-incognito-tracking-the-poellm-malware
👍28
😁4
😮6
🤔7
LIMB