ESC5
ESC5는 AD CS와 직접적으로 연결된 객체에 대한 제어권을 악용하여 권한 상승을 하는 공격 기법입니다.
다른 ESC 기법들과 같이 템플릿이나 인증 기관 서비스에 존재하는 취약점 외에도,
AD CS와 직접적으로 연결된 객체들에 대한 제어권은 권한 상승을 허용할 수 있습니다.
ESC5를 악용하기 위해서는 다음과 같은 객체에 대한 권한이 필요합니다.
CA 서버의 AD 컴퓨터 객체
CA 서버의 RPC/DCOM 서버
CN=Public Key Services, CN=Services, CN=Configuration, DC=, DC= 컨테이너 내의 하위 AD 객체 또는 컨테이너(ex - Certificate Templates 컨테이너, Certification Authorities 컨테이너, NTAuthCertificates 객체, Enrollment Services 컨테이너 등)
공격자가 위와 같은 객체 중 하나를 손상시키면 PKI 시스템이 손상되어 권한 상승을 야기할 수 있습니다.
ESC 시리즈의 공격이 모두 템플릿을 이용한 것은 아니다보니, 실제적으로 AD CS의 객체 권한을 확보해
권한 상승을 이어가는 ESC5와 같은 공격은 Certipy-ad find 결과로 출력되지 않습니다.
CA에 접근할 수 있는 객체에 할당된 권한 별로 Certipy-ad find의 결과가 모두 다르듯이,
일반 사용자의 권한으로는 취약한 템플릿이 식별되지 않다가도 앞서 언급한 3가지 중 하나의
제어권을 획득한다면 ESC4 혹은 ESC7 공격을 통해 도메인 관리자 권한 획득이 가능합니다.
Practice
현재 실습 환경 호스트 별 IP 주소는 다음과 같습니다.
Domain Controller - 172.168.19.3
ADCS Server - 172.16.19.5
Pivot Host - 10.129.205.205
Kali Linux - 10.10.14.211
Kali 환경에서 ADCS Server를 향한 패킷을 직접적으로 전송하지 못하는 환경이기 때문에
Dynamic Port Forwarding을 이용하여 피벗 호스트를 통한 패킷을 Proxychains로 전송합니다.
Pivot Host를 통해 ADCS Server의 서비스를 이용할 때 사용하는 계정은
ADCS의 로컬 관리자 권한을 가진 계정이기 때문에 필요 조건을 만족하여 공격이 가능합니다.
만약 장악한 호스트가 ADCS Server인 것에 대해서 확신이 없다면,
SubCA 템플릿의 Certificate Authorities
속성에 대한 값과 일치하는 호스트 네임을 찾을 수도 있습니다.
이후의 공격 과정은 ESC4 혹은 ESC7과 동일하기 때문에 생략합니다.
References
Last updated
Was this helpful?