Анализ вредоносного ПО, выведшего из строя 659 тысяч домашних маршрутизаторов

Группа Black Lotus Labs опубликовала результаты анализа вредоносного ПО, задействованного в инциденте, в результате которого в октябре прошлого года в течение 72 часов было выведено из строя более 600 тысяч домашних маршрутизаторов одного из крупных американских провайдеров (в отчёте провайдер не называется, но упомянутые события совпадают с инцидентом у компании Windstream). В результате атаки злоумышленников, которая получила кодовое имя Pumpkin Eclipse, прошивка поражённых вредоносным ПО устройств была повреждена и провайдер был вынужден заменить оборудование у почти половины своих клиентов – сканирование сети показало, что после случившегося на оборудование другого производителя было заменено 179 тысяч устройств ActionTec (T3200s и T3260s) и 480 тысяч устройств Sagemcom (F5380).


Атака была совершена с использованием типового вредоносного ПО Chalubo, известного с 2018 года, организующего централизованное управление ботнетом и применяемого для Linux-устройств на базе 32- и 64-разрядных архитектур ARM, x86, x86_64, MIPS, MIPSEL, and PowerPC.
Как именно устройства были скомпрометированы для установки вредоносного ПО информации нет, исследователи лишь предполагают, что доступ к устройствам мог быть получен в результате выставления провайдером ненадёжных учётных данных, использования типового пароля для входа в интерфейс администрирования или эксплуатации неизвестных уязвимостей.

Вредоносное ПО Chalubo подразумевает три этапа внедрения. После эксплуатации уязвимости или использования скомпрометированных учётных данных на устройстве запускается bash-скрипт, который проверяет наличие в системе вредоносного исполняемого файла /usr/bin/usb2rci и при его отсутствии отключает блокировки пакетного фильтра, выполняя “iptables -P INPUT ACCEPT;iptables -P OUTPUT ACCEPT;”, после чего загружает с подконтрольного злоумышленникам управляющего сервера (C&C) скрипт get_scrpc.

Скрипт get_scrpc оценивает контрольную сумму md5 файла usb2rci и если она не совпадает с определённым значением загружает второй скрипт get_fwuueicj, который проверяет наличие файла /tmp/.adiisu и при отсутствии создаёт его и загружает основной исполняемый файл вредоносного ПО, собранный для CPU MIPS R3000, в каталог /tmp под именем “crrs”, после чего запускает его.

Запущенный файл собирает информацию о хосте, такую как сведения о MAC-адресе, идентификаторе устроства, версии ПО и локальных IP-адресах, и отправляет её на внешний хост, после чего проверяет доступность управляющих серверов и загружает основной компонент вредоносного ПО, который расшифровывается с использованием потокового шифра ChaCha20. Основной компонент может загружать и запускать с управляющего сервера произвольные Lua-скрипты, определяющие логику дальнейших действий, например, участие в совершении DDoS-атак.


Предполагается, что злоумышленники, имеющие доступ к серверам управления ботнетом, воспользовались имеющейся в Chalubo функцией загрузи и выполнения скриптов на языке Lua для перезаписи прошивки устройств и вывода оборудования из строя. Инцидент примечателен тем, что несмотря на распространённость вредоносного ПО Chalubo (в начале 2024 года было зафиксировано более 330 тысяч IP, обращающихся к известным серверам управления ботнетом), вредоносные действия ограничились только одним провайдером, что позволяет судить о том, что атака была целевой.

Release. Ссылка here.