Обнаружен новый ботнет RustDuck: переход на Rust и многоуровневые механизмы обхода защиты

botnet

С начала февраля 2026 года система мониторинга угроз XLAB фиксирует активность ранее неизвестного семейства вредоносного ПО, построенного по архитектуре Loader + Core. Новый ботнет, получивший название RustDuck, ориентирован на проведение крупномасштабных DDoS-атак и демонстрирует ускоренную техническую эволюцию. Исследователи отмечают, что, хотя по охвату инфраструктуры он пока уступает признанным лидерам среди зомби-сетей, темпы совершенствования его кода и методов противодействия анализу вызывают серьёзную обеспокоенность.

Описание

Распространение вредоносных образцов охватывает три основные категории целей: интернет вещей (IoT), веб-приложения и корпоративную инфраструктуру. Атакующие используют комбинированный подход: подбор слабых паролей для Telnet и SSH, эксплуатацию уязвимостей в Android ADB, TVT API, оборудовании Ruijie, TP-Link, ZTE, а также в веб-фреймворках ThinkPHP, Jenkins и YARN. В арсенале присутствуют несколько исторических CVE (CVE-2025-29635, CVE-2017-17215, CVE-2018-8007, CVE-2024-1781). Такая стратегия позволяет автоматизировать вторжение на маршрутизаторы, камеры, Android-терминалы и серверы. Мониторинг выявил более двадцати IP-адресов, участвующих в распространении RustDuck, при этом самым активным источником загрузки остаётся 176.65.139[.]204.

Технический анализ Loader-компонента показал четыре эволюционных варианта, различающихся алгоритмами шифрования, сжатия и проверки целостности. Первый вариант (SHA1: 8315f650) использует 16-байтовую конфигурацию с линейным конгруэнтным генератором (LCG) и XOR для расшифровки, после чего применяет сжатие LZ4. Контрольная сумма Magic вычисляется динамически комбинацией циклического сдвига влево (ROL) и XOR. Второй вариант (SHA1: 6aa791c7) удлинил конфигурацию до 33 байт, перешёл на генератор Xoshiro128 с XOR и алгоритм сжатия BLZ. Ключевая особенность - введение динамических констант, затрудняющих статическую расшифровку. Третий вариант (SHA1: 4d11bd49) вернулся к стандартной схеме XOR + LZ4 с фиксированной Magic-строкой "ASHPCK\x01\x00". Наконец, четвёртый вариант (SHA1: d39a3ee9) применяет высокостойкий потоковый шифр ChaCha20, при этом конфигурация сокращена до 32 байт с Magic "iEMPK\x02\x00\x00". Представленный анализ конфигурационных полей Loader демонстрирует целенаправленную эволюцию от простых самодельных криптоалгоритмов к промышленным стандартам.

Core-модуль претерпел качественные изменения благодаря миграции на Rust. В части управления ключами внедрён HKDF-SHA256 с двумя источниками: динамическим ключом на основе UTC-времени (обновляется каждые десять минут) и асимметричным обменом по схеме Curve25519 (Noise_IK_25519) для обеспечения прямой секретности. В симметричном шифровании наблюдаются две ветви: одна использует модифицированный Ascon128 с перестановками, другая - комбинацию ChaCha20-Poly1305 на этапе рукопожатия и AES-GCM после подтверждения.

Особого внимания заслуживает многоуровневая система противодействия анализу. Core внедряет динамическую систему весовых оценок: каждое обнаруженное подозрительное условие увеличивает общий риск, и при превышении порога программа самоуничтожается. Набор проверок включает:

  • Поиск в списке процессов инструментов отладки (gdb, IDA, Frida) и захвата трафика (Wireshark, tcpdump) - вес 100.
  • Чтение /proc/self/status на наличие TracerPid - вес 100.
  • Сканирование загруженных библиотек на наличие Frida, ASan, UBSan, libdl-inject - вес 100.
  • Верификация SHA256-хэша файла для обнаружения изменений кода - вес 100.
  • Обнаружение файлов-признаков honeypot (Cowrie, Dionaea) - вес 50.
  • Проверка переменных окружения на слова sandbox, malware, virus, sample - вес 40.
  • Асинхронное соединение с тестовым адресом 192.0.2.1 (RFC 5737) - если соединение устанавливается менее чем за 0.5 секунды, значит среда имитирует интернет, что характерно для песочниц - вес 35.
  • Двойная проверка времени: кросс-валидация системного и монотонного времени через usleep - задержка менее 300 мс или расхождение более 1000 мс указывают на ускорение или отладку - вес 30.
  • Анализ DMI и SCSI на наличие признаков виртуализации VirtualBox, VMware, QEMU - вес 25.
  • Проверка MAC-адресов на префиксы VBox, VMware - вес 20.
  • Подсчёт числа процессов: менее пяти характерно для минималистичных эмуляторов - вес 10.

Сетевая часть Core построена на протоколе, заимствующем принципы Noise IK. Рукопожатие начинается с обмена временными открытыми ключами. Глобальный идентификатор сообщения (MsgID) участвует в генерации сессионных ключей. Формат пакета рукопожатия включает 2 байта длины, 12 байт nonce, зашифрованные данные переменной длины и 16-байтовый тег аутентичности; передача идёт через ChaCha20. После четырёхшаговой проверки (login, verify, confirm, ack) наступает фаза командного цикла, где формат пакета дополняется трёхбайтовым магическим заголовком 0x17 0x03 0x03, имитирующим TLS. Шифрование переключается на AES-GCM с раздельными ключами для восходящего и нисходящего трафика: 88-байтовый ключ aesGCMKey делится на clientKey, clientNonceKey, serverKey, serverNonceKey. Такой подход исключает возможность расшифровки трафика при перехвате только одного направления.

Командный протокол включает пять основных типов сообщений: запуск DDoS-атаки (msgType 3 и 8), остановка атаки (9), обновление вредоносного модуля (10), запрос статуса заражённого устройства (11) и смена адреса C2 (14). Это даёт операторам гибкое управление ботнетом и возможность быстрой адаптации к мерам противодействия.

Эволюция RustDuck указывает на общую тенденцию в мире киберугроз: переход от простых скриптов и монолитных C-бинарников к модульным системам на Rust с криптографической защитой, устойчивых к обратной разработке. Организациям, управляющим IoT-устройствами и веб-приложениями, необходимо усилить контроль за слабыми паролями, своевременно устанавливать исправления для известных уязвимостей и внедрять средства обнаружения аномального сетевого трафика, в том числе с применением нестандартных алгоритмов шифрования.

Индикаторы компрометации

Domain

  • bigniggadick.ignorelist.com
  • criminalcloudflare.online
  • dhdsjsdjxc.duckdns.org
  • disciplinenahidwin.st
  • fcfrfxrfrsfs5f.duckdns.org
  • gayporn.twilightparadox.com
  • igmc.duckdns.org
  • ilovefemboy.mooo.com
  • qewqewqewqtq.duckdns.org
  • qewqewqewqtqthree.duckdns.org
  • qewqewqewqtqtwo.duckdns.org

SHA1

  • 4d11bd496da82d15b3ed13050f414e44f5a892d4
  • 6aa791c76b3107fca9d57b7ecea8f46d97d83738
  • 8315f650e9e4f67c00277b076ab304eed23db47d
  • d39a3ee96be6b8f5238cb1253514ab55c88f714c

Комментарии: 0