В начале июля 2026 года специалисты по информационной безопасности зафиксировали активное распространение ботнета, написанного на языке Go. Вредоносная программа, получившая название NadMesh, объединяет функции сканирования, эксплуатации уязвимостей, сбора учётных данных и разведки AI-сервисов в единой автономной платформе. Это не разовая вспышка, а долгосрочная эволюционирующая угроза, ориентированная на инфраструктуру искусственного интеллекта и протокол MCP.
Описание
Своё название ботнет получил из кода управляющего компонента, где он обозначен как "n4d mesh controller". В отличие от классических червей, NadMesh оснащён встроенным движком автономного сканирования, который включает базу из более чем 90 диапазонов IP-адресов облачных провайдеров и способен работать без участия оператора. Ключевой особенностью является нацеленность на AI-инфраструктуру: модуль ai_harvest.py использует API сервиса Shodan для сбора IP-адресов таких платформ, как ComfyUI, Ollama, n8n, Open WebUI, Langflow и Gradio. Эти адреса получают наивысший приоритет при сканировании и эксплуатации.
Архитектура NadMesh построена по принципу замкнутого цикла атаки, который включает пять этапов: сбор разведданных, управление, пополнение задач, сборку вредоносного агента и его доставку. Сбор разведданных выполняет скрипт ai_harvest.py, который через Shodan находит серверы AI-сервисов и вставляет их в очередь сканирования с приоритетом 20. Управляющий контроллер, реализованный на Go, работает на портах 80 и 8443. Он принимает регистрацию ботов, отправляет задачи на сканирование диапазонов CIDR и портов, собирает результаты эксплуатации и учётные данные. Оператор может наблюдать за всей активностью через веб-панель по адресу /panel.
Система пополнения задач автоматизирована. Четыре скрипта образуют цепочку, которая подпитывает сканирование новыми целями. Скрипт yield_generator.py каждые пять минут анализирует результаты за последние 24 часа, выделяет 50 наиболее "урожайных" сетей /16 и генерирует для них 2000 задач сканирования с приоритетом 10. Скрипт auto_inject.sh каждые 15 минут добавляет IP-адреса, с которых уже были получены опасные результаты, в очередь с приоритетом 20, а также случайные сети облачных провайдеров с приоритетом 5. Скрипт reinject.sh раз в неделю добавляет все IP-адреса с подтверждёнными уязвимостями в очередь с максимальным приоритетом 50. Дополнительно скрипт auto_blacklist.sh автоматически заносит адреса в чёрный список, если на них не удалось успешно развернуть вредоносное ПО после десяти попыток - таким способом авторы пытаются обходить ловушки исследователей безопасности.
Сборка агента происходит с применением техник обфускации: Garble для запутывания символов и литералов, сжатие UPX-9 и добавление случайных данных. Каждый экземпляр имеет уникальный хэш, что затрудняет обнаружение по сигнатурам. Доставка осуществляется через три вектора: Docker, MCP и Redis - с помощью скрипта vps_deployer.py, а также через push_deployer.py, который отправляет бинарный файл и сторожевой процесс.
На стороне жертвы агент обеспечивает три линии закрепления: запись SSH-ключа в .ssh/authorized_keys, размещение исполняемых файлов в нескольких скрытых каталогах (/dev/shm/.a, /var/tmp/.a, /tmp/.a) и установку заданий cron в /etc/cron.d/.sys_monitor и /etc/cron.d/.s. Удаление одного компонента не удаляет угрозу, так как остальные механизмы восстанавливают его.
Агент сканирует 30 портов, охватывающих веб-серверы, Kubernetes, базы данных, контейнерные API и AI-сервисы. Список включает порты 8188 (ComfyUI), 11434 (Ollama), 5678 (n8n), 7860 (Gradio) - именно они являются приоритетными целями. Ботнет поддерживает более 20 векторов удалённого выполнения команд, среди которых атаки на Redis через CONFIG SET, создание подов в Kubernetes с монтированием hostPath, эксплуатация Docker API, уязвимости в Elasticsearch, Jenkins, Spring Cloud Gateway, WebLogic, а также целенаправленные атаки на MCP-серверы через вызовы tools/call.
После успешного проникновения агент собирает учётные данные облачных провайдеров, токены сервисных аккаунтов Kubernetes, данные о моделях AI и доступных MCP-сервисах. Эта информация передаётся на управляющий сервер. Панель управления отображает статистику по собранным данным: количество уникальных ключей AWS, число уязвимых MCP-серверов, список моделей Ollama и ComfyUI, токены кластеров Kubernetes, переменные окружения с учётными данными и информацию о хостах Docker, пригодных для эскалации.
По данным телеметрии, NadMesh всё ещё находится на ранней стадии распространения, но его уже наблюдали в нескольких регионах. Наиболее активно эксплуатируются уязвимости Redis и Docker, а также атаки по слабым SSH-паролям. Архитектура ботнета демонстрирует коммерческий подход к разработке: автоматический сбор разведданных, саморегулирующаяся система пополнения целей, продуктовая аналитика с воронкой конверсии и A/B-тестирование через канареечные обновления. Это указывает на то, что создатели преследуют не хаотичное распространение, а целенаправленное накопление доступа к наиболее ценным AI-активам.
Вредоносная программа использует три независимые схемы аутентификации. Для ботов применяется HMAC-SHA256 с временной меткой и ключом MeshKey. Оператор идентифицируется по заголовку X-Operator-Key. Панель управления защищена cookie n4d_panel, которая пересчитывается каждый час на основе хэша от ключа оператора и текущего часа. Система ограничивает число попыток входа с одного IP до пяти за 10 минут, после чего возвращает ошибку 429.
Разработчики предусмотрели механизм защиты от нештатных ситуаций: если агент не получает задачу от управляющего сервера, он самостоятельно генерирует случайный диапазон /24 и продолжает сканирование. Это обеспечивает непрерывность распространения даже при потере связи с C2-сервером.
Индикаторы компрометации
IPv4
- 209.99.186.235
Domain
- cdnorigin.net
SHA1
- 31c69b3e12936abca770d430066f379ec1d997ec