0Pricing
Ethical Hacking Academy · 강의

Kerberoasting

서비스 티켓 크래킹

Kerberoasting은(는) CoddyKit의 무료 Ethical Hacking Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ethical Hacking Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

케르베로스팅이란 무엇인가

케르베로스팅은 Active Directory의 서비스 계정을 대상으로 하는 공격입니다. 인증된 도메인 사용자는 누구나 서비스 사용자 이름(SPN)이 있는 계정의 서비스 티켓을 요청할 수 있습니다.

티켓의 일부는 서비스 계정 암호의 해시로 암호화되므로, 공격자는 해당 계정에 전혀 접촉하지 않고도 오프라인에서 이를 해독할 수 있습니다.

작동하는 이유

사용자가 서비스 티켓(TGS)을 요청하면 KDC는 서비스 계정 암호의 NTLM 해시로 티켓의 일부를 암호화합니다.

모든 도메인 사용자가 이 티켓을 요청할 수 있고 특별한 권한도 필요하지 않으므로, 공격자는 티켓을 수집한 뒤 자신의 컴퓨터에서 여유롭게 해독하면 됩니다.

SPN 계정 찾기

먼저 SPN이 설정된 계정을 열거합니다. 이러한 계정은 대개 SQL, 웹 또는 기타 서비스를 실행하는 서비스 계정입니다.

SPN이 있는 사용자 계정(컴퓨터 계정 제외)은 이상적인 공격 대상입니다. 암호를 사람이 설정하는 경우가 많고 거의 변경하지 않기 때문입니다.

# PowerView
Get-DomainUser -SPN | select samaccountname,serviceprincipalname

Rubeus로 티켓 요청

Rubeus는 Kerberos 악용에 사용되는 널리 알려진 C# 도구입니다. kerberoast 명령은 SPN 계정의 TGS 티켓을 요청하고 해독 가능한 형식으로 출력합니다.

이 단계는 조용히 수행됩니다. 정상적인 사용자가 발생시킨 일반적인 Kerberos 트래픽처럼 보입니다.

Rubeus.exe kerberoast /outfile:hashes.txt

Impacket으로 티켓 요청

Linux에서는 Impacket의 GetUserSPNs.py가 유효한 도메인 자격 증명을 사용하여 원격으로 동일한 공격을 수행합니다.

이미 낮은 권한의 자격 증명 하나를 확보한 외부 평가나 가정된 침해 상황에서 유용합니다.

GetUserSPNs.py corp.local/lowuser:Password1 -dc-ip 10.0.0.10 -request

해시 형식

캡처한 티켓은 Hashcat이 모드 13100(Kerberos 5 TGS-REP etype 23, RC4)으로 인식하는 형식으로 저장됩니다.

각 해시는 $krb5tgs$23$로 시작하며, 뒤에 SPN, 계정, 암호화된 데이터가 이어집니다. 이 값을 해독 도구에 입력합니다.

$krb5tgs$23$*svc_sql$CORP.LOCAL$MSSQL/...*$a1b2c3...

Hashcat으로 크래킹

오프라인 크래킹에서는 캡처한 해시에 단어 목록을 적용합니다(대개 규칙과 함께 사용). RC4 티켓은 테스트 속도가 빠르기 때문에 취약한 서비스 암호는 빠르게 크래킹됩니다.

따라서 서비스 계정 암호는 길고 무작위여야 하며, 이상적으로는 그룹 관리 서비스 계정(gMSA)으로 관리해야 합니다.

hashcat -m 13100 hashes.txt rockyou.txt -r best64.rule

암호화 유형이 중요한 이유

계정이 RC4(etype 23)를 지원하면 크래킹이 빠릅니다. AES(etype 17/18)만 허용하면 크래킹 속도는 훨씬 느려지지만 여전히 가능합니다(Hashcat 모드 19600/19700).

공격자는 요청한 암호화 유형을 낮춰 더 취약한 RC4 티켓을 강제로 사용하게 만들 수도 있습니다.

탐지와 방어

방어 담당자는 비정상적으로 많은 TGS 요청을 감시하며, 특히 RC4 티켓 요청을 주의합니다(이벤트 ID 4769). 완화 방법은 다음과 같습니다.

  • 길고 무작위인 서비스 계정 암호(25자 이상)를 사용합니다.
  • 자동으로 암호를 변경하는 gMSA 계정을 사용합니다.
  • RC4를 비활성화하고 AES를 강제합니다.

서비스 계정을 노리는 이유

서비스 계정은 권한이 높은 그룹에 속해 있는 경우가 많고, 오래된 암호를 사용하며, 이상 징후를 알아차릴 특정 사용자 한 명에게 연결되어 있지 않기 때문에 매력적인 표적입니다.

서비스 계정에 과도한 권한이 부주의하게 부여되어 있었다면, 해당 계정 하나를 크래킹하는 것만으로 도메인 관리자 권한을 얻을 수 있습니다.

공격에서 차지하는 위치

Kerberoasting은 일반적으로 도메인에 어떤 방식으로든 거점을 확보한 직후에 수행됩니다. 소음을 거의 발생시키지 않는 열거와 오프라인 크래킹을 함께 사용하므로 경보를 울리는 경우가 드뭅니다.

크래킹된 서비스 계정은 측면 이동이나 권한 상승으로 이어지는 경우가 많기 때문에, 내부 침투 테스트와 레드 팀 활동에서 자주 사용되는 기법입니다.

빠른 확인

Kerberoasting의 핵심 요구 사항을 떠올려 보십시오.

요약

이제 Kerberoasting을 이해하셨습니다.

  • 모든 도메인 사용자는 SPN 계정에 대한 TGS 티켓을 요청할 수 있습니다.
  • 티켓은 서비스 계정 해시로 암호화되며 오프라인에서 크래킹됩니다.
  • 도구: Rubeus, Impacket GetUserSPNs.py. 크래킹에는 Hashcat 모드 13100을 사용합니다.
  • 긴 암호, gMSA, AES 전용 암호화를 사용하여 방어합니다.

다음에는 Pass-the-Hash를 사용하여 자격 증명을 직접 재사용합니다.

자주 묻는 질문

“Kerberoasting” 강의는 무료인가요?

네 — “Kerberoasting” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ethical Hacking Academy 강의 전체를 잠금 해제할 수 있습니다. Ethical Hacking Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Kerberoasting”에서 뭘 배우나요?

서비스 티켓 크래킹 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Ethical Hacking Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Ethical Hacking Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“Kerberoasting” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Ethical Hacking Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Ethical Hacking Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. AD 기초
  2. Kerberoasting
  3. Pass-the-Hash
  4. BloodHound
← Ethical Hacking Academy(으)로 돌아가기