Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cve-2023-23397-detection-lab — CVE-2023-23397的检测与缓解研究实验室,利用网络与端点安全遥测技术。 | Kitploit
工具/GitHubGitHub/zhoucc-cpu/cve-2023-23397-detection-lab
漏洞分析网络安全威胁情报学习与教育事件响应
GitHubzhoucc-cpu/cve-2023-23397-detection-lab

cve-2023-23397-detection-lab

CVE-2023-23397的检测与缓解研究实验室,利用网络与端点安全遥测技术。

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
571个月前尚未审核
分享

CVE-2023-23397 检测与缓解研究实验室

概述

本项目是一个防御性网络安全研究实验室,聚焦于与 CVE-2023-23397 相关的网络行为。

本项目研究来自 Windows 端点的可疑出站 SMB 和 NTLM 身份验证,并演示一套完整的防御工作流程:

基线 -> 网络观察 -> NTLM 检测 -> 告警生成 -> 网关缓解 -> 主机缓解 -> 验证

该实验室完全隔离,仅使用为授权安全测试所拥有和控制的系统。


研究框架

本仓库被组织为一项可复现的防御性安全研究,而非漏洞利用演示。其核心研究问题是:

SMB/NTLM 协议语义和网络信任边界能否检测与 CVE-2023-23397 相关的异常出站身份验证行为?主机侧和网关侧缓解措施在阻断行为和传感器可见性方面有何差异?

本研究评估四个问题:

  • 解析后的 NTLM Authenticate 事件能否将身份验证与仅 TCP/445 连接区分开来;
  • 受害者和不可信子网约束能否排除范围外的身份验证;
  • Windows 主机过滤和 Ubuntu 网关过滤如何改变网络可见性;
  • 数据包、协议、通知、防火墙和回滚证据能否可靠地关联起来。

本项目验证与 CVE-2023-23397 相关的强制出站 SMB/NTLM 行为以及相应的检测和缓解控制措施。它并不证明 Outlook 处理了恶意 MAPI 消息,也不证明 CVE-2023-23397 已被利用。

研究文档

文档用途
report/project-report.md主要研究报告,包含问题、设计、结果、讨论和局限性
docs/literature-review.md关于该漏洞、强制身份验证、NTLM、Zeek 和防火墙控制的权威工作综述
docs/research-methodology.md拓扑、变量、控制、程序、证据来源和有效性边界
docs/live-validation-2026-09-11.md精确的实时验证观察结果和最终实验室状态
evidence/validation-20260911/PCAP、日志、完整性清单和机器可读的验证摘要
scripts/verify_validation_evidence.py只读的自动化证据一致性检查

项目目标

本项目的主要目标是:

  • 构建一个隔离的多网络网络安全实验室。
  • 观察正常的 SMB 和 NTLM 身份验证行为。
  • 捕获并保存网络证据。
  • 为可疑的出站 NTLM 身份验证开发自定义 Zeek 检测。
  • 使用受控流量验证该检测。
  • 测试基于网关的 SMB 缓解。
  • 测试基于 Windows 主机的 SMB 缓解。
  • 比较缓解前和缓解后的行为。
  • 将观察到的安全行为映射到 MITRE ATT&CK。
  • 生成适合防御性安全研究的可复现证据。

实验室架构

该实验室包含三台虚拟机。

系统角色地址
Windows-Victim受保护的 Windows 端点10.10.20.10/24
Ubuntu-Sensor路由器和 Zeek 安全传感器10.10.20.1/24, 10.10.30.1/24
Kali-Adversary受控的 SMB 目标10.10.30.10/24

逻辑流量路径:

Windows-Victim
10.10.20.10
      |
      | VICTIM_NET
      |
Ubuntu-Sensor
10.10.20.1 / 10.10.30.1
      |
      | ATTACK_NET
      |
Kali-Adversary
10.10.30.10

受害者和攻击者网络彼此隔离。

它们之间的流量必须经过 Ubuntu-Sensor,使传感器能够观察并控制通信。

使用单独的 VMware 管理网络对 Ubuntu-Sensor 进行管理 SSH 访问。

更多信息:

lab/network-plan.md


威胁场景

CVE-2023-23397 与涉及 Microsoft Outlook 的强制出站身份验证行为相关。

与安全相关的行为是 Windows 系统尝试向攻击者控制的网络资源进行身份验证。

本实验重点关注可观察的网络行为:

Windows endpoint
-> outbound TCP/445
-> SMB negotiation
-> NTLM authentication
-> network detection

实验室并不声称每一个生成的 SMB 事件都代表对 Outlook 漏洞的利用。

相反,受控的 SMB 和 NTLM 流量被用于安全地开发和验证防御检测逻辑。

详细分析:

docs/attack-flow.md


MITRE ATT&CK 映射

主要技术:

T1187 - 强制认证

主要战术:

凭据访问

该项目专注于检测和阻止从受保护工作站向不受信任目标发起的可疑出站认证。


基线流量分析

第一阶段建立了 Windows 受害机与受控对手之间的正常路由通信。

在引入检测逻辑之前,收集了基线数据包捕获和 Zeek 连接日志。

这为后续比较提供了参考点。

分析:

docs/baseline-traffic-analysis.md


SMB 和 NTLM 基线

在 Kali-Adversary 上托管了一个受控的 SMB 服务器。

Windows-Victim 成功访问了:

\\10.10.30.10\SHARE

Zeek 成功解析:

  • TCP/445 通信
  • SMB
  • NTLM
  • SMB 共享映射
  • SMB 文件活动
  • 成功的 NTLM 认证

该基线表明,在引入自定义检测逻辑之前,传感器能够观察到完整的认证路径。

分析:

docs/smb-baseline-analysis.md


自定义 Zeek 检测

开发了一个自定义 Zeek 检测器:

detections/zeek/cve_2023_23397_ntlm.zeek

该检测器生成:

CVE23397::Suspicious_Outbound_NTLM

该规则评估四个主要条件:

  1. 源地址属于受保护的受害者网络。
  2. 目的地址属于受控的不可信网络。
  3. 目的端口为 TCP/445。
  4. Zeek 观察到 NTLM Authenticate 事件。

这比仅对 TCP/445 告警提供了更多上下文。

检测逻辑:

Victim network
+
Untrusted destination
+
TCP/445
+
NTLM Authenticate
=
Suspicious outbound NTLM notice

对于发往同一目标的重复认证,采用五分钟的抑制间隔来减少重复通知。


检测验证

该自定义检测器已使用受控的 SMB 和 NTLM 流量成功完成验证。

经验证的事件展示了以下各项之间的关联:

  • TCP 连接遥测
  • SMB 通信
  • NTLM 认证
  • Zeek 连接 UID
  • 自定义 Notice Framework 告警

一条经验证的告警包含:

CVE23397::Suspicious_Outbound_NTLM

检测分析与完整性验证的证据记录在:

docs/ntlm-detection-analysis.md


网关缓解措施

第一项缓解措施已在 Ubuntu-Sensor 上实施。

网关阻止了来自以下来源的转发 TCP/445 流量:

10.10.20.10

到:

10.10.30.10:445

启用该规则后:

Windows SYN
-> Ubuntu Sensor
-> DROP

观察到的结果:

  • Windows TCP/445 连接失败。
  • 传感器观察到 SYN 尝试和重传。
  • 防火墙 DROP 计数器增加。
  • 未发生完整的 TCP 握手。
  • 未建立 SMB 会话。
  • 未发生新的 NTLM 身份验证。
  • 未生成新的自定义 NTLM 告警。

验证:

docs/mitigation-validation.md


Windows 主机缓解措施

使用 Windows Defender 防火墙测试了第二种缓解措施。

该端点阻止了出站:

TCP/445 -> 10.10.30.10

观察到的结果:

  • TCP/445 连接失败。
  • SMB 访问失败。
  • Ubuntu-Sensor 捕获到零个匹配的 TCP/445 帧。
  • 没有新的 NTLM 认证到达传感器。
  • 没有生成新的自定义 Zeek 通知。

这展示了两个防御控制点之间的一个重要差异。

网关过滤

Windows
-> SYN
-> Network Sensor
-> DROP

网络传感器仍能保留对被阻止尝试的可见性。

主机过滤

Windows
-> Host Firewall DROP

数据包永远不会到达外部网络传感器。

验证:

docs/windows-host-mitigation-validation.md


检测与缓解对比

状态TCP/445传感器可见性SMBNTLMZeek 告警
无缓解允许完整是是是
网关阻断在网关处阻断SYN 尝试可见否否否
Windows 主机阻断在端点处阻断无匹配数据包否否否

这展示了检测性控制与预防性控制。


纵深防御

该实验表明,检测与预防应当结合使用。

防御模型包括:

Endpoint filtering
        +
Network egress filtering
        +
Zeek network monitoring
        +
NTLM authentication monitoring
        +
Patch management

网关控制提供集中式强制执行和网络可见性。

主机控制会更早地阻止不需要的通信。

当可疑身份验证到达受监控的网络路径时,Zeek 提供可见性。


证据

该仓库保存了实验期间收集的证据。

数据包捕获

存储于:

evidence/pcap/

示例包括:

  • 基线流量
  • SMB 基线流量
  • NTLM 检测验证
  • 网关缓解后流量
  • Windows 主机阻止验证

Zeek 与缓解日志

存储于:

evidence/logs/

证据包括:

  • Zeek 连接日志
  • SMB 日志
  • NTLM 日志
  • 自定义通知日志
  • 防火墙验证输出
  • 缓解验证结果

SHA-256 哈希记录在相应的分析文档中,以支持证据完整性。


仓库结构

cve-2023-23397-detection-lab/
|
|-- README.md
|-- LICENSE
|
|-- lab/
|   `-- network-plan.md
|
|-- detections/
|   `-- zeek/
|       `-- cve_2023_23397_ntlm.zeek
|
|-- docs/
|   |-- attack-flow.md
|   |-- threat-model.md
|   |-- literature-review.md
|   |-- research-methodology.md
|   |-- baseline-traffic-analysis.md
|   |-- smb-baseline-analysis.md
|   |-- ntlm-detection-analysis.md
|   |-- mitigation-analysis.md
|   |-- mitigation-validation.md
|   |-- windows-host-mitigation-validation.md
|   `-- live-validation-2026-09-11.md
|
|-- evidence/
    |-- pcap/
    |-- logs/
    |-- screenshots/
    `-- validation-20260911/
|
|-- report/
|   `-- project-report.md
|
`-- scripts/
    `-- verify_validation_evidence.py

已验证的项目工作流

当前项目已成功完成:

Lab Architecture
        |
        v
Routed Network Validation
        |
        v
Baseline PCAP
        |
        v
SMB / NTLM Baseline
        |
        v
Custom Zeek Detection
        |
        v
Detection Alert Validation
        |
        v
Gateway TCP/445 Mitigation
        |
        v
Gateway Post-Mitigation Validation
        |
        v
Windows Host TCP/445 Mitigation
        |
        v
Host Post-Mitigation Validation

当前工具

当前实现中使用的已验证工具包括:

  • VMware Workstation
  • Windows 10
  • Ubuntu Linux
  • Kali Linux
  • Zeek
  • ZeekControl
  • tcpdump
  • Impacket SMB Server
  • Linux iptables
  • Windows Defender Firewall
  • Git
  • GitHub
  • PowerShell

未来工作

潜在的未来改进包括:

  • Sysmon 端点遥测
  • Sigma 检测规则
  • Suricata 网络检测
  • 更强的端点与网络事件关联
  • 自动化检测测试
  • 误报评估
  • 额外的检测调优
  • 基于截图的证据记录

这些事项属于未来工作,并非作为已完成的能力呈现。


局限性

该实验室主要验证网络可观测的 SMB 和 NTLM 行为。

当前的受控测试展示了与 CVE-2023-23397 相关的身份验证行为,但并未声称复现真实世界 Outlook 利用的每一个组成部分。

自定义规则是针对已定义的实验室信任边界设计的,在生产环境中使用前需要进行调优。

最新实机验证

三虚拟机实机环境已于 2026-09-11 重新验证。本次运行确认了路由数据包路径、受控 SMB/NTLM 遥测、检测器加载、关联的自定义通知、负向用例、网关与主机阻断,以及回滚恢复。

关键证据在整个仓库中保持一致:

  • 基线在每个 Ubuntu 接口上包含 91 个 IPv4/TCP445 数据包;全部 91 个数据包在路由路径上匹配,TTL 变化为一跳。
  • 网关阻断显示 ens33 上有 5 个 TCP/445 数据包,ens34 上为 0,iptables 计数器为 5 个数据包 / 260 字节。
  • 主机阻断显示两个接口上均为 0 个 TCP/445 数据包,而每个接口捕获了 6 个 ICMP 控制数据包。
  • 基线连接、NTLM 和通知记录通过 UID CCpuF7S8CCLEmpKsd 关联。
  • 两次实机 NTLM 身份验证相隔 234.473 秒,在五分钟抑制间隔内产生了一条通知。

已验证的结论仅限于与 CVE-2023-23397 相关的强制出站 SMB/NTLM 行为及相应的检测与缓解控制。该项目并不证明 Outlook 处理了恶意 MAPI 消息,也不证明 CVE-2023-23397 已被利用。

参见 docs/live-validation-2026-09-11.md 和 evidence/validation-20260911/。


道德与法律声明

本仓库中记录的所有测试均在隔离且受控的实验室环境中进行,使用的是自有或明确授权用于测试的系统。

该项目仅用于:

  • 网络安全教育
  • 防御性安全研究
  • 网络监控
  • 检测工程
  • 缓解分析

不针对任何生产系统或未经授权的外部系统。

下载工具