개요
Kerberos 인증 시스템의 특징을 악용하여, 특정 서비스 계정의 비밀번호 해시를 획득한 뒤 이를 오프라인에서 크랙하는 방식입니다.
- Kerberos 환경의 모든 사용자는 모든 서비스에 대해 TGS-REQ 요청을 보낼 수 있습니다.
- 사용자가 해당 서비스에 실제로 접근할 수 있는 권한이 있든 없든, KDC는 요청에 응답하여 서비스 티켓(ST)을 발급합니다. → Kerberos는 인증 서비스이지, 인가 서비스가 아니기 때문
- 사용자가 요청한 서비스에 실제로 접근할 수 있는지 여부는 서비스 서버에서 판단합니다.
악용
가정: 도메인 자격 증명 획득(권한 상관 없음)
익스플로잇:
Step 1) TGS-REQ
- impacket-GetUserSPNs: SPN 열거, ST 요청 및 저장, PtH 인증 가능
impacket-GetUserSPNs -request {domain/id:pw} -dc-ip {ip} -outputfile {outputfilename}
Step 2) KDC-TGS가 암호화된 티켓(ST)을 제공
- svc-admin 계정으로 ST를 요청(TGS-REQ)하고, 그에대한 결과(TGS-REP)을 확인
- sql-user, http-user라는 서비스 계정으로 암호화된 ST 획득

Step 3) ST 해시 크래킹 → 서비스 계정의 패스워드 습득 가능
- ST는 서비스 계정의 NTLM 해시에서 파생된 키로 암호화되었기 때문에, 서비스 계정의 패스워드를 크래킹
레퍼런스
- TryHackMe: Attacktive Directory (링크)
- Kerberos - A Domains Achille's Heel (링크)
- Forestall Security: How to Secure Kerberos Authentication Protocol - 1 (링크)
- Pentesting Wiki (링크)
- ver.miun.se: Key Management and Authentication-Daniel Bosk (링크)
- Microsoft: Kerberos Authentication Overview (링크)
'보안 > 침투' 카테고리의 다른 글
| DLL Search Order Hijacking (2) | 2025.08.28 |
|---|---|
| AS-Rep Roasting (1) | 2025.08.28 |
| DLL Side-Loading (0) | 2025.08.26 |
| RID Hijacking (0) | 2025.02.12 |
| DLL Search Order Hijacking (0) | 2024.12.24 |