
프로덕션 환경에서 안전하게 사용할 수 있는 스캐너로, Active Directory 도메인 컨트롤러에서 CVE-2026-25177(AD SPN 유니코드 충돌) 악용을 탐지합니다. 읽기 전용입니다.
CVE-2026-25177 — Active Directory SPN 유니코드 충돌 취약점(CVSS 8.8)의 악용을 탐지하는 프로덕션 환경에서 안전한 스캐너입니다.
이 취약점은 SPN 쓰기 권한이 있는 모든 인증된 사용자가 서비스 사용자 이름(SPN)에 유니코드 문자를 주입하여 SYSTEM 권한으로 권한을 상승시킬 수 있게 하며, AD의 중복 SPN 검증을 우회하고 Kerberos 티켓 오발급을 유발합니다.
read_only=True로 열리며 수정이 불가능합니다setspn -Q와 같은 내장 도구에서 사용하는 것과 동일한 경량 쿼리인 (servicePrincipalName=*)을 검색합니다pip 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 유니코드 충돌 탐지기 |
| 읽기 전용 스캔 - 프로덕션 환경에서 안전 |
+==============================================================+
[+] NTLM:389을 통해 연결됨(읽기 전용)
[*] SPN이 있는 모든 계정 스캔 중...
[+] 247개 계정, 1,042개 SPN 스캔 완료
======================================================================
스캔 결과: 1건 발견
CRITICAL: 1 | HIGH: 0 | INFO: 0
======================================================================
[CRITICAL] 발견 1: SPN에 의심스러운 유니코드 문자 1개 포함
────────────────────────────────────────────────────────────
계정: jsmith
DN: CN=jsmith,CN=Users,DC=corp,DC=local
SPN: HTTP/webserver.corp.local
SPN Hex: 48545450e2808b2f7765627365727665722e636f72702e6c6f63616c
수정일: 2026-03-13 14:22:17+00:00
위치 4: U+200B - 제로 너비 공백 [보이지 않음]
======================================================================
권장 조치:
1. CRITICAL 발견 사항이 있는 계정을 즉시 조사
2. 유니코드 문자가 포함된 SPN 제거
3. SPN 수정 이벤트에 대한 이벤트 로그 확인(이벤트 ID 4742)
4. 위임 권한 검토(SPN을 쓸 수 있는 사용자)
5. CVE-2026-25177에 대한 Microsoft 패치 적용
DC에 패치가 적용될 때까지 매일 스캔하려면 예약 작업(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은 2026년 3월 10일에 공개되었습니다(CVSS 8.8). Windows Server 2012부터 2025까지 모든 버전에 영향을 미칩니다. 이 공격은 위임된 SPN 쓰기 권한이 있는 표준 도메인 사용자 자격 증명만 필요로 합니다 — 이는 엔터프라이즈 환경에서 일반적인 구성입니다.
Microsoft는 패치를 출시했습니다. 즉시 적용하세요.
MIT 라이선스 — 자유롭게 사용, 수정, 배포할 수 있습니다. LICENSE 참조.