marcodagreat/Active-Directory-Reconnaissance-Detection-with-Splunk-and-Sysmon

GitHub: marcodagreat/Active-Directory-Reconnaissance-Detection-with-Splunk-and-Sysmon

该项目利用Active Directory、Sysmon和Splunk Enterprise搭建SOC安全实验室,实现从网络侦察攻击的检测、调查到防火墙遏制与效果验证的完整工作流。

Stars: 0 | Forks: 0

# 使用 Splunk 和 Sysmon 进行 Active Directory 侦察检测 ## 概述 本项目演示了如何使用 Sysmon、Splunk Enterprise、Kali Linux 和 MikroTik 防火墙控制,来检测、调查和遏制 Active Directory 环境中的侦察活动。 一台运行 Kali Linux 的模拟攻击者系统对 Active Directory 域控制器执行了侦察。Sysmon 捕获了网络连接遥测数据并将其转发至 Splunk 进行分析。我们开发了检测查询来识别攻击者活动,并实施了 MikroTik 防火墙控制以缓解威胁。 本项目通过涵盖以下完整生命周期,模拟了真实世界中的安全运营中心 (SOC) 工作流程: * 侦察 * 检测 * 调查 * 遏制 * 验证 # 实验室架构 ## 蓝队网络 (10.20.20.0/24) ### Active Directory 域控制器 * 主机名:ADDC01 * IP 地址:10.20.20.10 * 服务: * DNS * LDAP * Kerberos * SMB * WinRM ### Splunk 服务器 * Ubuntu Server * Splunk Enterprise * Syslog 收集 * 日志分析 ## 红队网络 (10.30.30.0/24) ### Kali Linux 攻击者 * IP 地址:10.30.30.5 * 工具: * Nmap * Linux 网络工具 ## 监控技术栈 ### Sysmon 收集的端点遥测数据包括: * 进程创建 * 网络连接 * 文件活动 * 服务创建 * 注册表活动 ### Splunk Enterprise 用于: * 日志聚合 * 威胁狩猎 * 事件关联 * 检测工程 # 目标 本项目的目标是: 1. 模拟针对 Active Directory 的侦察活动。 2. 使用 Sysmon 捕获网络连接遥测数据。 3. 将 Sysmon 日志转发至 Splunk。 4. 开发自定义 SPL 搜索。 5. 识别攻击者 IP 地址和目标服务。 6. 实施防火墙控制以缓解侦察活动。 7. 验证缓解措施的有效性。 # 攻击模拟 侦察活动是从 Kali Linux 主机针对域控制器执行的。 ### 执行的命令 ``` nmap -sC -sV 10.20.20.10 ``` ### 目的 该扫描旨在识别: * 开放端口 * 运行服务 * 服务版本 * Active Directory 服务 ### 发现的服务 | 端口 | 服务 | | ---- | -------- | | 53 | DNS | | 88 | Kerberos | | 135 | RPC | | 389 | LDAP | | 445 | SMB | | 5985 | WinRM | # 检测工程 ## Sysmon Event ID 3 Sysmon Event ID 3 用于监控网络连接。 捕获的字段包括: * 源 IP * 目标 IP * 源端口 * 目标端口 * 进程信息 示例: 源 IP: ``` 10.30.30.5 ``` 目标 IP: ``` 10.20.20.10 ``` 目标端口: ``` 5985 ``` # Splunk 调查 ## 验证 Sysmon 日志摄取 ``` index=endpoint | stats count by sourcetype ``` 确认 Sysmon Operational 日志已成功建立索引。 ## 验证主机日志记录 ``` index=endpoint sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" | stats count by host ``` 确认正在收集 Active Directory 服务器遥测数据。 ## 提取源和目标字段 ``` index=endpoint sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" | rex field=_raw "(?[^<]+)" | rex field=_raw "(?[^<]+)" | rex field=_raw "(?[^<]+)" ``` ## 识别侦察流量 ``` index=endpoint sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" | rex field=_raw "(?[^<]+)" | rex field=_raw "(?[^<]+)" | rex field=_raw "(?[^<]+)" | search SourceIp="10.30.30.5" DestinationIp="10.20.20.10" | table _time host SourceIp DestinationIp DestinationPort ``` ## 目标端口分析 ``` index=endpoint sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" | rex field=_raw "(?[^<]+)" | rex field=_raw "(?[^<]+)" | rex field=_raw "(?[^<]+)" | search SourceIp="10.30.30.5" DestinationIp="10.20.20.10" | stats count by DestinationPort | sort -count ``` 结果显示针对以下端口的重复活动: ``` 5985 ``` 该端口对应于 WinRM。 # 遏制 使用 MikroTik 防火墙控制缓解了侦察活动。 防火墙规则: ``` chain=forward action=drop src-address=10.30.30.5 dst-address=10.20.20.10 ``` 目的: 阻止来自 Kali 攻击者主机的侦察流量。 # 验证 在实施防火墙控制后,执行了验证测试。 ## ICMP 测试 ``` ping 10.20.20.10 ``` 结果: ``` 100% packet loss ``` ## Nmap 验证扫描 ``` nmap -Pn -sC -sV 10.20.20.10 ``` 结果: ``` All 1000 scanned ports are filtered ``` 这证实了防火墙控制成功降低了攻击者对目标系统的可见性。 # MITRE ATT&CK 映射 | 技术 ID | 技术 | | ------------ | ------------------------- | | T1046 | 网络服务发现 (Network Service Discovery) | | T1018 | 远程系统发现 (Remote System Discovery) | | T1595 | 主动扫描 (Active Scanning) | 由 Nmap 生成的侦察活动与这些 ATT&CK 技术高度吻合。 # 截图 ## 01 – Sysmon Event ID 3 检测 01 - Sysmon Event ID 3 Detection *图:显示 Event ID 3 的 Sysmon Event Viewer* ## 02 – Nmap 侦察扫描 02 – Nmap Reconnaissance Scan *图:Kali Linux Nmap 扫描结果* ## 03 – Splunk 日志摄取验证 03 - Splunk Log Ingestion Validation *图:stats count by sourcetype* ## 04 – 主机遥测验证 04 - Host Telementry Verification *图:stats count by host* ## 05 – 字段提取 05 – Detection Query * 源 IP * 目标 IP * 目标端口 ## 06 – 目标端口分析 06 - Detection Analytics *图:stats count by DestinationPort* ## 07 – MikroTik 防火墙规则 07 – MikroTik Firewall Rule *图:Mikrotik 路由器侦察阻断规则 2* ## 08 – 缓解措施验证 09 – Mitigation Validation *图:缓解措施实施后的 Nmap 扫描* ## 09 - 目标端口分析 - 缓解措施验证 08 -  Destination Port Analysis_ Mitigation Validation *图:缓解措施实施后的 splunk 日志* # 展示的技能 * 安全运营 (SOC) * 威胁狩猎 * Splunk Enterprise * Sysmon * Active Directory 安全监控 * 检测工程 * 日志分析 * 事件响应 * 防火墙管理 * 网络安全监控 * MITRE ATT&CK 映射 * Nmap 侦察检测 # 未来改进 计划的增强功能包括: * Splunk 仪表板 * 自动化 Splunk 警报 * Security Onion 集成 * Snort IDS 部署 * Active Directory 攻击模拟 * MITRE ATT&CK 仪表板化 * 检测即代码 (Detection-as-Code) 开发 # 作者 Subryan Karpen 网络安全学生 | 有志成为 SOC 分析师 | 家庭实验室构建者 致力于通过涉及 Active Directory、SIEM、威胁狩猎和网络防御的实践性网络安全项目,培养实用的蓝队技能。
标签:AMSI绕过, CTI, Terraform 安全, 威胁检测, 安全实验环境, 安全运营中心, 插件系统, 活动目录, 网络映射