Ботнет Kairos удерживает TCP-соединения для DDoS-атак
Kairos, ботнет для DDoS-атак на Linux, обнаружили при атаках на устройства, доступные через Telnet с пустым паролем root. Бот написан на Go. В проанализированных развёртываниях один IP-адрес раздавал полезные нагрузки по HTTP на TCP-порту 8080 и одновременно использовался как сервер управления на TCP-порту 9999.
Шелл-дроппер определяет архитектуру устройства и сохраняет файлы в каталоге /tmp. Затем он пытается загрузить и запустить соответствующую архитектуре полезную нагрузку, используя wget, curl, wget из BusyBox и, в качестве последнего способа, TFTP.
Для связи с сервером управления бот использует открытый текстовый протокол поверх TCP. Он отправляет сообщение REGISTER и принимает три команды: hold host port seconds запускает атаку, !ka останавливает все атаки и приостанавливает работу, а !ku возобновляет приём команд на атаку.
Для каждой атаки бот запускает 128 рабочих процессов на ядро ЦП, но не менее 256. Они завершают TCP-рукопожатие и поддерживают соединения открытыми, отправляя пробел каждые пять секунд. Если соединение обрывается, процессы повторяют попытку каждые 100 миллисекунд. Это может привести к интенсивному потоку новых соединений. Атака использует реальные соединения, а не поддельные SYN-пакеты, поэтому IP-адрес заражённого устройства виден. Соединения также могут расходовать ресурсы самого бота. Новая атака на тот же хост и порт заменяет предыдущую.
Образцы собраны для amd64, ARM, MIPS с большим и малым порядком байтов, а также 32-битного x86. У них общий код, одинаковое поведение команд и маскировка под процесс kworker/0:1. В неизменённой таблице символов Go сохранились имена, связанные с реализацией флуд-атак. Проанализированные сборки используют один и тот же известный сервер управления, однако другие сборки могут содержать иные IP-адреса, заданные в коде.
В качестве признаков для обнаружения авторы отчёта называют строку kworker/0:1 в сочетании с путём сборки Go kairos/bot, незашифрованный трафик к серверу управления и большое количество исходящих TCP-соединений. Авторы также рекомендуют отключить открытые сервисы Telnet и заменить пустые или стандартные учётные данные.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.



