Guscyrus-cyber/Splunk_firewall_SOC_monitoring_mac_lab
GitHub: Guscyrus-cyber/Splunk_firewall_SOC_monitoring_mac_lab
基于Splunk的防火墙SOC监控实验室,用于分析MacBook Pro防火墙数据,识别监听服务和潜在攻击面。
Stars: 0 | Forks: 0
**Splunk SOC 监控防火墙实验室**
本实验的目标是将从 MacBook Pro 收集的防火墙相关数据导入 Splunk Enterprise,并执行 SOC 监控活动,通过仪表板、报告、警报、检测和威胁狩猎查询来识别监听服务、暴露端口和潜在的攻击面。
\
防火墙索引(index=firewall)
防火墙相关数据显示:
暴露的服务,
监听端口,
接受连接的应用程序。
数据集:listening_ports.log
该数据集来自 mac 终端 bash:lsof -i -P -n,已保存并包含在数据集中
index=firewall
\
搜索栏:index=firewall 或 index=firewall \| stats count by process
SOC 分析师使用防火墙数据来:
识别开放端口,
识别暴露的服务,
调查未经授权的应用程序,
审查攻击面,
检测可疑的监听器。
**步骤 1 — 创建防火墙索引**
状态:已在之前的实验中完成
在 Splunk 实验室设置之前的实验中已创建防火墙索引,并用于防火墙 SOC 监控实验室。listening_ports.log 数据集已上传到现有索引以进行分析。
\
**步骤 2 — 上传防火墙数据集**
上传文件:listening_ports.log
索引:firewall
Sourcetype:mac_firewall
主机:MacBookPro
\
在 Splunk 实验室设置之前的实验中已创建防火墙索引,并用于防火墙 SOC 监控实验室。listening_ports.log 数据集已上传到现有索引以进行分析。
描述:将监听端口数据集上传到 Splunk Enterprise,并将其分配给防火墙索引以支持防火墙监控和攻击面分析。
\
请参考存储库中的图像 # 1 和 2。
**步骤 3 — 验证导入**
搜索栏:index=firewall
验证防火墙数据是否成功导入 Splunk。
请参考存储库中的图像 # 3。
**步骤 4 — 验证事件计数**
搜索栏:
\
index=firewall
\| stats count
计算索引中存储的防火墙事件数量。
请参考存储库中的图像 # 4。
**步骤 5 — 审查监听服务**
搜索:
index=firewall LISTEN
目的:
识别积极监听网络连接的服务。
请参考存储库中的图像 # 5。
**步骤 6 — 审查开放端口**
搜索栏:
index=firewall
\| table \_raw
审查暴露的端口和监听服务。
请参考存储库中的图像 # 6 和 7。
**步骤 7 — 搜索 SSH 端口**
搜索栏:index=firewall 22
#### 确定系统上是否暴露了 SSH。
\
搜索端口 22 未返回任何结果,表明在收集的防火墙数据集中未识别到 SSH 服务。这并不一定意味着没有服务暴露;其他监听端口和网络服务可能仍然存在,应作为整体攻击面分析的一部分进行审查。
\
搜索调查:
\
搜索栏:
index=firewall
\| search 22 OR 443 OR 3306 OR 5000 OR 5900 OR 631 OR 7000
\| table \_time host sourcetype \_raw
**命令**
使用网络连接的进程或应用程序名称。
splunkd
Google
mongod
Creative
有助于识别哪个应用程序拥有端口或连接。
**PID(进程 ID**)
操作系统为正在运行的进程分配的唯一标识符。
splunkd 15367
在调查或终止进程时很有用。
**FD(文件描述符**)
操作系统用于打开文件或网络套接字的内部引用。
4u
18u
145u
**(u)** 表示文件/套接字对读写都开放。
**类型**
网络协议和 IP 版本。
IPv4
IPv6
指示连接是否使用 IPv4 或 IPv6。
**设备**
网络套接字的内部操作系统标识符。
0xb00512302fb47d4
主要用于低级 OS 故障排除,而不是 SOC 调查。
**节点**
指示协议类型。
TCP
UDP
TCP = 面向连接。
UDP = 无连接。
**名称**
分析师最重要的字段。
显示:
本地 IP 地址
本地端口
远程 IP 地址
远程端口
连接状态
TCP \*:8089 (LISTEN)
这意味着:端口 8089 正在监听传入连接。
TCP 192.168.1.193:58609-\>150.171.109.73:443 (ESTABLISHED)
Mac 正在积极与 150.171.109.73 在 HTTPS 端口 443 上通信。
防火墙数据集是使用 lsof -i -P -n 生成的,它捕获了活动的网络套接字和监听服务。输出包括进程名称(COMMAND)、进程 ID(PID)、文件描述符(FD)、协议类型(TYPE)、套接字标识符(DEVICE)、传输协议(NODE)和网络连接详细信息(NAME)。这些字段允许分析师识别哪些应用程序正在使用网络端口,哪些服务正在监听,以及哪些远程系统正在与端点通信。
请参考存储库中的图像 # 8、9 和 10。
\
**步骤 8 — 搜索 Web 服务**
搜索栏:index=firewall 80 OR 443
识别与 Web 相关的服务和加密通信端口。
\
对于文件(listening_ports.log)有 **1 个事件**
1 个文件 = 1 个 Splunk 事件
该事件中有 231 行
当搜索:index=firewall 80 OR 443
Splunk 找到了一个事件,因为文件中某处有对端口 **443** 的引用。然后它显示了整个事件,其中包含 231 行。
搜索表明,**Web 相关服务或 HTTPS 通信存在于防火墙数据集中**。
查看输出,有如下条目:
192.168.1.193:58609 -\> 150.171.109.73:443 (ESTABLISHED)
和
192.168.1.193:62189 -\> 104.18.32.47:443
这表明通过:端口 443 = HTTPS / TLS 加密流量
通常用于:
Web 浏览
云服务
Google 服务
Microsoft 服务
安全 API
80 = HTTP(未加密的 Web 流量)可能不在此数据集中。
现代应用程序主要使用:
443 = HTTPS
而不是:
80 = HTTP
此查询用于通过搜索端口 80(HTTP)和 443(HTTPS)来识别防火墙数据集中的 Web 相关网络活动。结果显示使用端口 443 的活动通信,表明 MacBook Pro 和外部系统之间存在加密的 Web 流量。没有观察到显著的 HTTP(端口 80)活动,这是预期的,因为大多数现代 Web 服务都使用 HTTPS 进行安全通信。这些发现展示了如何使用防火墙数据来识别 Web 服务和加密网络活动。
请参考存储库中的图像 # 11。
**步骤 9 — 搜索数据库服务**
搜索:index=firewall 3306
识别 MySQL 数据库暴露。
\
搜索端口 3306 未返回任何结果,表明在防火墙数据集中未识别到 MySQL 数据库服务活动。这表明收集的 listening_ports.log 快照中不存在端口 3306。此结果的不存在并不确认 MySQL 永远没有被使用;它仅意味着在收集期间未在特定数据集中检测到 MySQL。
\
**额外的防火墙调查查询**
\
. 搜索常见 Web 服务
search: index=firewall (80 OR 443 OR 8080 OR 8000)
识别 Web 服务器、HTTPS 服务、Web 应用程序和管理接口。
\
\
. 搜索文件共享服务
Search: index=firewall (445 OR 139)
识别 SMB/CIFS 文件共享服务。
\
. 搜索 Apple 服务
index=firewall (5000 OR 7000 OR 5353 OR 631)
识别常见的 macOS 服务,如 AirPlay、mDNS/Bonjour、应用程序服务和打印服务。
\
. 搜索已建立的连接
index=firewall ESTABLISHED
识别活动网络通信。
\
. 搜索 TCP 活动
index=firewall TCP
审查基于 TCP 的网络服务和连接。
\
. 搜索 UDP 活动
index=firewall UDP
审查基于 UDP 的服务,如 DNS、Bonjour 和发现协议。
\
. 高风险服务
index=firewall (445 OR 139 OR 21 OR 23)
识别可能增加安全风险的小型机、FTP 或 Telnet 服务。
\
为了进一步调查防火墙数据集,执行了额外的搜索以识别监听服务、活动连接、Web 服务、远程管理服务、协议活动和应用程序通信。这些搜索提供了对系统攻击面和网络行为的更深入了解。
请参考存储库中的图像 12 至 19。
**步骤 10 — 可视化**
搜索栏:
index=firewall LISTEN
\| stats count
可视化:单值和柱状图
计算防火墙数据集中识别的监听服务数量。
请参考存储库中的图像 # 20 和 21。
**步骤 11 — 保存报告**
报告名称:防火墙监听服务报告
描述:本报告识别了在 MacBook Pro 上发现的监听服务和暴露端口。
请参考图像 # 22。
**步骤 12 — 创建仪表板面板**
仪表板:防火墙 SOC 监控仪表板
面板:监听端口概述
描述:显示防火墙数据集中识别的监听服务和暴露网络端口。
请参考存储库中的图像 # 23。
**步骤 13 — 创建警报**
搜索:index=firewall LISTEN
警报名称:监听服务检测
描述:检测积极监听传入网络连接的服务。
请参考图像 # 25。
**步骤 14 — 检测规则**
搜索栏:
\
index=firewall
\| search LISTEN
检测名称:开放端口检测
描述:检测可能增加系统攻击面的开放端口和监听服务。
此检测规则识别了 LISTEN 状态下的服务,表明有可用于传入连接的开放端口。结果揭示了端口 5000 和 7000 上的监听服务,这些服务增加了系统的攻击面,应作为防火墙和网络安全操作的一部分进行监控。
\
**分析师观察**
根据输出:
TCP \*:7000 (LISTEN)
TCP \*:5000 (LISTEN)
最重要的发现是:
| **端口** | **典型服务** |
|-----------------|---------------------------|
| 5000 | 应用程序 / Web 服务 |
| 7000 | AirPlay |
| 127.0.0.1:56357 | 本地主机仅 |
| 127.0.0.1:45623 | 本地主机仅 |
| 127.0.0.1:50983 | 本地主机仅 |
Creative 31373 ... TCP 127.0.0.1:56357 (LISTEN)
Creative 31373 ... TCP 127.0.0.1:45623 (LISTEN)
Creative 31373 ... TCP 127.0.0.1:50983 (LISTEN)
ControlCe ... TCP \*:7000 (LISTEN)
ControlCe ... TCP \*:5000 (LISTEN)
通过使用防火墙数据集中识别的 PID 在 Mac 终端上进行了调查和流程分析。在调查时,相应的进程不再活动,表明应用程序自原始数据收集以来已终止或重启。尽管如此,防火墙快照确认了“creative”进程正在监听仅本地主机的端口,而 ControlCe 进程正在网络接口上监听端口 5000 和 7000。这些发现展示了防火墙监控如何识别负责暴露网络服务的应用程序,并帮助分析师评估潜在的攻击面暴露。
请参考存储库中的图像 # 26、27 和 26。
\
**步骤 15 — 威胁狩猎查询**
搜索栏:
\
index=firewall
\| table \_time host sourcetype \_raw
审查监听服务、开放端口和暴露应用程序以进行威胁狩猎活动。
请参考存储库中的图像 # 28 和 29。
本实验使用 Splunk Enterprise 分析防火墙相关数据,识别监听服务和暴露端口,并创建仪表板、报告、警报、检测和威胁狩猎查询以进行攻击面监控。
标签:MacBook Pro, SOAR, SOC监控, 入侵检测系统, 威胁情报, 安全事件检测, 安全信息与事件管理, 安全报告, 安全数据湖, 安全策略, 安全警报, 安全运营中心, 应用安全, 开发者工具, 提示词设计, 搜索引擎爬取, 攻击面分析, 数据导入, 数据源管理, 数据统计, 数据统计, 数据验证, 日志收集, 日志索引, 端口扫描, 端口扫描, 网络安全, 网络映射, 逆向工具, 防火墙监控, 隐私保护