BambooToken е задна врата (backdoor) за Linux, която превръща олекотен протокол за комуникация в канал за дистанционно управление. Новоанализираната мостра може да събира информация за хоста, да изпълнява shell команди и да прехвърля файлове между компрометирана машина и нейния оператор.

Използването на MQTT е забележително, тъй като протоколът е често срещан в среди със свързани устройства (IoT) и използва брокер за препращане на съобщенията.

Анализаторите от Reverser са идентифицирали зловредния софтуер след декодиране на малък вграден конфигурационен блок и проследяване на неговите MQTT заявки (callbacks).

От Reverser посочват в доклад, споделен с Cyber Security News (CSN), че мострата съдържа модул за събиране на инвентаризация на хоста, модул за изпълнение на команди и файлов мениджър, свързани чрез кодирани MQTT теми (topics).

Анализът не установява първоначалния достъп, метода на доставяне, оператора или кампанията срещу жертвите. След като бъде инсталирана на Linux система обаче, задната врата може да предостави на атакуващия практически достъп до системните детайли, изхода от изпълнените команди и локално съхраняваните данни.

BambooToken Linux Backdoor използва MQTT C2

При стартиране BambooToken декодира 59-байтов конфигурационен блок, за да извлече адреса на MQTT брокера и фиксирана групова тема. След това генерира клиентски идентификатор, наподобяващ UUID, за работещия процес.

Програмата се свързва с конфигурирания брокер през TCP порт 2883 и прави повторни опити при неуспех с 15-секундно забавяне. Тя също така регистрира офлайн съобщение за статус – функция, която може да помогне за проследяване на заразена система.

Контролният клиент слуша за съобщения в груповата тема, своя клиентски идентификатор и няколко допълнителни имена на теми. Отделни модули обработват заявките за shell команди и файлови операции.

BambooToken крие както своя зловреден код, така и етикетите на темите чрез повтаряща се XOR операция. Кодирането може да затрудни бързата проверка, но не предлага силна защита, след като ключът е известен. Анализаторите трябва да разглеждат необичайните MQTT сесии от Linux сървъри като следа, а не като окончателно доказателство за компрометиране.

Заявката за shell приема JSON съдържащ операция с име command и препраща предоставения текст към системния shell чрез /bin/sh -c. Изходният резултат се чете на редове от по 1024 байта и се връща към контролера. Всяка заявка стартира отделна команда, вместо да създава персистентен интерактивен терминал.

Тази възможност дава на атакуващия гъвкав начин да инспектира системата, да събира резултати или да подготвя последващи действия. Това подчертава защо специалистите по защита, разследващи съмнително изпълнение на команди, трябва да анализират мрежовия контекст – модел, който се наблюдава и при друг зловреден софтуер за дистанционно управление през MQTT.

Управление на файлове и откриване

Файловият компонент може да изброява директории, да изтегля файлове от жертвата, да качва съдържание и да изтрива обикновени файлове. Изтеглените данни се изпращат на блокове от 128 KiB, с JSON заглавна част, отделена от суровите байтове на файла с NUL символ.

Парсер, който очаква изцяло JSON съобщение, може да пропусне прехвърленото съдържание. Списъците с директории съдържат погрешно написано поле, flies, заедно с имената на файловете, типовете, размерите и времевите печати. Този необичаен детайл в протокола може да помогне на анализаторите да разпознаят декодирания трафик.

Мострата също така адаптира пътища в стил Windows и използва времеви стойности в стил Windows, което подсказва за съвместимост с архитектура за управление, която може да е възникнала на друго място.

Когато получи заявка ONLINE, BambooToken събира потребителско име, hostname, версия на операционната система, идентификатор на машината, мрежови детайли, модел на процесора и информация за процесите.

Тя първо опитва /etc/machine-id, а при неуспех може да използва път под /var/lib/myapp, което може да даде полезна точка за корелация по време на разследване.

Специалистите по защита трябва да търсят непознати Linux ELF файлове, които се свързват с изброения брокер или исторически адрес на порт 2883, и след това да свържат тези събития с дъщерни /bin/sh -c процеси и неочакван достъп до файлове.

Кодираните MQTT теми, полето flies и данните, разделени с NUL байт, могат да укрепят откриването. Подобна активност на задни врати се появява в съобщения за операции със зловреден софтуер, използващ MQTT, но само използването на порта остава слабо доказателство.

Организациите трябва да ограничат ненужния изходящ MQTT трафик, да записват връзките към брокера, да запазват съответните прихващания на мрежов трафик и да изолират заподозрените хостове, преди да събират нестабилни доказателства (volatile evidence).

Тъй като съобщеният адрес е исторически, екипите за реагиране на incidents трябва да потвърдят текущото разрешаване на имена и свързаността, вместо да предполагат, че инфраструктурата е все още активна.

Indicators of compromise (IoCs):-

TypeIndicatorDescription
SHA-256bf0681e43f51e98fe7ec24bf73a43facc66b0feb325a3a835f8f01b2861b926BambooToken Linux ELF sample hash
SHA-1bed2b7acb36e01bf82e8a82e3e163e5cce9b395aBambooToken Linux ELF sample hash
MD5b4cff5f5c6088d54df434d628d2e8e57BambooToken Linux ELF sample hash
GNU Build ID65dae98336d48a1926031c3b90d6995c25da6cabBuild identifier for the analysed ELF sample
Domainlive-hk[.]c2iznja[.]comEmbedded MQTT broker hostname
IP Address202.144.192[.]149Historical resolution for the embedded broker hostname
Network PortTCP/2883Default MQTT connection port
MQTT Group Topic{534E19D5-434B-4cad-A0C2-8D75E0B2FBFC}Fixed group topic embedded in the sample
Encoded MQTT Topic647e7d7b7d71Computed wire representation for ONLINE
Encoded MQTT Topic6476777e7a7a70Computed wire representation for OFFLINE
Encoded MQTT Topic/7858545e5fComputed wire representation for /Shell
Encoded MQTT Topic/6d595d57Computed wire representation for /File
Encoded MQTT Topic/79554242Computed wire representation for /Resp
File Path/var/lib/myapp/machine-idFallback machine-identifier storage path used by the implant

Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.