로스팅(Roasting) 해킹 기법 정리
문제
Windows 보안 문맥에서 "로스팅(Roasting)"이란 무엇이며, Kerberoasting, AS-REP Roasting의 개념, 작동 원리, 비교, 특징을 표와 함께 정리하시오.
답변
1. 개념
- 로스팅(Roasting): 암호화된 인증 티켓(해시)을 받아 오프라인에서 크랙(암호 해독)을 시도하는 해킹 기법의 은어
2. 대표적인 로스팅 기법
| 용어 | 의미 요약 |
|---|
| Kerberoasting | Kerberos 티켓을 이용해 서비스 계정의 해시를 덤프, 오프라인 크랙 |
| AS-REP Roasting | Pre-authentication이 없는 계정의 티켓을 요청, 암호 해시를 크랙 |
3. Kerberoasting(커버로스팅)
- 개념: Windows AD 환경에서 SPN이 등록된 서비스 계정의 Kerberos 티켓(TGS)을 요청, 암호화된 해시를 오프라인에서 크랙하여 비밀번호 탈취
- 작동 흐름:
- 공격자가 도메인에 로그인
- SPN 등록 계정 식별(setspn, GetUserSPNs.py 등)
- TGS 요청(Rubeus, Impacket 등)
- 암호화된 티켓(해시) 획득
- hashcat, john 등으로 오프라인 크랙
4. AS-REP Roasting
- 개념: Kerberos pre-authentication이 꺼진 계정의 AS-REP 응답을 받아, 암호 해시를 오프라인에서 크랙
- 작동 흐름:
- 공격자가 도메인에 로그인
- pre-auth 꺼진 계정 탐색(GetNPUsers.py 등)
- 암호화된 AS-REP 응답 획득
- 오프라인 크랙
5. 비교표
| 항목 | Kerberoasting | AS-REP Roasting |
|---|
| 대상 | SPN 등록 서비스 계정 | pre-auth 꺼진 사용자 계정 |
| 필요 조건 | SPN 등록, 정상 Kerberos 환경 | pre-auth 비활성화 계정 |
| 공격 도구 | GetUserSPNs.py, Rubeus, hashcat 등 | GetNPUsers.py, hashcat 등 |
| 주요 특징 | 서비스 계정 권한 탈취 가능 | 일반 사용자 계정도 공격 가능 |
6. 특징 및 요약
- 둘 다 오프라인 크랙(Brute-force, Dictionary Attack 등)에 최적화
- Kerberos 인증 구조의 취약점 악용
- 보안 로그에 흔적이 남을 수 있음
7. 어린이 버전 요약
로스팅은 학교에서 선생님 몰래 비밀번호가 적힌 쪽지를 받아서, 집에 가서 천천히 풀어보는 것과 비슷해요. Kerberoasting은 반장, AS-REP Roasting은 특별 규칙이 없는 친구의 쪽지를 푸는 거예요.
참고 명령어 예시
GetUserSPNs.py -request -dc-ip 192.168.1.10 domain.local/user:password
Rubeus kerberoast /user:svc_sql /format:hashcat /outfile:hashes.txt
상세 내용
- "로스팅"은 Kerberos 인증의 구조적 한계를 이용한 대표적 공격 기법
- 보안 점검, 침투 테스트, 레드팀에서 자주 활용
- 방어를 위해서는 SPN 최소화, pre-auth 활성화, 계정 모니터링이 필수