Автори на заплахи са наблюдавани да се опитват да експлоатират отстранена вече критична уязвимост в сигурността, засягаща пакета за разработка на софтуер (SDK) Realtek Jungle, с цел внедряване на ботнет зловреден код, наречен Cling.
„Cling е забележителен не защото въвежда нова техника за разпространение, а защото пренасочва обичайното поведение на STUN в практичен канал за управление и контрол (C2)“, заявяват от Nozomi Networks в доклад, публикуван миналата седмица. „Резултатът е ботнет, чийто трафик може да наподобява легитимна активност за преминаване през NAT (NAT-traversal), докато в същото време поддържа команди за разпространение, проксиране, тунелиране и отказ от обслужване.“
Компанията за киберсигурност в областта на оперативните технологии (OT) заяви, че е наблюдавала скок в опитите за експлоатация на CVE-2021-35394 (CVSS оценка: 9.8) – критична уязвимост за дистанционно изпълнение на код (RCE) в Realtek Jungle SDK, започнала около 5 септември 2026 г., като част от тази активност доставя Cling.
Анализът на пробата от злонамерения код показва, че той съдържа логика за експлоатация на различни уязвимости за инжектиране на команди и RCE, засягащи рутери и DVR устройства от множество производители –
- Realtek SDK RCE (CVE-2014-8361)
- Eir D1000 router RCE (CVE-2016-10372)
- MVPower CCTV DVR RCE (CVE-2016-20016)
- LB-LINK routers RCE (CVE-2023-26801)
- FiberHome SR1041F router / China Mobile HG6543C4 RCE (CVE-2023-41011)
- TBK DVR RCE (CVE-2024-3721)
- Linksys RCE (CVE-2025-34037)
„Проверката за единично копие с цел стартиране само на едно копие включва обвързване на сокет със SO_REUSEADDR към порт 33957 и чисто прекратяване, ако това се провали“, посочват от Nozomi Networks. „Пробата се копира в /root/.cling и /usr/local/bin/.cling. И двете изпълними файлове се добавят към /etc/inittab, /etc/init.d/rcS, /etc/rc.d/rc.boot, като по този начин постигат персистентност в инициализационните системи SysV и BusyBox.“
Алтернативен механизъм за запазване на присъствието (персистентност) включва идентифициране на бинарния файл wget в инфектираната система и последващата му замяна със зловредния код, но не и преди оригиналният файл да бъде преместен на друго място. Това от своя страна кара зловредния код да се изпълнява всеки път, когато легитимен процес извика командата „wget“.
Забележителен аспект на Cling е злоупотребата с безобидно изглеждащ STUN трафик и публична STUN инфраструктура за регистриране на инфектирани хостове, получаване на команди от оператора и правене на злонамерената активност по-малко забележима от гледна точка на мрежовия мониторинг.
STUN, съкращение от Session Traversal Utilities for Network Address Translation (NAT), е стандартизиран мрежов протокол, предназначен да подпомага устройства зад NAT или защитна стена при установяване на комуникации в реално време от тип peer-to-peer.
По-конкретно, зловредният код следва процес от четири стъпки за комуникация за управление и контрол (C2) –
- Изпращане на STUN Binding Request към твърдо кодиран списък от 13 STUN сървъра приблизително на всеки 5 секунди. Идентификаторът на трансакцията е зададен изцяло с нули вместо със случайна стойност, както е по спецификация.
- Записване на външно наблюдаваните портове, върнати от тези сървъри при получаване на съобщение Binding Success Response, съдържащо публичния IP адрес на крайната точка и съответните номера на портове.
- Изпращане на персонализирано съобщение за регистрация (т.е. UDP датаграма) към всеки сървър, което включва картографираните портове и етикет, указващ как е било инфектирано устройството (напр. realtek.selfrep, selfrep.router).
- Запитване (polling) за UDP пакети, които кодират команди от оператора в полето за ID на STUN трансакцията.
„От гледна точка на мрежовия мониторинг активността изглежда като безобидно взаимодействие със STUN сървъри“, казва Nozomi Networks. „Като се има предвид, че персонализираното съобщение за регистрация се изпраща до всеки STUN сървър в списъка, очевидно е, че операторът се нуждае от видимост в поне един от сървърите, за да проследява новите ботове, присъединяващи се към рояка, и да знае къде да изпраща команди.“
Забележително е, че тези съобщения за регистрация не съответстват на дефиницията на протокола STUN, което кара легитимните STUN сървъри да отхвърлят пакета. Взето е предвид обаче, че един от 13-те сървъра („145.249.115[.]184“) е върнал идентификатор на трансакция с всички нули, вместо да повтори идентификатора на трансакцията от оригиналната заявка Binding Request в съобщението Binding Success Response.
Това необичайно поведение, според Nozomi, подсказва, че STUN сървърът е пригоден за собствения STUN трафик на бота и че се използва за изпращане на издадени от оператора команди към инфектираното устройство чрез вграждането им в полето за ID на STUN трансакцията.
Командите позволяват на киберпрестъпника рекурсивно да сканира и разпростира мащаба на ботнета по червеобразен начин, да стартира/спира TCP тунел, да стартира/спира прокси и да извършва атака за отказ от обслужване (DoS) срещу определена цел за даден период от време. Някои от мишените на тези атаки с претоварване са посочени по-долу –
- 112.151.157[.]222:8080 (South Korean ISP)
- 192.170.240[.]137:53 (University of Chicago cluster)
- 23.81.40[.]193:25565 (Minecraft)
- 147.185.221[.]129:25565 (Minecraft)
„Най-интересната част от C2 трафика е откъде изглежда, че идват командите“, обясняват от Nozomi Networks. „Пакетите, носещи команди от оператора, произлизат от 74.125.250[.]129 – IP адрес, до който се резолва stun.l.google.com.“
„С други думи, операторът не просто крие команди в пакет, изглеждащ като STUN, а прави така, че тези команди да изглеждат като легитимни отговори от една от най-разпознаваемите STUN услуги в интернет.“