Ботнет Cling атакует Realtek SDK и скрывает C2 в STUN

Исследователи Nozomi Networks зафиксировали всплеск попыток эксплуатации критической уязвимости CVE-2021-35394 в Realtek Jungle SDK с оценкой CVSS 9,8. Активность наблюдается примерно с 5 сентября 2026 года, а часть атак доставляет ботнет Cling, который использует STUN-трафик для связи с операторами.
Проблема CVE-2021-35394 позволяет удалённое выполнение кода и уже была исправлена. Cling примечателен не новым способом распространения, а использованием обычного механизма STUN как канала управления: такой трафик может походить на легитимное NAT-пробитие.
Как Cling распространяется и закрепляется
В образце Cling обнаружена логика эксплуатации ряда уязвимостей командной инъекции и удалённого выполнения кода в маршрутизаторах и DVR разных производителей. Среди них Realtek SDK CVE-2014-8361, Eir D1000 CVE-2016-10372, MVPower CCTV DVR CVE-2016-20016, LB-LINK CVE-2023-26801, FiberHome SR1041F и China Mobile HG6543C4 CVE-2023-41011, TBK DVR CVE-2024-3721 и Linksys CVE-2025-34037.
Чтобы не запускать несколько копий, программа пытается привязать сокет к порту 33957 с параметром SO_REUSEADDR и завершает работу при неудаче. Затем она копирует себя в /root/.cling и /usr/local/bin/.cling, добавляя оба пути в /etc/inittab, /etc/init.d/rcS и /etc/rc.d/rc.boot. Это обеспечивает сохранение на системах с SysV и BusyBox init.
Другой вариант закрепления ищет бинарный файл wget, переносит оригинал в другое место и заменяет его вредоносной программой. В результате Cling запускается, когда штатный процесс обращается к команде wget.
STUN-трафик как канал управления
STUN предназначен для помощи устройствам за NAT или межсетевым экраном при установлении одноранговой связи. Cling примерно каждые пять секунд отправляет Binding Request на жёстко заданный список из 13 STUN-серверов. Вместо случайного идентификатора транзакции вредонос использует последовательность нулей.
После ответа бот записывает внешний IP-адрес и сопоставленные порты, а затем рассылает каждому серверу собственное UDP-регистрационное сообщение с этими портами и меткой способа заражения, например realtek.selfrep или selfrep.router. Такие сообщения не соответствуют спецификации STUN, поэтому обычные серверы их отбрасывают.
По наблюдению Nozomi Networks, сервер 145.249.115[.]184 возвращал нулевой идентификатор вместо повторения идентификатора исходного запроса. Это указывает на сервер, адаптированный под трафик бота: команды оператора передаются в поле идентификатора транзакции STUN.
Что это означает для защиты
Команды Cling позволяют сканировать и заражать новые устройства, создавать и останавливать TCP-туннели и прокси, а также проводить DoS-атаки на заданную цель в течение установленного времени. Исследователи также увидели пакеты с командами, пришедшие с IP-адреса 74.125.250[.]129, на который разрешается имя stun.l.google.com.
Для бизнеса первоочередными остаются установка исправлений для затронутых устройств Realtek, инвентаризация маршрутизаторов и DVR, а также проверка исходящего STUN-трафика. Особого внимания требуют обращения с постоянным нулевым идентификатором транзакции, нестандартные UDP-регистрации и признаки подмены wget на устройствах.

