CARBONATO націлюється не на окрему помилку в коді Docker, а на небезпечну конфігурацію: доступний мережею API демона без автентифікації. Дослідження ThreatDown показує, як цього достатньо для запуску привілейованого контейнера, доступу до ресурсів сервера, закріплення та подальшого поширення мережею.
Неавтентифікований Docker API стає точкою входу на хост
За даними ThreatDown, CARBONATO шукає Docker-демони, API яких доступний без автентифікації, зокрема через порт 2375. Після підключення до такого API шкідливий код передає демону команду запустити привілейований контейнер.
Такий контейнер отримує доступ до файлової системи, процесів і мережевих просторів імен хоста. Центральна проблема тут полягає не у вразливості Docker як продукту, а в тому, що інтерфейс керування, який має контролювати контейнери, стає доступним сторонньому користувачу без перевірки доступу.
Дослідники також виявили відкритий Docker Registry без автентифікації. Він містив 59 репозиторіїв, 234 теги, 605 перевірених blob-об’єктів і 4,3 ГБ даних. Архів охоплював артефакти кампанії від жовтня 2024 року до серпня 2026 року.
Зворотний SSH-тунель і кілька механізмів закріплення утримують доступ
Після розгортання імплантат створює зворотний SSH-тунель, встановлює SSH-сервер із ключем операторів і надсилає звіт про нове розгортання до чату в месенджері. Це дає операторам окремий канал для доступу до скомпрометованої системи.
Для збереження присутності CARBONATO використовує одразу кілька механізмів: завдання cron, таймери systemd, rc.local та OpenRC. Watchdog-компоненти повторно завантажують імплантат із реєстру. Таким чином, ланцюг атаки не обмежується запуском одного контейнера: він передбачає повторне відновлення шкідливого компонента та кілька способів його автоматичного старту.
Профіль GH0ST змінює поведінку Hermes Agent на скомпрометованому сервері
Кампанія встановлює легітимний фреймворк Hermes Agent і перезаписує файл `/root/.hermes/SOUL.md` профілем під назвою GH0ST. Цей профіль отримує завдання через чат у месенджері, виконує команди на скомпрометованому хості та надсилає результати операторам.
ThreatDown описує цей механізм як керований операторами інтерактивний цикл: завдання перетворюються на команди термінала, результати зчитуються, після чого визначається наступна дія. Наявність Hermes Agent у ланцюгу атаки не означає, що сам фреймворк є шкідливим. У цьому випадку його використали вже після компрометації хоста та змінили його робочий профіль.
Сканування кожні п’ять хвилин підтримує поширення CARBONATO
Скрипти CARBONATO кожні п’ять хвилин сканують мережі, підключені до скомпрометованого хоста, у пошуку інших доступних Docker-демонів. Виявлені системи можуть стати новими цілями для запуску імплантату та повторення циклу закріплення.
ThreatDown не пов’язала CARBONATO з відомим кластером загроз. Дослідники припустили можливий зв’язок операторів із Коста-Рикою на підставі інфраструктурних і мовних індикаторів, але це не є встановленою атрибуцією. Опис технічних артефактів походить із дослідження ThreatDown, незалежної перевірки цих артефактів у межах доступної перевірки не проводили.
Порт 2375, CARBONATO_API_KEY та зворотні тунелі названі індикаторами
Дослідники радять не надавати мережевий доступ до API Docker-демона та вимагати автентифікацію для реєстрів. У первинному описі кампанії серед можливих індикаторів згадані файл або профіль із назвою GH0ST, параметр `CARBONATO_API_KEY`, неочікуваний трафік до месенджера та зворотні SSH-тунелі в напрямку AS262145.
Для команд, що працюють із Docker, ця кампанія демонструє практичний наслідок відкритого інтерфейсу керування: доступ до API може дозволити не просто керувати контейнерами, а й запустити привілейований код із доступом до самого хоста.
