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 检测
*图:显示 Event ID 3 的 Sysmon Event Viewer*
## 02 – Nmap 侦察扫描
*图:Kali Linux Nmap 扫描结果*
## 03 – Splunk 日志摄取验证
*图:stats count by sourcetype*
## 04 – 主机遥测验证
*图:stats count by host*
## 05 – 字段提取
* 源 IP
* 目标 IP
* 目标端口
## 06 – 目标端口分析
*图:stats count by DestinationPort*
## 07 – MikroTik 防火墙规则
*图:Mikrotik 路由器侦察阻断规则 2*
## 08 – 缓解措施验证
*图:缓解措施实施后的 Nmap 扫描*
## 09 - 目标端口分析 - 缓解措施验证
*图:缓解措施实施后的 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、威胁狩猎和网络防御的实践性网络安全项目,培养实用的蓝队技能。
*图:显示 Event ID 3 的 Sysmon Event Viewer*
## 02 – Nmap 侦察扫描
*图:Kali Linux Nmap 扫描结果*
## 03 – Splunk 日志摄取验证
*图:stats count by sourcetype*
## 04 – 主机遥测验证
*图:stats count by host*
## 05 – 字段提取
* 源 IP
* 目标 IP
* 目标端口
## 06 – 目标端口分析
*图:stats count by DestinationPort*
## 07 – MikroTik 防火墙规则
*图:Mikrotik 路由器侦察阻断规则 2*
## 08 – 缓解措施验证
*图:缓解措施实施后的 Nmap 扫描*
## 09 - 目标端口分析 - 缓解措施验证
*图:缓解措施实施后的 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 安全, 威胁检测, 安全实验环境, 安全运营中心, 插件系统, 活动目录, 网络映射