0Pricing
Ethical Hacking Academy · 강의

Pass-the-Hash

자격 증명 재사용

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

Pass-the-Hash란 무엇인가요

Pass-the-Hash(PtH)는 공격자가 평문 암호 대신 사용자의 NTLM 암호 해시를 사용하여 인증하는 기법입니다.

Windows NTLM 인증에서는 해시 자체를 비밀 값으로 사용하므로, 해당 사용자로 로그인하기 위해 해시를 크래킹할 필요가 없습니다.

NTLM 해시

Windows는 계정 암호를 NTLM 해시로 저장합니다(UTF-16 암호의 MD4). NTLM 인증 중에는 암호가 아니라 해시가 신원을 증명합니다.

이 설계상의 결함 때문에 해시를 훔치는 것은 NTLM 기반 로그인에서 암호를 훔치는 것과 기능적으로 같습니다.

해시가 저장되는 위치

해시는 여러 위치에서 수집할 수 있습니다.

  • 로컬 컴퓨터의 SAM 데이터베이스
  • 로그인한 사용자의 LSASS 프로세스 메모리
  • 도메인 컨트롤러의 NTDS.dit 파일

각 출처에는 서로 다른 권한이 필요하지만, 모두 재사용 가능한 해시를 제공합니다.

Mimikatz로 덤프하기

Mimikatz는 LSASS 메모리에서 자격 증명을 추출하는 대표적인 도구입니다. sekurlsa::logonpasswords 명령은 현재 로그인한 사용자의 NTLM 해시를 보여 줍니다.

LSASS를 읽으려면 로컬 관리자 권한(대개 SeDebugPrivilege도 필요)이 있어야 합니다.

mimikatz # sekurlsa::logonpasswords

secretsdump로 덤프하기

Impacket의 secretsdump.py는 유효한 자격 증명을 사용하여 SAM과 도메인 데이터베이스에서 원격으로 해시를 추출합니다.

적절한 복제 권한이 있다면 DCSync를 수행하여 도메인 컨트롤러에서 해시를 직접 가져올 수도 있습니다.

secretsdump.py corp.local/admin:Pass@10.0.0.10

해시 전달

해시를 확보하면 도구를 사용하여 해당 해시로 직접 인증할 수 있습니다. Impacket의 psexec.py는 -hashes 플래그로 해시를 받아 원격 셸을 제공합니다.

형식은 LMHASH:NTHASH이며, 최신 시스템에서는 LM 부분이 대개 0으로 된 빈 값입니다.

psexec.py -hashes :a1b2c3d4... administrator@10.0.0.20

다른 도구를 사용한 해시 전달

많은 도구가 PtH를 지원합니다.

  • CrackMapExec / NetExec: 여러 호스트에 해시를 뿌립니다.
  • evil-winrm: 해시를 사용한 WinRM 셸입니다.
  • wmiexec.py / smbexec.py: 대체 실행 방법입니다.

단일 로컬 관리자 해시를 서브넷 전체에 뿌리면 접근 범위를 빠르게 넓힐 수 있습니다.

netexec smb 10.0.0.0/24 -u admin -H a1b2c3d4... 

측면 이동

Pass-the-Hash는 핵심적인 측면 이동 기법입니다. 공격자는 한 컴퓨터의 로컬 관리자 해시를 다른 컴퓨터에서도 재사용하여 호스트에서 호스트로 이동합니다(동일한 로컬 관리자 암호를 공유할 때 발생하는 문제입니다).

새로 접근한 호스트의 메모리에는 더 높은 권한을 가진 사용자의 해시가 있을 수도 있습니다.

방어 방법

완화 방법은 다음과 같습니다.

  • LAPS: 컴퓨터마다 고유하고 무작위인 로컬 관리자 암호를 사용합니다.
  • Credential Guard: LSASS 비밀 값을 격리합니다.
  • 권한이 높은 계정이 로그인할 수 있는 위치를 제한합니다(계층화).
  • 가능한 경우 NTLM을 비활성화하고 Kerberos를 사용합니다.

관련 공격

Pass-the-Hash와 비슷한 공격도 있습니다.

  • Pass-the-Ticket: 훔친 Kerberos 티켓을 재사용합니다.
  • Overpass-the-Hash: NTLM 해시를 사용하여 Kerberos TGT를 요청합니다.

이러한 기법은 자격 증명 재사용을 Kerberos 영역으로 확장합니다.

NTLM과 Kerberos 비교

Pass-the-Hash는 NTLM 인증을 구체적으로 악용합니다. Kerberos를 강제하고 NTLM을 비활성화한 환경에서는 공격 표면이 크게 줄어듭니다.

그러나 호환성 때문에 대부분의 네트워크에서 NTLM이 여전히 사용되므로 PtH는 여전히 광범위하게 효과적입니다. 따라서 NTLM 비활성화는 권장되는 보안 강화 조치입니다.

빠른 확인

PtH에 크래킹이 필요하지 않은 이유를 떠올려 보십시오.

요약

이제 Pass-the-Hash를 이해하셨습니다.

  • NTLM 인증은 해시를 비밀 값으로 받아들이므로 크래킹이 필요하지 않습니다.
  • Mimikatz 또는 secretsdump를 사용하여 SAM, LSASS, NTDS.dit에서 해시를 덤프합니다.
  • psexec.py, NetExec, evil-winrm과 같은 도구는 측면 이동을 위해 해시를 재사용합니다.
  • LAPS, Credential Guard, 계층화를 사용하여 방어합니다.

다음에는 BloodHound로 공격 경로를 파악합니다.

자주 묻는 질문

“Pass-the-Hash” 강의는 무료인가요?

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

“Pass-the-Hash”에서 뭘 배우나요?

자격 증명 재사용 브라우저에서 직접 실행하는 실습 코드로 Ethical Hacking Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“Pass-the-Hash” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

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