
Production-safe сканер, который обнаруживает эксплуатацию CVE-2026-25177 (AD SPN Unicode Collision) на контроллерах домена Active Directory. Только чтение.
Безопасный для продакшена сканер, который обнаруживает эксплуатацию CVE-2026-25177 — уязвимости коллизии Unicode в SPN Active Directory (CVSS 8.8).
Эта уязвимость позволяет любому аутентифицированному пользователю с правами на запись SPN повысить привилегии до SYSTEM, внедряя Unicode-символы в имена субъектов служб (SPN), обходя проверку AD на дубликаты SPN и вызывая некорректную выдачу билетов Kerberos.
read_only=True; никакие изменения невозможны(servicePrincipalName=*), тот же лёгкий запрос, который используют встроенные инструменты, такие как setspn -Qpip install -r requirements.txt
# На машине, входящей в домен — автоматически определяет DC, домен и имя пользователя
# Запрашивает пароль безопасно (никогда не отображается в терминале или истории команд)
python detect_spn_abuse.py
# Автоопределение с CSV-отчётом и обнаружением недавних изменений
python detect_spn_abuse.py --csv report.csv --days 7
# Укажите только имя пользователя (остальное определится автоматически)
python detect_spn_abuse.py -u svc_scanner
# Полностью вручную
python detect_spn_abuse.py -dc dc01.corp.local -d corp.local -u scanner_svc
# Использование LDAPS (порт 636)
python detect_spn_abuse.py --use-ssl
Примечание: Если опустить -p, скрипт запросит пароль безопасно — он не появится в терминале или истории команд.
+==============================================================+
| CVE-2026-25177 - SPN Unicode Collision Detector |
| Read-only scan - safe for production |
+==============================================================+
[+] Connected via NTLM:389 (read-only)
[*] Scanning all accounts with SPNs...
[+] Scanned 247 accounts, 1,042 SPNs
======================================================================
SCAN RESULTS: 1 finding(s)
CRITICAL: 1 | HIGH: 0 | INFO: 0
======================================================================
[CRITICAL] Finding 1: SPN contains 1 suspicious Unicode character(s)
────────────────────────────────────────────────────────────
Account: jsmith
DN: CN=jsmith,CN=Users,DC=corp,DC=local
SPN: HTTP/webserver.corp.local
SPN Hex: 48545450e2808b2f7765627365727665722e636f72702e6c6f63616c
Modified: 2026-03-13 14:22:17+00:00
Position 4: U+200B - Zero-Width Space [invisible]
======================================================================
RECOMMENDED ACTIONS:
1. Investigate accounts with CRITICAL findings immediately
2. Remove any SPNs containing Unicode characters
3. Check Event Log for SPN modification events (Event ID 4742)
4. Review delegation permissions (who can write SPNs)
5. Apply Microsoft patch for CVE-2026-25177
Чтобы сканировать ежедневно, пока ваши контроллеры домена не будут пропатчены, настройте запланированную задачу (Windows) или cron-задание (Linux):
Windows (Планировщик задач):
schtasks /create /tn "CVE-2026-25177 Scanner" /tr "python C:\path\to\detect_spn_abuse.py -dc dc01.corp.local -d corp.local -u scanner_svc -p 'password' --csv C:\logs\spn_scan.csv --days 1" /sc daily /st 06:00
Linux (cron):
0 6 * * * python3 /opt/detect_spn_abuse.py -dc dc01.corp.local -d corp.local -u scanner_svc -p 'password' --csv /var/log/spn_scan.csv --days 1
CVE-2026-25177 была раскрыта 10 марта 2026 года (CVSS 8.8). Она затрагивает все версии Windows Server с 2012 по 2025. Атака требует только стандартных учётных данных пользователя домена с делегированными правами на запись SPN — распространённая конфигурация в корпоративных средах.
Microsoft выпустила патчи. Примените их немедленно.
Лицензия MIT — свободно используйте, изменяйте и распространяйте. См. LICENSE.