TokeATJ/Threat-Hunting-and-Detection-Engineering-Lab

GitHub: TokeATJ/Threat-Hunting-and-Detection-Engineering-Lab

一个 SOC 家庭实验室项目,通过模拟真实攻击场景并结合 Splunk 与 Sysmon 进行威胁狩猎与检测工程的实践。

Stars: 0 | Forks: 0

image ## 概述 本项目展示了 SOC 家庭实验室的设计、部署和运行,该实验室用于模拟攻击者活动、收集端点遥测数据,并使用 Splunk 和 Sysmon 进行威胁狩猎调查。 实验室环境包括: - 托管 Splunk Enterprise 的 **Ubuntu Server** - 配置了 Sysmon 和 Splunk Universal Forwarder 的 **Windows 10 端点** - 用于模拟对抗活动的 **Kali Linux 攻击机** 本项目的目标是获得 SIEM 操作、端点遥测数据收集、威胁狩猎工作流、检测工程概念以及 MITRE ATT&CK 映射的实践经验。 ## 展示的技能 开发并调查了八个与 ATT&CK 对齐的威胁狩猎用例,包括进程创建监控、网络服务发现检测、DNS 查询监控、PowerShell 滥用检测、编码 PowerShell 检测、使用 certutil.exe 进行的 LOLBIN 滥用、凭据访问发现以及账户/系统发现,以模拟 adversary 行为,验证端点遥测数据,并使用 Splunk、Sysmon、Windows Event Logs 和 Kali Linux 开发威胁检测工作流。 - Splunk Enterprise 管理 - Sysmon 配置与监控 - Splunk Universal Forwarder 部署 - 端点遥测数据收集 - 威胁狩猎方法论 - 检测工程 - Windows Event Log 分析 - 网络侦察检测 - PowerShell 监控 - MITRE ATT&CK 映射 - 安全调查工作流 ## 首先,让我们确认数据源 验证我们是否通过 Splunk 连接到了正确的日志 ``` index=main | stats count by source ``` 您应该会看到类似于以下内容的日志源: | 源 | 描述 | |----------|-------------| | WinEventLog:Application | Windows 应用程序日志 | | WinEventLog:Security | Windows 安全日志 | | WinEventLog:System | Windows 系统日志 | | WinEventLog:Microsoft-Windows-Sysmon/Operational | Sysmon 遥测数据 | image ### 用例 1:进程创建监控 ### 目标 验证 Sysmon 是否捕获了进程创建活动,并将遥测数据转发到 Splunk 以进行集中监控和调查。 ### 测试活动 在 Windows 端点上执行了以下进程: ``` notepad.exe calc.exe cmd.exe / c whoami ``` **Notepad.exe OR Calc.exe OR whoami** image ### Splunk 调查 ``` index=main source="WinEventLog:Microsoft-Windows-Sysmon/Operational" notepad.exe OR calc.exe OR whoami ``` **WhoAMI** image **Notepad.exe & Calc.exe** image ### 调查结果 在 Splunk 中成功识别了已执行的进程,确认 Sysmon 进程创建事件已被收集,并可用于威胁狩猎和事件响应工作流。 ### MITRE ATT&CK - T1059.003 Windows Command Shell ### 用例 2:网络连接监控 ### 目标 使用 Kali Linux 虚拟机模拟外部攻击者对 Windows 10 端点执行侦察。目标是生成可在 Splunk 中使用 Sysmon 遥测数据进行调查的网络活动。 ### 攻击者系统 | 主机 | IP 地址 | 角色 | |--------|------------|--------| | Kali Linux | 10.0.2.15 | 攻击者 | | Windows 10 端点 | 10.0.2.4 | 目标 | ### 攻击模拟 从 Kali Linux 虚拟机执行了以下 Nmap 服务发现扫描: ``` nmap -sV 10.0.2.4 ``` **Nmap** image ### 预期结果 该扫描生成针对 Windows 端点的侦察活动,可在 Splunk 中进行调查。 ### Splunk 调查 搜索: ``` index=main "10.0.2.15" ``` **Splunk** image ### 调查结果 Splunk 返回了包含 Kali Linux IP 地址 (`10.0.2.15`) 的事件,证明了对源自模拟攻击机活动的可见性。 ### MITRE ATT&CK 映射 T1046 - Network Service Discovery ### 用例 3:DNS 查询监控 ### 目标 验证 Windows 端点生成的 DNS 查询是否被 Sysmon 捕获,并可在 Splunk 中进行调查。 ### 攻击模拟 在 Windows 端点上执行了以下 DNS 查询: ``` nslookup github.com nslookup google.com ``` image ### Splunk 调查 ``` index=main "github.com" ``` image ### 调查结果 在 Splunk 中成功识别了 DNS 查询活动,证明了对恶意软件执行、命令与控制 (C2) 通信以及攻击者侦察期间常被利用的域名解析活动的可见性。 ### MITRE ATT&CK - T1071.004 - Application Layer Protocol: DNS ## 用例 4:PowerShell 滥用检测 ### 目标 检测并调查攻击者常用于执行和后渗透活动的 PowerShell 执行活动。 ### 攻击模拟 执行了以下 PowerShell 命令: ``` powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-Process" powershell -NoProfile -ExecutionPolicy Bypass -Command "whoami" ``` image ### Splunk 调查 ``` index=main "NoProfile" ``` **"Get-Process" Powershell 命令** image **"whoami" Powershell 命令** Screenshot 2026-07-02 105134 ### 调查结果 使用 Sysmon 遥测数据在 Splunk 中成功识别了 PowerShell 执行活动。命令行参数和执行上下文可供调查。 ### MITRE ATT&CK - T1059.001 - PowerShell ### 用例 5:编码 PowerShell 检测 ### 目标 检测混淆的 PowerShell 执行和编码命令。 ### 攻击模拟 执行了以下编码的 PowerShell 命令: ``` powershell -EncodedCommand SQBFAFgA ``` image ### Splunk 调查 ``` index=main "EncodedCommand" ``` EndcodeCommand Splunk ### 调查结果 在 Splunk 中成功识别了编码的 PowerShell 执行活动。命令行参数包含了通常与攻击者技术相关的混淆指标。 ### MITRE ATT&CK - T1059.001 - PowerShell - T1027 - Obfuscated Files or Information ### 用例 6:LOLBIN 滥用 (certutil.exe) ### 目标 检测旨在规避安全控制并将恶意活动混入合法系统操作的受信任 Windows 二进制文件滥用行为。 ### 攻击模拟 执行了原生 Windows 实用程序 `certutil.exe` 以模拟 Living-Off-the-Land Binary (LOLBIN) 滥用。certutil.exe 是用于管理证书的合法 Microsoft 实用程序。 攻击者经常滥用它来: 下载 payload 传输文件 编码/解码恶意软件 绕过应用程序控制 因为它是受信任的 Microsoft 二进制文件,所以通常看起来是合法的。 ``` certutil.exe -urlcache -split -f https://example.com test.txt image ``` ### Splunk 调查 ``` index=main "certutil" ``` image ### MITRE ATT&CK - T1218 - System Binary Proxy Execution - T1105 - Ingress Tool Transfer ### 调查结果 在 Splunk 中成功识别了 `certutil.exe` 的执行。命令行参数和执行上下文可供调查,证明了对对抗者常用的 LOLBIN 滥用技术的可见性。 ### MITRE ATT&CK - T1218 - System Binary Proxy Execution - T1105 - Ingress Tool Transfer ### 用例 7:凭据访问发现 ### 目标 检测在 Windows 端点上枚举已存储凭据的尝试,并使用在 Splunk 中收集的 Sysmon 遥测数据调查该活动。 ### 攻击模拟 执行了 Windows 凭据管理器实用程序以枚举已存储的凭据。 ``` cmdkey /list ``` image ### Splunk 调查 ``` index=main "cmdkey" ``` image ### 调查结果 在 Splunk 中成功识别了 `cmdkey.exe` 的执行。该活动演示了如何通过 Sysmon 进程创建遥测数据检测凭据枚举尝试。 ### MITRE ATT&CK - T1555 - Credentials from Password Stores ### 用例 8:账户与系统发现 ### 目标 检测攻击者在后渗透和内部侦察期间常执行的账户枚举、特权组发现和网络配置发现活动。 ### 攻击模拟 执行了以下命令: ``` net user net localgroup administrators netstat -ano ``` **Net User** image **Net LocalGroup Administrators** image **Netstat -Ano** image ### Splunk 调查 ``` index=main "net.exe" "user" ``` image ``` index=main "localgroup administrators" ``` image ``` index=main "netstat" ``` image ### MITRE ATT&CK - T1087.001 - Local Account Discovery - T1069.001 - Local Group Discovery - T1016 - System Network Configuration Discovery ### 调查结果 通过 Sysmon 进程创建遥测数据,在 Splunk 中成功识别了账户枚举、本地组发现和网络发现活动。该活动证明了对对抗者常用的后渗透侦察技术的可见性。
标签:CTI, OpenCanary, 安全运营, 扫描框架, 无线安全, 知识库安全, 管理员页面发现