Неизвестные злоумышленники несколько недель атаковали шлюзы удалённого доступа SonicWall SMA1000 через цепочку ранее не раскрытых уязвимостей. Они создавали туннель к закрытым внутренним службам устройства, получали права суперпользователя и устанавливали вредоносные компоненты для скрытого доступа к корпоративным сетям.
Самые ранние обнаруженные следы компрометации относятся к 22 июня 2026 года. SonicWall раскрыла две задействованные уязвимости и выпустила исправления 14 июля. До публикации обновлений ошибки использовались как уязвимости нулевого дня.
Атакующие установили на захваченные устройства загрузчик KNUCKLEBALL, модифицированный прокси Suo5, веб-оболочку ORANGETAIL и утилиту ROOTRUN. Часть набора была создана или адаптирована специально для среды SonicWall SMA1000. Исследователи также обнаружили перехват незашифрованного трафика LDAP, из которого можно было извлекать имена пользователей и пароли.
Злоумышленники получили временное обозначение UTA0533. Публичных данных об их принадлежности к известной хакерской группировке или государству нет.

Первая уязвимость получила идентификатор CVE-2026-15409 и максимальную оценку опасности — 10 баллов из 10. Она относилась к классу SSRF, или подделке запросов на стороне сервера, и затрагивала обработчик /wsproxy.
Ошибка позволяла внешнему пользователю без действующего сеанса SonicWall создать туннель WebSocket к службам, доступным только через локальный интерфейс устройства. Для запуска цепочки требовался запрос со строкой пользовательского агента SMA Connect Agent и параметром bmID, начинавшимся с -3389. Успешный ответ содержал код HTTP 101, означающий переключение соединения на протокол WebSocket.
В штатной конфигурации внутренние службы не должны быть доступны из интернета. CVE-2026-15409 фактически превращала обработчик /wsproxy в мост между внешним пользователем и локальными компонентами шлюза.
Через созданный туннель исследователи подтвердили доступ к службе CouchDB на порту 1050, внутренней службе управления SMA на порту 8188 и службе сопоставления портов Erlang. Эти компоненты стали следующими звеньями атаки.
Для входа во внутреннюю службу управления требовался пароль, вычисляемый из аппаратного идентификатора product_uuid. Значение хранится в файле /sys/class/dmi/id/product_uuid.
На некоторых физических устройствах исследователи нашли распространённый стандартный UUID, встречающийся у оборудования разных клиентов. Теоретически такой идентификатор мог позволить вычислить пароль без дополнительной эксплуатации. Признаков применения этого способа в расследованном инциденте не обнаружено.
Фактическая цепочка включала CouchDB. Злоумышленники получили возможность записать и запустить от имени системной учётной записи couchdb сценарий, который считывал product_uuid. Временные метки обращения к порту 1050 совпали с появлением файла сценария в каталоге /tmp.
Точный способ эксплуатации CouchDB восстановить не удалось. Известно, что встроенные экземпляры базы использовали жёстко заданную пару учётных данных admin:admin, однако открытые материалы не подтверждают, что только этих данных было достаточно для выполнения всей операции.
Поэтому цепочку нельзя описывать как простое соединение двух CVE. Первая уязвимость открывала туннель к локальным службам. Затем атакующие задействовали не до конца установленную возможность CouchDB, прочитали product_uuid, получили доступ к управляющей службе и перешли к эксплуатации второй ошибки.
CVE-2026-15410 затрагивала метод sysCtrl.execRemoveHotfix, предназначенный для удаления установленных исправлений. SonicWall оценила её опасность в 7,2 балла из 10.
Метод передавал пользовательское значение вспомогательной программе /usr/local/bin/remove_hotfix. Путь к пакету исправления проверялся недостаточно строго. Атакующие могли добавить последовательность переходов между каталогами и указать файл за пределами штатной папки отката.
Например, путь ../../../../../tmp/1234.sh приводил к запуску сценария /tmp/1234.sh. Перед выполнением служебная программа делала файл исполняемым, а затем запускала его с правами root.
Восстановленная последовательность выглядела так: внешний запрос создавал туннель через /wsproxy, затем хакеры обращались к CouchDB, записывали сценарий от имени пользователя couchdb, считывали product_uuid и вызывали execRemoveHotfix с обходом каталогов. Итогом становилось выполнение команд с максимальными системными привилегиями.
Специалисты исследовали несколько шлюзов SonicWall SMA, два из которых оказались скомпрометированы. На первом устройстве сохранились загрузчик, вредоносные Java-модули, следы повышения привилегий и изменения системной конфигурации.
Второй шлюз был перезагружен 2 июля. Перезагрузка, вероятно, удалила находившиеся в памяти вредоносные модули и часть временных следов. Изменённая конфигурация маршрутов сохранилась, но сами Suo5 и ORANGETAIL во время сбора данных уже не работали.
Один из первых обнаруженных файлов находился по пути /usr/bin/xzfind. Название имитировало системную утилиту, но внутри программа называла себя ROOTRUN.
Это небольшой исполняемый файл Linux размером около 13 КБ. Он использовал функцию setuid(), повышал свои права до root и запускал переданную команду через оболочку Bash.
ROOTRUN не являлся самостоятельным удалённым бэкдором. Для его использования злоумышленнику уже требовалась возможность запустить команду на скомпрометированном устройстве. Утилита упрощала повторное получение максимальных привилегий для локального пользователя или другого вредоносного компонента.
Файл имел установленный бит setuid. Такой механизм позволяет программе запускаться с правами владельца, даже если её вызвал менее привилегированный пользователь.
Следом за ROOTRUN на одном из устройств появился сценарий deploy_new.py, получивший название KNUCKLEBALL. Его сохранили в каталоге библиотек Python и добавили в штатный сценарий запуска /etc/init.d/workplace, обеспечив автоматическое выполнение после перезагрузки.
Внутри KNUCKLEBALL находились два закодированных архива Java. Во время работы они временно записывались как /tmp/agent_wp8.jar и /tmp/agent_wp9.jar.
Загрузчик находил штатный процесс workplace.startup.CommandStartup и применял Java Attach API для подключения вредоносных архивов в качестве инструментальных агентов. Код начинал выполняться внутри легитимной виртуальной машины Java, связанной с SonicWall.
После внедрения временные JAR-файлы удалялись. Файлы журналов вредоносных агентов очищались, а их пути связывались с /dev/null, чтобы новые записи не оставались на диске.
Подобная техника усложняет обнаружение. Система видит уже существующий процесс SonicWall, а не отдельную подозрительную службу с очевидным именем.
KNUCKLEBALL изменял конфигурацию NGINX Unit через локальный интерфейс Unix. Это важно: речь идёт именно о сервере приложений NGINX Unit, а не об обычном конфигурационном файле веб-сервера NGINX.
В файл /var/lib/unit/conf.json добавлялись два маршрута:
/__api__/login перенаправлялся на /workplace/error.jsp;
/__api__/logout перенаправлялся на /workplace/dialogs/errorDialog.jsp.
Оба маршрута передавали запросы локальному приложению на порту 8085. Через них операторы могли обращаться к внедрённым Java-компонентам из интернета.
Адреса выглядели как обычные служебные методы входа и выхода. В штатной конфигурации SMA1000 таких маршрутов быть не должно.
Операторы могли выбрать другие названия. Поэтому при проверке важно искать не только два опубликованных пути, но и любые неожиданные правила перенаправления в конфигурации NGINX Unit.
Первый Java-архив содержал изменённую версию открытого инструмента suo5.jsp. Это средство перенаправления HTTP-трафика, которое позволяет передавать соединения через скомпрометированный сервер.
Вредоносный модуль внедрялся в класс, обслуживающий страницу /workplace/error.jsp. После активации он мог использовать SonicWall SMA1000 как промежуточный узел для обращений к ресурсам внутренней сети.
Suo5 корректнее называть прокси для HTTP-туннелирования. Он не был полностью новой разработкой: операторы модифицировали существующий открытый инструмент и добавили проверку специальной строки пользовательского агента.
Включение вредоносной функции происходило только при запросе с заданной строкой, похожей на идентификатор браузера. В ней использовалось невозможное сочетание версий Windows, Chrome и AppleWebKit. Обычный посетитель без правильного значения не получал доступ к управляющему каналу.
Пропуская трафик через VPN-шлюз, злоумышленники могли обращаться к корпоративным системам от имени устройства, которое уже считалось доверенным элементом сети.
Второй архив содержал веб-оболочку ORANGETAIL. Она была специально адаптирована к Java-среде SonicWall и по устройству напоминала открытый инструмент Behinder.
ORANGETAIL принимал данные через параметр find в запросах HTTP POST. Полученная нагрузка расшифровывалась, преобразовывалась в Java-класс и динамически загружалась в рабочий процесс.
Класс сохранялся внутри сеанса под заранее заданным ключом. Последующие запросы могли вызывать уже загруженный код без повторной записи основной нагрузки на диск.
Для защиты канала применялось шифрование AES-128 в режиме ECB с жёстко заданным ключом. Ответы также шифровались и кодировались. При неправильной строке пользовательского агента страница возвращала ошибку 404.
Чувствительные строки собирались в коде посимвольно, а вызовы криптографических функций выполнялись через механизм отражения Java. Такие приёмы усложняли поиск веб-оболочки по известным строкам и стандартным шаблонам.
На втором устройстве исследователи нашли сценарий, запускавший штатную программу tcpdump. Она захватывала пакеты, предназначенные для внутренних серверов каталогов через TCP-порт 389.
nohup tcpdump -i any '<traffic destined for internal directory servers on TCP port 389>' -w /var/tmp/<file_name> -C 100 -W 10 &
Порт 389 обычно используется для LDAP. Если соединение не защищено TLS, учётные данные и другая информация могут передаваться в открытом виде.
Сценарий сохранял перехваченные пакеты в каталоге /var/tmp, ограничивал размер каждого файла 100 МБ и хранил до десяти файлов. Это позволяло вести длительный сбор, не создавая один чрезмерно большой архив.
Операторы изучали незашифрованный LDAP-трафик и извлекали из него имена пользователей и пароли. Затем Suo5 и ORANGETAIL использовались для попыток проникновения в другие системы корпоративной сети.
Следы активности показали попытки входа с захваченного SMA-шлюза на различные внутренние серверы. Во время этих действий операторы случайно раскрыли имена нескольких своих компьютеров: DESKTOP-5P0TSCP, DESKTOP-IC3C80F, DESKTOP-KRLUI3J и KALI.
Последнее имя может указывать на систему с Kali Linux, но не позволяет определить личность, страну или принадлежность атакующих.
В изученных инцидентах операторы уверенно захватывали сами шлюзы SonicWall, однако доступные данные указывают на меньший успех при дальнейшем перемещении по сетям и компрометации других систем. Этот вывод относится к расследованным устройствам, а не ко всем возможным жертвам кампании.
Эксплуатация уязвимостей и обращения к веб-оболочкам выполнялись более чем с 200 IP-адресов. Некоторые из них относились к инфраструктуре ExpressVPN и Mullvad VPN.
Между остальными адресами исследователи не нашли очевидной общей связи. Использование VPN-сервисов и большого количества узлов усложняет определение местоположения операторов и блокировку инфраструктуры по статическим спискам.
UTA0533 остаётся временным обозначением неизвестного субъекта атаки. Оно не подтверждает существование отдельной устойчивой группировки и не является атрибуцией к какой-либо стране.
Какие версии SonicWall SMA1000 уязвимы
Проблема затрагивает физические устройства SonicWall SMA 1000 моделей 6210 и 7210, виртуальную версию 8200v и Central Management Server на всех поддерживаемых гипервизорах.
Уязвимые сборки:
12.4.3-03245;
12.4.3-03387;
12.4.3-03434;
12.5.0-02283;
12.5.0-02624;
12.5.0-02800.
Исправления вошли в версии 12.4.3-03453, 12.5.0-02835 и более новые сборки. Производитель подтвердил эксплуатацию обеих уязвимостей в реальных атаках.
Ошибки не относятся к серии SMA 100 и другим продуктам SonicWall. Владельцам этих решений следует проверять отдельные бюллетени, а не применять рекомендации для SMA1000 автоматически.
Установка исправления закрывает уязвимости, но не удаляет уже внедрённые файлы, изменённые маршруты и оставленные средства повышения привилегий.
SonicWall рекомендует всем владельцам затронутых версий установить последние обновления и провести криминалистическую проверку. При обнаружении индикаторов компрометации физический шлюз необходимо переустановить из чистого образа, а виртуальный — развернуть заново.
После восстановления следует заменить пароли пользователей и администраторов, а также сбросить секреты одноразовых кодов TOTP.
Резервную копию конфигурации можно считать относительно безопасной, если она создана до установки декабрьских сборок 12.4.3-03245 и 12.5.0-02283. Более поздняя копия могла сохранить внесённые злоумышленниками изменения.
При отсутствии старой резервной копии конфигурацию требуется проверять вручную.
Как найти следы взлома SonicWall SMA1000
В журнале extraweb_access.log следует искать успешные запросы к адресам /__api__/login и /__api__/logout с кодом HTTP 200.
Отдельного внимания требуют обращения к /wsproxy, содержащие подозрительный параметр host и завершившиеся кодом HTTP 101. Такой ответ указывает на успешное создание туннеля WebSocket.
В файле ctrl-service.log признаком эксплуатации могут быть записи об удалении исправления с последовательностями перехода между каталогами. Примером служит путь вида ../../../../../tmp/1234.sh.
Файл /var/lib/unit/conf.json необходимо проверить на наличие неожиданных маршрутов, включая правила для /__api__/login и /__api__/logout.
Администраторам также стоит искать неизвестные исполняемые файлы с установленным битом setuid, изменения /etc/init.d/workplace, подозрительные сценарии в /tmp и /var/tmp, а также исходящие подключения SMA-шлюза к внутренним системам.
Для поиска KNUCKLEBALL, Suo5, ORANGETAIL и связанных файлов опубликованы правила YARA. Отсутствие известных контрольных сумм не гарантирует чистоту системы: операторы могут менять имена и пересобирать компоненты.
Агентство по кибербезопасности и защите инфраструктуры США добавило CVE-2026-15409 и CVE-2026-15410 в каталог известных эксплуатируемых уязвимостей 14 июля.
Включение в этот каталог означает наличие подтверждённых случаев применения ошибки в реальных атаках. Вместе с уязвимостями SonicWall ведомство добавило проблемы в Microsoft Active Directory Federation Services и SharePoint Server.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.