← 목록으로

Pass-the-Hash / Pass-the-Ticket: 원리와 실전

[Pwn] Pwnable · 작성: 2026-07-20 03:10:34 · 수정: 2026-07-20 03:11:15 · 조회 14

윈도우 인증은 평문 비밀번호가 아니라 그 비밀번호에서 파생된 해시(NTLM) 또는 티켓(Kerberos)으로 이루어진다는 게 핵심이다. 그래서 평문 비밀번호를 몰라도 해시/티켓만 있으면 그 계정으로 "인증된 것처럼" 행동할 수 있다.

NTLM 인증과 Pass-the-Hash

NTLM은 챌린지-리스폰스 방식이다. 서버가 평문 비밀번호를 직접 검증하는 게 아니라, 클라이언트가 NTLM 해시로 챌린지 값을 암호화한 응답을 검증한다. 그래서 해시만 있으면 그 계산을 그대로 할 수 있어서 평문이 애초에 필요없다.

# Mimikatz로 메모리(lsass.exe)에서 NTLM 해시 덤프
mimikatz # sekurlsa::logonpasswords

# 덤프한 해시로 다른 시스템에 인증 (평문 비밀번호 없이)
impacket-psexec -hashes :<NTLM해시> administrator@target

Kerberos와 Pass-the-Ticket / Golden Ticket

Kerberos는 TGT(Ticket Granting Ticket)를 발급받아 그걸로 서비스 티켓을 받는 구조다. TGT 자체를 탈취해서 재사용하는 게 Pass-the-Ticket이다. 여기서 한 발 더 나가서 도메인의 모든 인증을 담당하는 krbtgt 계정의 해시까지 탈취하면, 도메인의 어떤 계정으로도 위조된 TGT(Golden Ticket)를 무한정 발급할 수 있다 — 도메인 전체 장악을 뜻한다.

mimikatz # kerberos::golden /user:fake /domain:corp.local /sid:S-1-5-21-... /krbtgt:<hash> /ticket:golden.kirbi

왜 막기 어려운가

NTLM/Kerberos 설계 자체가 "해시/티켓 재사용 가능"을 전제로 하기 때문에, 패치 하나로 막을 수 있는 버그가 아니라 아키텍처 문제다. 그래서 방어는 탐지·제한 위주로 접근한다.

방어

Pwnable 카테고리의 글 (11/14)

  1. 메모리 구조 기초: 스택, 힙, 레지스터부터 이해하기
  2. 스택 버퍼 오버플로우: 가장 기본적인 메모리 손상 공격
  3. Format String 취약점: printf가 위험해지는 순간
  4. Stack Canary: 원리와 우회 방법
  5. NX/DEP 우회와 Return-to-libc
  6. ASLR과 정보 유출(Leak)
  7. ROP (Return-Oriented Programming) 완전 정복
  8. 힙 익스플로잇 기초: Use-After-Free와 Double Free
  9. pwntools 실전 활용법
  10. UDF(User-Defined Function) 기반 DB 권한 상승: 원리부터 실전까지
  11. Pass-the-Hash / Pass-the-Ticket: 원리와 실전
  12. eBPF 기반 지속성(Persistence) 기법
  13. Full RELRO 환경에서의 GOT Overwrite와 우회
  14. ret2dlresolve: 심볼 정보 없이 임의 함수 호출하기
← UDF(User-Defined Function) 기반 DB 권한 상승: 원리부터 실전까지 eBPF 기반 지속성(Persistence) 기법 →