AD CS Account Persistence

Support HackTricks

이것은 https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf에서의 훌륭한 연구의 머신 지속성 장에 대한 간단한 요약입니다.

인증서를 통한 활성 사용자 자격 증명 도난 이해 – PERSIST1

사용자가 도메인 인증을 허용하는 인증서를 요청할 수 있는 시나리오에서, 공격자는 이 인증서를 요청하고 탈취하여 네트워크에서 지속성을 유지할 기회를 갖습니다. 기본적으로 Active Directory의 User 템플릿은 이러한 요청을 허용하지만, 때때로 비활성화될 수 있습니다.

Certify라는 도구를 사용하여 지속적인 액세스를 가능하게 하는 유효한 인증서를 검색할 수 있습니다:

Certify.exe find /clientauth

인증서의 힘은 사용자로 인증하는 능력에 있으며, 인증서가 유효한 한 비밀번호 변경과 관계없이 해당 사용자로 인증할 수 있습니다.

인증서는 certmgr.msc를 사용하여 그래픽 인터페이스를 통해 요청하거나 certreq.exe를 사용하여 명령줄을 통해 요청할 수 있습니다. Certify를 사용하면 인증서를 요청하는 과정이 다음과 같이 간소화됩니다:

Certify.exe request /ca:CA-SERVER\CA-NAME /template:TEMPLATE-NAME

성공적인 요청 후, .pem 형식으로 인증서와 그 개인 키가 생성됩니다. 이를 Windows 시스템에서 사용할 수 있는 .pfx 파일로 변환하기 위해 다음 명령어가 사용됩니다:

openssl pkcs12 -in cert.pem -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx

.pfx 파일은 대상 시스템에 업로드된 후 Rubeus라는 도구와 함께 사용되어 사용자의 티켓 부여 티켓(TGT)을 요청할 수 있으며, 공격자의 접근 권한을 인증서가 유효한 동안(일반적으로 1년) 연장합니다:

Rubeus.exe asktgt /user:harmj0y /certificate:C:\Temp\cert.pfx /password:CertPass!

중요한 경고는 이 기술이 THEFT5 섹션에 설명된 다른 방법과 결합될 경우, 공격자가 로컬 보안 권한 하위 시스템 서비스(LSASS)와 상호작용하지 않고도 계정의 NTLM 해시를 지속적으로 얻을 수 있게 하며, 비승격된 컨텍스트에서 작동하여 장기적인 자격 증명 탈취를 위한 더 은밀한 방법을 제공한다는 점이다.

인증서를 통한 머신 지속성 확보 - PERSIST2

또 다른 방법은 손상된 시스템의 머신 계정을 인증서에 등록하는 것으로, 이러한 작업을 허용하는 기본 Machine 템플릿을 활용한다. 공격자가 시스템에서 승격된 권한을 얻으면, SYSTEM 계정을 사용하여 인증서를 요청할 수 있으며, 이는 일종의 지속성을 제공한다:

Certify.exe request /ca:dc.theshire.local/theshire-DC-CA /template:Machine /machine

이 접근 방식은 공격자가 머신 계정으로 Kerberos에 인증하고 S4U2Self를 활용하여 호스트의 모든 서비스에 대한 Kerberos 서비스 티켓을 얻을 수 있게 하여, 공격자에게 머신에 대한 지속적인 접근을 효과적으로 부여합니다.

인증서 갱신을 통한 지속성 연장 - PERSIST3

논의된 마지막 방법은 인증서 템플릿의 유효성갱신 기간을 활용하는 것입니다. 공격자는 인증서가 만료되기 전에 갱신함으로써 추가 티켓 등록 없이 Active Directory에 대한 인증을 유지할 수 있으며, 이는 인증서 기관(CA) 서버에 흔적을 남길 수 있습니다.

이 접근 방식은 CA 서버와의 상호작용을 최소화하여 탐지 위험을 줄이고, 관리자가 침입을 경고할 수 있는 아티팩트 생성을 피하는 연장된 지속성 방법을 허용합니다.

Last updated