// Безопасность

Ботнет Carbonato ставит на хост не майнер, а автономного ИИ-агента. Имплант теперь думает

cover carbonato ai agent payload

Ботнет Carbonato пробивается в открытые Docker-демоны так же, как это делала сотня майнинг-червей до него. Внимания заслуживает то, что он оставляет после себя: не майнер, а автономного ИИ-агента, который живёт на скомпрометированном хосте, получает команды через Telegram и по инструкции собирает учётные данные и делает всё, что скажет оператор. О ботнете сообщила ThreatDown 28 сентября, и это самый наглядный пример сдвига, который мы отслеживаем: ИИ-агент — это больше не удалённый инструмент атакующего, а сам имплант.

Мы в SecurityLab строим наступление против агентных противников и защиту, которая их ловит, поэтому здесь важнее механизм, чем имя ботнета. Carbonato — это один экземпляр быстро расползающегося паттерна, и полезная нагрузка в нём — это универсальный автономный оператор, сидящий внутри вашей инфраструктуры.

Цепочка атаки Carbonato: от открытого Docker-демона на порту 2375 до автономного ИИ-агента, управляемого через Telegram

Вход старый. Полезная нагрузка новая.

Точка входа — это знакомая ошибка конфигурации: неаутентифицированные Docker-демоны, выставленные на порт 2375. Найдя такой, Carbonato отрабатывает стандартный сценарий выхода из контейнера. Запускает привилегированный контейнер, выполняет команды на хост-системе, поднимает обратный SSH-туннель к релею (по инфраструктурным зацепкам операторы, вероятно, из Коста-Рики), ставит SSH-сервер с ключами оператора и рапортует о свежем заражении в Telegram с деталями контейнера. И червится: каждые пять минут сканирует соседние сети на новые открытые Docker-демоны.

Ничего нового в этом нет. Открытый 2375 — это известный плацдарм уже много лет, и это ровно то, что аудит безопасности сети и тест внешнего периметра вскрывают в первый же день. Если вы держите Docker и ни разу не давали кому-то проверить, что реально выставляют наружу ваши сокеты демона и привилегии контейнеров, этот ботнет напоминает: за вас это проверяет интернет, каждые пять минут.

Полезная нагрузка: ИИ-агент, которому сказали быть хакером

Вот что делает Carbonato достойным разбора. Основная полезная нагрузка — это Hermes Agent, опенсорсный фреймворк ИИ-агентов, развёрнутый с кастомным промптом на 39 строк. Промпт велит агенту выполнять задачи, приходящие через Telegram, держать персистенцию и собирать учётные данные. Работает он под кастомной персоной «GH0ST», которая описывает себя как старшего хакера, пентестера и разработчика эксплойтов, с директивами держаться в системе, отвечать через Telegram и выполнять любую операцию, которую запросит оператор, без этических ограничений.

Операционно это командный цикл: получить задачу из Telegram, переслать её на LLM-шлюз, получить терминальные команды, выполнить их на хосте, вернуть результат в Telegram. Персистенция держится на cron-задачах и watchdog-скриптах, которые перезапускают агента, если его удалили, а сам он маскируется под системный компонент. Иначе говоря, атакующему не пришлось писать функциональный RAT. Он сбросил рассуждающего агента, дал ему персону и абзац инструкций, и теперь у него на машине универсальный оператор, способный импровизировать против всего, что найдёт.

В этом и переформулировка. Традиционный имплант делает то, на что его скомпилировали. Этот делает то, что LLM сочтёт следующим разумным шагом к цели оператора, на инфраструктуре, которую он видит впервые. Ставился он из неаутентифицированного Docker-реестра, который, по данным ThreatDown, был открыт с мая и держал заодно отдельную кампанию по распространению троянизированного крипто-кошелька. Тот же паттерн небрежной экспозиции питает всю операцию.

Это паттерн, а не единичный случай

Carbonato — это один узел в волне кампаний «агент как оператор» 2026 года, и паттерн достаточно устойчив, чтобы пересобрать вашу модель угроз:

  • knaithe / KnYuan (июль, база в Китае, по Unit 42): Hermes Agent, управляющий DeepSeek через Telegram, перечислял цели, доставал эксплойт-тулинг и вёл автономные атаки без человека в цикле.
  • Атака на Минфин Таиланда (июль, по Hunt.io): Hermes Agent в автоматическом режиме «YOLO» пробил несколько сетей.
  • Китайский финансово мотивированный оператор (идёт с июля, по Gambit Security): Strix для поиска уязвимостей, Cairn для автономной эксплуатации, Hermes для оркестрации, на DeepSeek v4.1 Flash и Claude Opus 4.6. Он запустил 105 атакующих проектов за шесть дней (с 10 по 15 сентября), ударил по 100+ онлайн-ритейлерам, скомпрометировал минимум 27 компаний, увёл 600 000+ данных карт у двух из них, внедрил скиммеры в пять магазинов и затем стёр данные карт из баз Magento. Фраза исследователя стоит того, чтобы её запомнить: ИИ-инструменты показали уровень терпения, настойчивости и изобретательности, который большинство людей-атакующих не смогли бы поддерживать.
  • CLOSEDQUORUM (по Cisco Talos): имплант на Go, который опрашивает до четырёх LLM-провайдеров (DeepSeek, Qwen, Mistral, Gemini) в системе голосования, чтобы решить следующий шаг, с решающим голосом у DeepSeek, а дальше крадёт креды, инъектит шеллкод, закрепляется и двигается латерально.

Сложите это вместе, и тренд однозначен. Автономных агентов вшивают прямо во вторжение, и они делают разведку, эксплуатацию и пост-компрометационные рассуждения, которые раньше требовали умелого человека за клавиатурой. Цифра «105 проектов за шесть дней» — это та же история про схлопнувшееся окно реакции, только теперь с консоли атакующего.

Китайский финансово мотивированный оператор: 105 атакующих проектов за 6 дней, 100+ атакованных ритейлеров, 27+ скомпрометированных компаний, 600 000+ украденных данных карт

Почему это меняет то, от чего вы защищаетесь

Агент, живущий на вашем хосте, ведёт себя не как скриптовый имплант, и у этого два прямых следствия для защитника.

Его поведение не сигнатурится. Рассуждающий агент импровизирует. Он читает то, что находит, и решает следующий шаг, поэтому перечислить его действия заранее, как у фиксированной малвари, нельзя. Детект должен цепляться за то, что агент делает неизбежно, ищет креды, прощупывает окружение, действует по прочитанному, а не за известную последовательность команд. Это ровно тот принцип, на котором построен BastionAgent: расставить мёртвые водяные креды и ловушки на понимание там, где рассуждающий агент ожидает их найти, так что собирающий креды агент вроде GH0ST изобличает себя в момент, когда клюёт на приманку, а его управляемая через Telegram разведка становится залогированным атрибутированным событием.

Агент подействует по любому креду, до которого дотянется. Вся его задача — собирать и использовать учётные данные. На исходящей стороне агент, действующий по хостовым кредам и пытающийся сделать латеральное перемещение или эксфильтрацию, — это ровно то, перед чем стоит наш файрвол Airlock, независимо от того, ваш это агент, ушедший в разнос, или имплант атакующего. А что именно агент сможет сделать, оказавшись на хосте, что ваши контейнеры, хосты и облачные идентичности открывают универсальному оператору, вскрывают аудит безопасности ИИ-агентов и аудит облачной инфраструктуры раньше атакующего.

Что делать конкретно с Carbonato

  • Закройте порт 2375. Docker-демон никогда не должен быть выставлен без аутентификации в сеть, тем более в интернет. Это вся точка входа целиком.
  • Ограничьте привилегии контейнеров. Carbonato нужно запустить привилегированный контейнер, чтобы дотянуться до хоста. Запрет привилегированных контейнеров ломает выход.
  • Ищите персистенцию. Неожиданные cron-задачи, watchdog-скрипты, SSH-сервер с незнакомыми ключами оператора, обратные SSH-туннели, любой процесс, маскирующийся под системный компонент. Исходящий трафик к Telegram API с сервера, которому нечего делать в Telegram, — это сильный сигнал.
  • При любой находке считайте хост скомпрометированным. У агента, которому велели собирать креды, было время это сделать. Ротируйте всё, до чего хост дотягивался, и пересобирайте, а не чистите на месте.
  • Сегментируйте. Червь сканирует соседей каждые пять минут. Сегментация сети ограничивает, как далеко расползётся один открытый демон.

Вывод

Carbonato заходит через ошибку конфигурации, старую как сам Docker, но ставит новую норму: автономного ИИ-агента, которому выдали хакерскую персону и Telegram-канал и который импровизирует против вашей инфраструктуры с терпением, которого не выдерживает ни один человек-оператор. Вывод для защиты не тонкий. Моделировать имплант как фиксированный набор поведений больше нельзя, потому что имплант рассуждает. Закройте открытые демоны, ограничьте привилегированные контейнеры и стройте детект и ловушки вокруг того, что агент делает неизбежно, а не вокруг сигнатуры, под которую он никогда не попадёт. Атакующие уже сделали агента своим имплантом. Защите пора планировать против противника, который думает прямо у вас на хосте.

Если вы держите Docker или Kubernetes и хотите не гипотезу, а факт о том, что выставляют ваши демоны и контейнеры и что сможет сделать агент, оказавшись на хосте, это наша повседневная работа: тест внешнего периметра, аудит облачной инфраструктуры и безопасность ИИ-агентов.

← назад в блог