Серия нулевых уязвимостей в SonicWall SMA позволила злоумышленникам получить root-доступ к VPN-устройствам

information security

В начале июля 2026 года компания Volexity, специализирующаяся на расследовании инцидентов информационной безопасности, завершила анализ атаки на устройства SonicWall SMA 1000-й серии. Исследователи выявили, что злоумышленник, отслеживаемый под идентификатором UTA0533, использовал цепочку из двух уязвимостей нулевого дня (0-day) для получения полного контроля над VPN-устройствами. Инцидент затронул модели 6210, 7210 и 8200v, для которых SonicWall выпустил исправления 14 июля 2026 года.

Описание

Расследование началось после того, как в телеметрии заказчика были зафиксированы подозрительные попытки аутентификации и бокового перемещения, исходящие от самих VPN-устройств. Специалисты Volexity получили административный доступ к двум скомпрометированным устройствам по SSH и собрали образы памяти и дисков для детального анализа. Уже на этапе первичной триады были обнаружены артефакты, однозначно подтверждающие компрометацию обоих устройств. Самая ранняя зафиксированная активность злоумышленника датируется 22 июня 2026 года.

В ходе анализа логов, образов памяти и дисков исследователи восстановили полную картину атаки. По данным анализа, ключевую роль сыграла уязвимость CVE-2026-15409 - это обход аутентификации на предварительном этапе в компоненте /wsproxy. Она позволяет неавторизованному внешнему запросу установить WebSocket-туннель к сервисам, которые должны быть доступны только на локальном хосте. Для этого достаточно отправить GET-запрос с указанием User-Agent: SMA Connect Agent и параметром bmID, начинающимся с "-3389". В результате атакующий получает доступ к службам на портах 1050 (CouchDB), 1051 (Erlang Port Mapper Daemon) и 8188 (сервис управления SMA).

Управляющий сервис на порту 8188 изначально защищён базовой HTTP-аутентификацией. Пароль для неё формируется на основе аппаратного идентификатора продукта (product_uuid), который хранится в файле, доступном для чтения любым пользователем системы. Исследователи отметили, что в некоторых физических устройствах UUID оказался одинаковым для разных экземпляров, что ещё больше упрощает его компрометацию. Хотя в данном инциденте обход аутентификации напрямую не использовался, злоумышленник применил другой путь для чтения этого файла.

Согласно выводам экспертов, UTA0533 эксплуатировал CouchDB, который установлен по умолчанию на устройствах SMA. База данных CouchDB имеет жестко заданные учётные данные admin:admin и доступна только локально. Используя WebSocket-туннель, атакующий связался с CouchDB и, действуя от имени пользователя couchdb, создал скрипт в каталоге /tmp. Этот скрипт прочитал файл product_uuid, после чего злоумышленник смог вычислить пароль для управляющего сервиса.

Дальнейшая эскалация привилегий стала возможна благодаря уязвимости CVE-2026-15410. Она затрагивает метод sysCtrl.execRemoveHotfix, который принимает пользовательский ввод для построения пути к файлу отката. Из-за отсутствия должной проверки пути можно применить обход каталогов: подставив "../../../../../tmp/1234.sh", атакующий заставляет систему выполнить произвольный скрипт с правами root.

Таким образом, полная цепочка эксплуатации выглядит следующим образом. Сначала злоумышленник отправляет неаутентифицированный запрос к /wsproxy с нужными параметрами и устанавливает WebSocket-туннель. Затем через туннель он обращается к CouchDB, записывает файл от имени пользователя couchdb, читает product_uuid и получает пароль для управляющего сервиса. После этого, используя метод execRemoveHotfix с обходом пути, он запускает вредоносный скрипт от root.

После получения полного контроля UTA0533 установил на одном из устройств инструменты для закрепления в системе и дальнейшего бокового перемещения. В каталоге /usr/bin был размещён setuid-бинарник xzfind (который злоумышленник называет "rootrun"), позволяющий любому непривилегированному пользователю выполнять команды от root. Кроме того, на диск был записан скрипт deploy_new.py, названный исследователями KNUCKLEBALL. Этот на Python-скрипт внедрял два Java-архива в легитимный процесс workplace.startup.CommandStartup.

Первый архив содержал Suo5 - открытое средство перенаправления HTTP-трафика. Второй архив, названный ORANGETAIL, представлял собой веб-шелл, работающий аналогично инструменту Behinder. Все запросы к веб-шеллу требовали особую строку User-Agent: "Mozilla/6.0 (Windows NT 11.0; Win64; x64) AppleWebKit/1537.136 (KHTML, like Gecko) Chrome/149.0.0.1 Safari/1537.136". Эта строка выглядит как настоящий агент, но использует несуществующие номера версий. Для внешнего доступа к веб-шеллу злоумышленник модифицировал конфигурацию nginx и добавил два пути: /__api__/login и /__api__/logout, которые перенаправлялись на соответствующие JSP-страницы.

На втором скомпрометированном устройстве подобных инструментов обнаружено не было - исследователи связали это с перезагрузкой устройства 2 июля 2026 года, которая удалила из памяти резидентные бэкдоры. Однако на этом устройстве злоумышленник успел использовать tcpdump для захвата незашифрованного LDAP-трафика. В каталоге /var/tmp были найдены скрипты и файлы, свидетельствующие о перехвате учётных данных, передаваемых на внутренние контроллеры домена.

После получения доступа UTA0533 предпринял попытки бокового перемещения в сеть заказчика. Для этого он использовал как туннель Suo5, так и веб-шелл ORANGETAIL. Следователи зафиксировали более 200 различных IP-адресов, с которых осуществлялась активность. Часть адресов принадлежала коммерческим VPN-сервисам ExpressVPN и MullvadVPN. Также были обнаружены имена хостов, которые злоумышленник ненамеренно раскрыл, включая DESKTOP-5P0TSCP, DESKTOP-IC3C80F, DESKTOP-KRLUI3J и KALI.

Несмотря на серьёзную компрометацию самих VPN-устройств, исследователи отмечают, что злоумышленнику, вероятно, не удалось успешно переместиться на другие системы в сети. Тем не менее, объём полученных привилегий позволяет предположить, что утечка учётных данных, хранящихся или обрабатываемых устройством, могла произойти. Специалисты Volexity опубликовали подробные индикаторы компрометации и YARA-правила для обнаружения вредоносного ПО, обнаруженного в рамках расследования.

Пользователям SonicWall SMA 1000-й серии настоятельно рекомендуется немедленно установить горячее исправление (hotfix) и обновить прошивку до версий 12.4.3-03453 или 12.5.0-02835. Дополнительно следует проверить логи на предмет аномальных запросов к /wsproxy, неожиданных файлов в /tmp и /var/tmp, а также модификаций конфигурации nginx по пути /var/lib/unit/conf.json. Обнаружение setuid-бинарников, отсутствующих в списке штатных, также является признаком компрометации.

Индикаторы компрометации

IPv4

  • 108.205.8.173
  • 147.45.51.19
  • 150.241.210.53
  • 202.8.105.201
  • 217.77.15.99
  • 42.200.172.14
  • 81.19.140.217
  • 89.117.20.1

MD5

  • 54d21399b8b52b48a0fef68450593e45
  • 5f3a55201c511c9ff9be4c16c41028a2

SHA1

  • 5e5b716f2385c818ec61198be1a2a07a4560eac5
  • c2b0ae0a1f42a139abe4dd612676066ec1426394

SHA256

  • 1e1e68bbb899450a57274a8b12082ed4e2040a2aae77014f20431689d2b4edee
  • 81a9af3846bad3a1107164ff7cf0a08e020b31a3b32fd17866e17d4c1565f7f2
  • 8c470301dcb7278f73e622f1950073567b34011c64b60cdfbb0f89803923a5a3
  • ea9154e374e4f77bc2cf54282e23543573980342a85bc888cb23f20b8bbba081

YARA

Комментарии: 0