Guscyrus-cyber/Splunk_network_SOC_monitoring_mac_lab
GitHub: Guscyrus-cyber/Splunk_network_SOC_monitoring_mac_lab
基于Splunk的网络SOC监控Mac实验室,用于分析MacBook Pro的实时网络连接数据。
Stars: 0 | Forks: 0
# Splunk 网络安全运营中心 (SOC) 监控 Mac 实验室
\
本网络 SOC 监控实验室的目标是将从个人 MacBook Pro 收集的实时网络连接数据导入 Splunk 企业版,并模拟安全运营中心 (SOC) 监控工作流程。使用 mac_netstat.log 数据集,对网络活动进行索引、搜索、分析和可视化,以了解活跃的网络连接、监听服务和通信模式。实验室侧重于通过仪表板、报告、可视化、警报、检测规则和威胁狩猎查询,将原始网络数据转换为可操作的安全信息。
在整个实验室过程中,使用 Splunk 监控网络事件、识别已建立的连接、调查远程 IP 通信、审查监听服务以及开发基本的检测和监控能力。这项练习提供了使用 Splunk 企业版、安全信息和事件管理 (SIEM) 工作流程、网络监控和 SOC 分析师职责的动手经验,同时展示了如何利用网络遥测进行安全运营、事件调查和威胁狩猎。
# 网络索引(index=network)
网络数据显示:
谁在进行通信,
他们在哪里进行通信,
使用了哪些端口,
连接是否已建立或正在监听。
数据集:mac_netstat.log 来自 netstat -an
192.168.1.193:59061 → 3.221.141.237:443
192.168.1.193:62189 → 104.18.32.47:443
搜索栏:index=network 或 index=network \| stats count by host
SOC 分析师使用网络数据来:
识别活跃连接,
调查远程 IP,
检测异常流量,
识别通信模式,
调查事件。
**步骤 1 — 创建网络索引**
设置→索引→新建索引。创建索引名称:network
默认:
\$SPLUNK_DB/network/db
\$SPLUNK_DB/network/colddb
\$SPLUNK_DB/network/thaweddb
请参考存储库中的图片 # 1。
**步骤 2 — 上传网络数据集**
设置→添加数据→上传:mac_netstat.log
索引:network
Sourcetype:mac_netstat
审查→提交
请参考存储库中的图片 # 2。
\
**步骤 3 — 验证网络摄取**
搜索栏:index=network
目的:确认 Splunk 收到了网络数据集。
请参考存储库中的图片 # 3。
**步骤 4 — 验证事件计数**
搜索栏:index=network \| stats count
目的:计算所有摄取的网络事件。
请参考存储库中的图片 # 4。
**步骤 5 — 以表格形式显示网络事件**
搜索栏:
\
index=network
\| table \_time host source sourcetype \_raw
目的:显示干净的网络数据集事件。
请参考存储库中的图片 # 5。
\
**步骤 6 — 查找已建立的网络连接**
搜索栏:index=network ESTABLISHED
目的:识别活跃的网络会话。
请参考存储库中的图片 # 6。
**步骤 7 — 计算已建立连接的数量**
搜索栏:index=network ESTABLISHED \| stats count
目的:计算活跃的已建立连接数量。
请参考存储库中的图片 # 7。
**步骤 8 — 查找监听端口**
搜索栏:index=network LISTEN
目的:识别等待连接的服务。
请参考存储库中的图片 # 8。
**步骤 9 — 计算监听服务数量**
搜索栏:index=network LISTEN\
\| stats count
目的:计算暴露/监听服务数量。
请参考存储库中的图片 # 9。
**步骤 10 — 提取远程地址**
搜索栏:
index=network ESTABLISHED\
\| rex field=\_raw "\s(?\\d{1,3}(?:\\\d{1,3}){3})\\\d+\s+ESTABLISHED"\
\| stats count by remote_ip\
\| sort - count
目的:识别已建立网络连接中发现的远程 IP 地址。在此数据集中,结果 127.0.0.1 显示本地回环通信,这意味着 Mac 通过本地服务与其自身进行通信。
请参考存储库中的图片 # 10。
**步骤 11 — 可视化**
搜索栏:
index=network ESTABLISHED\
\| rex field=\_raw "\s(?\\d{1,3}(?:\\\d{1,3}){3})\\\d+\s+ESTABLISHED"\
\| stats count by remote_ip\
\| sort - count
目的:显示从提取的远程地址中提取的顶级远程 IP 连接。
请参考存储库中的图片 # 11。
\
**步骤 12 — 保存为报告**
\**
报告标题:网络远程 IP 连接报告
描述:本报告识别与 MacBook Pro 网络数据集通信的远程 IP 地址。
请参考存储库中的图片 # 12-13。
**步骤 13 — 从提取远程地址保存为仪表板面板**
仪表板标题:网络 SOC 监控仪表板
面板标题:顶级远程网络连接
描述:创建了一个 Splunk 仪表板,以可视化 mac_netstat.log 数据集中的网络连接活动。仪表板为 SOC 分析师提供了一个集中查看网络服务、监听端口、连接状态和网络监控信息,以便进行调查和威胁狩猎。
请参考存储库中的图片 # 14 至 # 16。
**步骤 14 — 为已建立连接创建警报**
搜索栏:
\
index=network ESTABLISHED\
\| stats count\
\| where count \> 10
警报标题:大量已建立网络连接
目的:当活跃连接超过阈值时发出警报。
描述:创建此警报以识别网络数据集中的已建立网络连接,并通知分析师可能需要进一步调查的潜在活跃网络通信。
请参考存储库中的图片 # 17。
**步骤 15 — 创建简单的网络检测规则**
搜索栏:
index=network ESTABLISHED\
\| rex field=\_raw "\s(?\\d{1,3}(?:\\\d{1,3}){3})\\\d+\s+ESTABLISHED"\
\| stats count by remote_ip\
\| where count \> 5
检测名称:重复远程网络通信检测
目的:检测与同一远程 IP 的重复通信。
创建了一个检测查询,以识别与已建立网络连接相关的 IP 地址。查询从网络数据集中提取远程 IP 地址,并计算每个 IP 出现的次数。当阈值设置为 count \> 5 时,因为没有匹配的已建立连接,所以没有返回结果。将阈值调整为 count \>= 1 后,查询成功返回了一个 IP 地址为 127.0.0.1 的结果。此 IP 代表本地主机(回环)接口,表明观察到的已建立连接是 MacBook Pro 本地服务,而不是与外部互联网主机的通信。这项练习展示了检测阈值如何影响查询结果,并强调了根据可用数据集的大小和特征调整检测逻辑的重要性。
请参考存储库中的图片 # 18-19。
\
**步骤 16 — 威胁狩猎查询**
搜索栏:
index=network\
\| search ESTABLISHED OR LISTEN\
\| table \_time host sourcetype \_raw
目的:审查用于狩猎的活跃和监听网络活动。
**\_time:** Splunk 索引网络数据集的时间戳。
**Host:** 识别您的 MacBook Pro 为网络信息的来源。
**Sourcetype:** 摄入 Splunk 的数据类型。mac_netstat。表示数据来自 netstat 网络命令。
**tcp4:** 协议和 IP 版本。传输控制协议 (tcp)。IPv4。
**Recv-Q:** 接收队列。显示操作系统接收但尚未由应用程序处理的字节数。通常为零表示没有积压。
**Send-Q:** 发送队列。显示等待传输的字节数。通常为零表示流量正常。
**Local Address:** Mac 上的 IP 地址和端口。192.168.1.193。端口:59061
**Foreign Address:** 与 Mac 通信的远程 IP 地址和端口。3.221.141.237.443
远程 IP:3.221.141.237
远程端口:443(HTTPS/TLS)
**State = ESTABLISHED:** 表示您的 Mac 与另一个系统之间存在活跃的 TCP 连接。这意味着两个系统之间可以交换数据。
**State = LISTEN:** 表示服务正在等待传入连接。它显示服务正在端口 22(SSH)上监听。
### 威胁狩猎观察
数据集包含以下内容:
127.0.0.1
(本地主机/回环流量)
以及外部互联网通信,例如:
3.221.141.237:443
20.33.3.2:443
23.49.251.240:443
172.253.139.188:5228
此威胁狩猎查询用于审查来自 MacBook Pro 数据集的活跃(ESTABLISHED)和监听(LISTEN)网络连接。结果提供了对协议、本地和远程 IP 地址、端口、连接状态和网络通信模式的可见性,使能够调查本地服务和外部互联网连接。
请参考存储库中的图片 # 20。
\
**步骤 17 — 网络实验室完成查询**
搜索栏:
index=network\
\| stats count by sourcetype source host
目的:确认最终数据集在 Splunk 中的可见性。
请参考存储库中的图片 # 21。
标签:IP通信, MacBook Pro, mac_netstat.log, 事件调查, 安全运营, 异常流量检测, 扫描框架, 端口监控, 网络安全, 网络数据, 网络连接, 逆向工具, 隐私保护