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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-41089-LongLogon — CVE-2026-41089 checker: unauthenticated, non-destructive detection for the Netlogon CLDAP stack buffer overflow (CVSS 9.8). Reports whether a domain controller's domain is long enough to crash, without sending the overflow. The binary-verified analysis the public PoCs got wrong. | Kitploit
Инструменты/GitHubGitHub/adscanpro/cve-2026-41089-longlogon
ReconnaissanceVulnerability ScannersVulnerability AnalysisExploitationNetwork SecurityPenetration Testing
GitHubadscanpro/cve-2026-41089-longlogon

CVE-2026-41089-LongLogon

CVE-2026-41089 checker: unauthenticated, non-destructive detection for the Netlogon CLDAP stack buffer overflow (CVSS 9.8). Reports whether a domain controller's domain is long enough to crash, without sending the overflow. The binary-verified analysis the public PoCs got wrong.

Популярное

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

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

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

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

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

LongLogon · CVE-2026-41089

CVE-2026-41089 · NVD MSRC advisory CVSS 3.1 9.8 CWE-121 stack buffer overflow
checker · non-destructive unauthenticated · pre-auth run with uv MIT license

LongLogon — это неаутентифицированная, неразрушающая проверка предусловия для CVE-2026-41089, столового переполнения буфера до аутентификации в службе Windows Netlogon. Без учетных данных и без отправки переполнения он сообщает, достаточно ли длинно DNS-доменное имя контроллера домена, чтобы ошибка вызвала его сбой.

LongLogon checking a domain controller

Действительно ли работает публичный PoC для CVE-2026-41089?

На нормально названном контроллере домена нет. Публичные эксплойт-PoC для этой CVE (самый звёздный и его копии) заявляют, что вызывают сбой контроллера домена, отправляя длинное имя пользователя. Они не вызывают сбой незапатченного контроллера домена в обычном домене по двум причинам, подтверждённым сравнением пред- и пост-патч-версий netlogon.dll и воспроизведением сбоя в лаборатории:

  1. Неверный NtVer. Они отправляют пинг с установленным битом V5EX (0x16), что направляет к безопасному по границам BuildSamLogonResponseEx. Уязвимая устаревшая BuildSamLogonResponse достигается только при сброшенном этом бите. LongLogon использует 0x02.
  2. Длинное имя пользователя не может переполнить буфер само по себе. Управляемое атакующим поле User ограничено 130 широкими символами бинарником, что намного меньше 528-байтового буфера. Байты, которые перемещают курсор на стековую защиту, являются собственными длинными DNS-именами сервера, которые не изменяются длиной полезной нагрузки.

Таким образом, популярный эксплойт не срабатывает в обычном домене, а тайм-аут recv (который один потерянный UDP-пакет вызывает на здоровом контроллере домена) ошибочно принимается за сбой. LongLogon — это не один из таких эксплойтов: это исправленный, подтверждённый бинарным анализом инструмент, поставляемый как неразрушающий проверяющий, который никогда не отправляет переполнение. Лабораторно подтверждённый порог сбоя и полный механизм приведены ниже.

Что такое CVE-2026-41089

Стековое переполнение буфера (CWE-121, CVSS 9.8) в пути Netlogon DC-locator NlGetLocalPingResponse → BuildSamLogonResponse → NetpLogonPutUnicodeString. Отвечая на CLDAP- или MAILSLOT-пинг, контроллер домена сериализует свои собственные имена леса, домена и хоста, а также небольшую управляемую атакующим строку в фиксированный 528-байтовый стековый буфер (ushort local_258[264]), при этом стековая защита находится сразу после него. Когда собственные DNS-имена сервера достаточно длинны, кумулятивная запись достигает конца буфера, завершающий L'\0' переполняет защиту, срабатывает __report_gsfailure, и lsass.exe завершается с STATUS_STACK_BUFFER_OVERRUN (0xc0000409). Контроллер домена перезагружается. Без аутентификации, один UDP-пакет.

Там, где Zerologon (CVE-2020-1472) злоупотреблял нулевым вызовом, LongLogon злоупотребляет патологически длинным именем домена.

Что проверяет этот инструмент и что он не делает

longlogon.py является неразрушающим. Он отправляет безвредные CLDAP-пинги с минимальным полем User, измеряет ответ устаревшего сборщика и сообщает, выполняется ли предусловие переполнения: достаточно ли длинно доменное имя этого контроллера домена, чтобы незапатченный контроллер домена вызвал сбой.

Он не:

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

Знание того, какие из ваших контроллеров домена действительно запатчены, требует аутентифицированной (административной) проверки версии по всему парку. Именно это ADscan автоматизирует в рамках пентеста (см. ниже).

Почему почти каждый реальный контроллер домена безопасен

Единственные управляемые атакующим байты, которые достигают буфера, поступают из CLDAP-фильтра User, ограниченного 130 широкими символами, что намного меньше 528-байтового буфера самих по себе. Байты, которые перемещают курсор на защиту, являются собственными именами сервера, которыми атакующий не управляет. Нормально названный контроллер домена (corp.local) не может быть разрушен. Поэтому Microsoft оценивает это как "Эксплуатация менее вероятна." В лаборатории минимальная длина DNS-домена для сбоя Windows Server 2016 (с именем хоста из 7 символов) составила 98 символов.

Использование

С uv — нулевая настройка. Зависимости объявлены встроенно (PEP 723), поэтому это автоматически установит rich во временное окружение:

root@kitploit:~
uv run longlogon.py <dc-ip> <dc-dns-domain>

Или с помощью pip:

root@kitploit:~
pip install rich
python3 longlogon.py <dc-ip> <dc-dns-domain>

DNS-домен должен совпадать с тем, который обслуживает контроллер домена. Он не секретен: rootDSE, обратный DNS и сам CLDAP — всё это его раскрывает. Результат — вердикт о предусловии плюс расчёт заполнения буфера по полям.

Маршрутизация NtVer имеет значение. Уязвимая устаревшая BuildSamLogonResponse достигается только тогда, когда (NtVer & 0xc) == 0 и (NtVer & 0x2) != 0. Публичные попытки эксплойта, отправляющие NtVer=0x16 или 0x06, устанавливают бит 2 (0x4) и попадают в безопасный по границам BuildSamLogonResponseEx, поэтому они никогда не вызывают ошибку. LongLogon использует 0x02.

Затронутые сборки

Незапатченные контроллеры домена Windows Server, 2012 R2–2025. Первые исправленные сборки:

Ответственное использование

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

Дальнейшие шаги

  • Полная исследовательская статья: как ошибка была обнаружена с помощью сравнения патчей, точная механика буфера и почему публичные PoC не срабатывают. https://adscanpro.com/blog/patch-diffing-cve-2026-41089-netlogon
  • ADscan LITE (бесплатно, с открытым исходным кодом): пентест Active Directory из одного терминала. Перечисление, сбор данных для BloodHound, Kerberoasting, ADCS, пути атак, доказательства. https://github.com/ADScanPro/adscan
  • ADscan PRO: та же автоматизация килл-чейна для команд, занимающихся AD-проектами. https://adscanpro.com/pro

Исследование: Yeray Martín Domínguez · ADscan · CVE-2026-41089 · Netlogon · Active Directory · контроллер домена · стековое переполнение буфера · CLDAP · неаутентифицированный · до аутентификации · доказательство концепции

Скачать инструмент
Windows ServerПервая исправленная сборка
201610.0.14393.9140
201910.0.17763.8755
202210.0.20348.5074
2022 23H210.0.25398.2330
202510.0.26100.32772