bdk3000/recon-detection-gap

GitHub: bdk3000/recon-detection-gap

该项目通过模拟 Nmap 网络侦察并分析 Azure Sentinel 日志缺失,揭示并记录了端点检测 pipeline 在网络扫描阶段的遥测盲区,为检测工程提供覆盖范围映射和补救指导。

Stars: 0 | Forks: 0

# 网络侦察检测缺口分析 **MITRE ATT&CK:** T1046 - 网络服务发现 | T1595 - 主动扫描 **环境:** Kali Linux → Windows Server 2022 (DC01) **检测技术栈:** Sysmon + AMA + Azure Sentinel ## 概述 这项检测工程练习记录了基于端点的检测 pipeline 中一个关键的盲点:网络侦察活动不会生成任何 Windows 安全日志事件,导致防御者在攻击的最早阶段完全处于盲区。 ## 模拟攻击 从 Kali Linux 对一台 Windows Server 2022 域控制器执行的完整 Nmap 侦察序列: - 主机发现(ping 扫描) - SYN 扫描 — 前 1000 个端口 - 服务和版本检测 - 操作系统指纹识别 - 结合 NSE 脚本的激进扫描 ## 攻击者获取的信息 对域控制器进行单次 Nmap 激进扫描,即可在无需任何凭证的情况下揭示: - 主机名和完全限定域名 - 操作系统及版本 - 所有暴露的服务及版本 - 域名和 AD 站点信息 - SMB 签名状态 - WinRM 可用性 — 远程执行攻击面 - Kerberos 存在 — 确认 AD 环境 ## 检测结果 在主动扫描窗口期间,针对源 IP 查询 SecurityEvent 未返回任何结果。 SYN 扫描永远不会完成 TCP 握手。Windows 安全日志仅记录已完成的身份验证事件 — 而不是原始网络探测。攻击者可以完全摸清你的网络,且不会生成任何一条 Windows 安全日志记录。 ## 检测覆盖范围映射表 | 攻击阶段 | 检测状态 | 原因 | |-------------|-----------------|--------| | 网络扫描 | ❌ 盲区 | 无网络遥测数据 | | 端口枚举 | ❌ 盲区 | 无完成的握手 | | 服务指纹识别 | ❌ 盲区 | 无身份验证尝试 | | 身份验证滥用 | ✅ 可见 | 4624/4625 事件 | | 进程执行 | ✅ 可见 | 4688/Sysmon ID 1 | ## 缓解措施 部署 Sysmon 并开启网络连接日志记录(事件 ID 3)以实现端点级别的连接可见性。为了实现完整的网络层覆盖,请部署 Zeek 或 Suricata 作为网络流量收集器。 ## 影响结论 攻击者在接触任何凭证之前,会花费数天时间进行侦察。如果没有网络遥测数据,你的检测 pipeline 将对他们在此阶段获取的关于你环境的所有信息视而不见。这一发现确立了基础的检测缺口,而所有后续的检测规则都是为了填补这一缺口而构建的。 ## 环境 ## 证据 **网络侦察 — Kali Ping 扫描** ![Ping 扫描](https://static.pigsec.cn/wp-content/uploads/repos/cas/b4/b40770258dce8fc7ba39e6c1c3195d72175b5c0f45a69d71fb4e770b8c4ce579.png) **DC01 攻击面 — Nmap SYN 扫描** ![Nmap SYN 扫描](https://static.pigsec.cn/wp-content/uploads/repos/cas/10/10893fb180c509cbd80578521440eeafa12a1cc52e1357a483ff56ffab8fcf0a.png) **Sentinel 检测缺口 — 零结果** ![Sentinel 零结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/9a/9af9cc2be2de70473beec6533415fdaf006059921351b2352383324751153a76.png) - 攻击机: Kali Linux 2026.x - 目标: Windows Server 2022 Domain Controller - Pipeline: AMA → Azure Arc → DCR → Log Analytics → Sentinel - 实验环境: 隔离的 HyperV 环境
标签:CTI, Windows Server, 安全, 密码管理, 插件系统, 超时处理