После санкций, введённых американскими властями в мае 2025 года, деятельность печально известной компании Funnull, долгое время служившей ключевой инфраструктурой для фишинговых схем и «свиноферм» в Юго-Восточной Азии, казалось бы, сошла на нет. Однако, как показывает последнее исследование, криминальная группировка не только не прекратила свою деятельность, но и совершила качественный скачок, перейдя от простого отравления публичных CDN-сервисов к активному заражению серверов с помощью сложного, модульного атакующего комплекса. Новая кампания под кодовым названием RingH23 уже привела к заражению тысяч веб-сайтов, преимущественно кино- и видеопорталов, и затрагивает миллионы пользователей, чьи устройства перенаправляются на мошеннические и нелегальные ресурсы.
Описание
Первые признаки новой активности были зафиксированы когда система мониторинга угроз обнаружила подозрительный ELF-файл, распространяемый с домена download.zhw[.]sh. Файл, не детектируемый на тот момент антивирусными движками, оказался загрузчиком (downloader), предназначенным для скачивания и выполнения дополнительных модулей с удалённого сервера. Анализ показал, что эти модули были направлены на реализацию скрытного закрепления в системе (persistence) через механизм Udev, внедрение в веб-трафик и сокрытие следов. Как отмечается в отчёте исследовательской группы Xlab, этот инцидент стал лишь верхушкой айсберга, за которым скрывается масштабная операция.
Дальнейшее расследование позволило выявить полную цепочку атаки. Злоумышленники скомпрометировали узел управления CDN-платформы GoEdge, внедрив модуль "infection_init". Этот модуль, используя украденные SSH-ключи, принудительно развернул загрузчик "download_init" на всех подконтрольных edge-нодах. Именно "download_init" отвечал за установку полноценного атакующего комплекса RingH23, получившего своё название по строке "RING04H", встречающейся в коде, и XOR-ключу 0x23, используемому для конфигурации. Комплекс демонстрирует высокую степень профессионализма и состоит из специализированных компонентов:
- Badnginx2s ("module.so"): Вредоносный модуль для веб-сервера Nginx, способный подменять контент, внедрять в страницы вредоносный JavaScript-код, перенаправлять загрузки и даже заменять криптовалютные адреса на кошельки злоумышленников.
- Badredis2s ("ring04h_office_bin"): Модульный бэкдор для долгосрочного контроля. Использует зашифрованное соединение по протоколу WebSocket, а в случае блокировки переключается на DNS-туннели. Его серверы управления (C2), размещённые, в том числе, в Azure Blob Storage, демонстрируют высокую активность, входя в топ-500 тысяч глобального рейтинга Tranco.
- Badhide2s ("libutilkeybd.so"): Пользовательский руткит (rootkit), скрывающий процессы, файлы и сетевые соединения зловреда от системных утилит вроде "ps", "netstat" и "ls". Также отвечает за скрытую загрузку модуля Badnginx2s в Nginx.
- Скрипты Udev ("udev.sh" и "udev.rules"): Обеспечивают устойчивое закрепление в системе, перезапуская бэкдор при каждом добавлении сетевого интерфейса - редкий и изощрённый метод persistence в Linux-среде.
Ключевой целью атаки является подмена контента для пользователей. Модуль Badnginx2s внедряет в веб-страницы тщательно обфусцированный JavaScript-код, который анализирует устройство посетителя, часовой пояс, контент страницы и даже время суток. На основе этой информации скрипт с определённой вероятностью перенаправляет жертву на сайты азартных игр или порнографии. Особенно высокая вероятность редиректа (до 80%) установлена на предрассветные часы (4-7 утра), когда, по мнению злоумышленников, бдительность пользователя минимальна. Более того, логика включает примитивное профилирование: пользователей, просматривающих обычный контент, осторожно подводят к «лёгкому» запрещённому контенту, в то время как тех, кто уже находится на сомнительных сайтах, сразу перенаправляют на агрессивные платформы с высокими ставками.
Принадлежность этой кампании к экосистеме Funnull была установлена путём сравнения внедряемого JavaScript-кода. Его структура, методы обфускации, логика проверки времени, региона и типа устройства оказались идентичны коду, использовавшемуся в ранее задокументированных атаках на сервисы Polyfill.io, BootCDN и Staticfile, которые прямо связываются с Funnull. Кроме того, домен "ailyunoss[.]com", выступавший в новой кампании в качестве удалённого переключателя, ранее напрямую использовал инфраструктуру Funnull для DNS-разрешения, что является прямым доказательством связи.
Отдельную тревогу вызывает второй, параллельный вектор заражения, также связанный с Funnull. Речь идёт о компрометации официального канала обновлений популярной системы управления видео-контентом (CMS) «Apple CMS» (версия maccms.la). При первой авторизации в административной панели легитимный механизм проверки обновлений тайно загружает и исполняет вредоносный PHP-скрипт. Этот скрипт, в свою очередь, внедряет тот же самый JavaScript-код Funnull во все страницы сайта. Крайне коварный механизм с трёхминутным сроком жизни полезной нагрузки (payload) затрудняет постфактумный анализ. По сути, тысячи сайтов, использующих эту CMS, получили скрытый бэкдор через доверенный источник.
Масштаб последствий впечатляет. По данным мониторинга, только через один из скомпрометированных доменов-клонов ("clondflare[.]com") в пиковый день было зафиксировано 340 тысяч уникальных обращений. С учётом доли источника данных на рынке, реальное количество затронутых пользователей в тот день могло достигать миллионов. Более 10 700 IP-адресов уже идентифицированы как носители характерного вредоносного кода, причём большинство из них - видеопорталы. Пострадавшие администраторы сайтов зачастую попадают в порочный круг «очистка-повторное заражение», удаляя только видимый JavaScript, в то время как PHP-бэкдор или системный руткит незаметно восстанавливают угрозу.
Интересно, что инфраструктура для размещения вредоносных скриптов мигрировала на новый, подозрительный CDN-сервис "cdn1[.]ai", созданный в июне 2025 года. Его небрежная эксплуатация (например, просроченный SSL-сертификат на официальном сайте) в сочетании с мгновенным принятием в работу со стороны такой осторожной структуры, как Funnull, позволяет исследователям предполагать, что "cdn1[.]ai" может быть не независимым провайдером, а новым фасадом самой преступной группировки, созданным для ухода от отслеживания после санкций.
Для специалистов по информационной безопасности и системных администраторов данная кампания служит суровым напоминанием о необходимости тщательного контроля целостности веб-серверов, особенно тех, что работают на популярных CMS и CDN-платформах. Рекомендуется проводить регулярные проверки на наличие неизвестных модулей Nginx, подозрительных правил Udev, записей в "/etc/ld.so.preload" и несанкционированных процессов. Владельцам сайтов на maccms.la настоятельно рекомендуется рассмотреть переход на альтернативные платформы или, как минимум, заблокировать внешние запросы на "update.maccms.la" и провести аудит файлов в директории "application/extra/". Борьба с подобными высокоорганизованными и живучими преступными экосистемами требует скоординированных усилий всего сообщества кибербезопасности для обмена индикаторами компрометации (IoC) и методами противодействия.
Индикаторы компрометации
IPv4
- 13.114.119.159
- 13.231.108.219
- 13.251.54.69
- 16.162.25.97
- 16.163.50.192
- 16.163.58.55
- 18.163.102.174
- 18.166.58.136
- 18.167.103.220
- 20.205.25.192
- 20.6.129.16
- 3.112.67.113
- 35.75.5.45
- 43.198.137.198
- 43.198.221.151
- 43.198.73.3
- 43.199.133.158
- 43.199.147.209
- 52.194.222.58
- 52.195.191.106
- 52.195.7.27
- 52.196.178.89
- 52.221.206.136
- 54.46.1.220
- 54.46.13.139
- 8.139.6.156
Domains
- 9688hopeeasy.cc
- a.plusedns.com
- ailyunoss.com
- ailyun-oss.com
- apk.aqyaqua.com
- b.plusedns.com
- bdustatic.com
- bobolickp92.cc
- bytedauce.com
- client.110.nz
- clondflare.com
- cn.js.mirrors163.com
- debianhacks.net
- fedoraforums.net
- firelategg.net
- flysky55.me
- gadlkd1.com
- goyppg06.com
- jquecy.com
- js.mirrors163.com
- js.ntp.asia
- js.ntporg.com
- js.sbindns.com
- js2.ntporg.com
- jsdclivr.com
- jsdelivr.vip
- linuxdistro.net
- lucycally.me
- macoms.la
- mirrors163.com
- mobileconfig.aqyaqua.com
- moxymodiy.cc
- ntp.asia
- ntporg.com
- plusedns.com
- realfake909.net
- s10.ntporg.com
- s11.ntporg.com
- sbindns.com
- tutupytua.com
- ubuntucommands.com
- update.ntporg.com
- zybbzlast.com
URLs
- http://download.zhw.sh/9aE5EFdJoS/init
- http://download.zhw.sh/wK4QYDIRFV/init
- https://3snzh72om4.apifox.cn
- https://api.bdustatic.com/jquery.min-4.0.12.js
- https://az-blob.110.nz/update/init
- https://az-blob.110.nz/update/s1
- https://az-blob.110.nz/update/s2
- https://az-blob.110.nz/update/s3
- https://az-blob.110.nz/update/s4
- https://az-blob.110.nz/update/s7
- https://az-blob.110.nz/update/s9
- https://bucket.service.generate.110.nz/2025-12-19/7d1d49a8d8c1fa7b4b743ed551fa338c112268e1/kernel.so
- https://bucket.service.generate.110.nz/2025-12-19/7d1d49a8d8c1fa7b4b743ed551fa338c112268e1/module.so
- https://bucket.service.generate.110.nz/2025-12-19/7d1d49a8d8c1fa7b4b743ed551fa338c112268e1/udev.rules
- https://bucket.service.generate.110.nz/udev.sh
- https://cdn.jsdelivr.vip/jquery.min-3.7.0.js
- https://cdnjs.clondflare.com/jquery.min-3.7.8.1.js
- https://cdnjs.jsdclivr.com/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css?v=3.7.8.2
- https://code.jquecy.com/jquery.min-3.6.8.js
- https://download.joymeet.top/app/2PG/00056321.mobileconfig
- https://dowoxox.gfewr.com/B9.apk
- https://node.blob.core.windows.net/update/a1
- https://node.blob.core.windows.net/update/a2
- https://node.blob.core.windows.net/update/h2.debianhacks.net/online
- https://node.blob.core.windows.net/update/j6.linuxdistro.net/online
- https://node.blob.core.windows.net/update/s10
- https://node.blob.core.windows.net/update/s11
- https://node.blob.core.windows.net/update/s14
- https://node.blob.core.windows.net/update/s7
- https://oss2025-6f57.obs.ap-southeast-1.myhuaweicloud.com/%E5%B9%BF%E5%91%8A_1.ts
- https://plist.ztyfv.com/d/4F48MCiqtsjDCS7QOWs3KU.plist
- https://static.bytedauce.com/ajax/libs/bootstrap/5.3.3/css/bootstrap-grid.min.css
- https://union.macoms.la/jquery.min-4.0.2.js
MD5
- 112e2eb2a57129ef175c3f64bccbac04
- 18b699375c76328b433145bdac02ec49
- 22f0d58bc482d413a5cc8922c7f79378
- 296318b90bc9d01ab045da042b0ecb21
- 2e7a42c9be6fc3840df867cb19c7afa5
- 3bff298be46f8817862bce2ac0be3176
- 51830656b0825b22703e4fcf31aec84c
- 563f5e605ebf1db8065fd41799e71bf9
- 5d6c33bf931699805206b00594de5e71
- 65ac2839ab2790b6df8e80022982a2c0
- 663706d4f3948417d05c11bbfa6cdbc9
- 6acb8bbcad3b8403f4567412cc6aa144
- 6e14853a6ad5e752a516290bf586d700
- 79c492bfd8a35039249bacc6a31d7122
- 85cdf5139f0a0a0f7e378bc2029d662b
- 85f3d29a8fd59e00fec83743664fb2b5
- 92c630062f0fe207c628b95fade34b96
- 946606977dd177347122867750244ae2
- a688afd342cee9feb74c61503fb0b895
- b06b9f13505eb49d6b3f4bddd64b12ce
- b5a5d93cfc443ecbd3b52cfe485b738c
- b5dfe88131fb1b3622a487df96be84e1
- b8239ce64c07e39ae7bed9ae8f5f3d2f
- cd36ec10f71b89dc259eb8825e668ae3
- d3b0b6496747ee77ab15e5f5d9583a67
- da594309691161f6e999984c26e1a10f
- dfd1fbf0a98e0984da9516311ccc1f05
- eb03db7ac9f10af66a1e2b16185fcadc
- fef497841554fff318b740dff7df3a49