abdsiddi/elastic-threat-detection-lab

GitHub: abdsiddi/elastic-threat-detection-lab

一个基于 Elastic Stack 的蓝队实战实验室,涵盖恶意软件静态分析、攻击模拟与 SIEM 检测规则编写。

Stars: 0 | Forks: 0

# 网络威胁情报 — 家庭实验室


# 网络威胁情报 — 家庭实验室 `静态分析 · SIEM 工程 · 检测规则编写 · ATT&CK 模拟`
### 作者 Muhammad Abdullah Siddiqui ### 环境 Kali Linux + Windows 11 虚拟机 ### 技术栈 Elastic Stack 8.x · Sysmon · Winlogbeat ### 框架 MITRE ATT&CK · Atomic Red Team
# 📂 目录 1. [静态文件分析 — 恶意软件识别](#01-static-file-analysis) 2. [Elastic Stack 设置与日志验证](#02-elastic-stack-setup--log-verification) 3. [攻击模拟 — Atomic Red Team](#03-attack-simulation--atomic-red-team) 4. [在 Kibana Discover 中进行日志分析](#04-log-analysis-in-kibana-discover) 5. [检测规则与 SIEM 告警](#05-detection-rules--siem-alerting) 6. [MITRE ATT&CK 覆盖范围](#06-mitre-attck-coverage) # 01. 静态文件分析 使用标准的静态分析工具分析了四个未知来源的文件: * `file` * `strings` * `binwalk` * `exiftool` * VirusTotal 目标是确定文件类型、识别嵌入的 payload、检测混淆模式,并对恶意行为进行分类。 ## 📊 分析摘要 | 指标 | 值 | | ----------------------------- | ------- | | 已分析文件 | 4 | | 标记为恶意的文件 | 4 | | 最高 VT 检测数 | 59 / 71 | | 已识别的恶意软件类别 | 4 | ## 📄 file1 — Composite Document File V2 (.doc) 该样本显示为使用 OLE 复合文档格式的旧版 Microsoft Word 文档。静态检查揭示了可疑的宏执行行为和嵌入 payload 的暂存证据。 ### Strings 分析 ``` C:\Users\Public winmm.dll Rundll32 Certutil -decode ``` ### 观察结果 * `Certutil -decode` 被识别为 LOLBin 使用 * 引用了 `Rundll32` 用于 DLL 执行 * 检测到嵌入的 payload 投递指示符 * 通过 Binwalk 识别出多个存档签名 ### Binwalk 发现 * StuffIt 存档片段 * 嵌入的 PNG 结构 * ZIP 存档容器 * `[Content_Types].xml` * `.rels` 关系文件 ### VirusTotal 分类 | 引擎结果 | 检测 | | --------------- | --------- | | Trojan.VBA | ✓ | | W97M.Downloader | ✓ | | Malicious Macro | ✓ | ### 检出率 ``` 44 / 63 ``` ### SHA-256 ``` dc40e48d2e0e57cd16b1792bdccc185440f632783c7bcc87c955e1d4e88fc95 ``` ## ⚙️ file2 — PE32 .NET 可执行文件 (.exe) 被识别为基于 .NET 框架编译的 32 位 Windows 可执行文件。元数据试图将该样本伪装成合法的实用程序应用。 ### 元数据分析 | 字段 | 值 | | ------------- | ------------------ | | Internal Name | GuidTypeIn.exe | | Product Name | WinThumbsPreloader | | Machine Type | Intel 386 / PE32 | | Subsystem | Windows GUI | ### API 引用 ``` GetWindowLongPtr32 SetWindowLong32 ``` ### 观察结果 * UI hook 操纵指示符 * 与 Remote Access Trojans 的行为重叠 * 检测到嵌入的压缩资源 * 潜在的间谍软件功能 ### VirusTotal 分类 | 引擎结果 | 检测 | | ------------- | --------- | | Trojan.MSIL | ✓ | | Backdoor.Win | ✓ | | RAT | ✓ | | Spyware | ✓ | ### 检出率 ``` 59 / 71 ``` ### SHA-256 ``` 9c9a99423087bdfd23df04a29984273ba056021ee54e815d2cd85103a9548eff ``` ## 📊 file3 — Composite Document File V2 (.xls) 以 OLE 格式存储的旧版 Excel 文档。静态分析表明存在 VBA 宏混淆和嵌入的 payload 嵌套。 ### 指示符 * 自动打开宏行为 * 嵌入的 ZIP 结构 * VBA 混淆 * Downloader 特征 ### VirusTotal 分类 | 类别 | 结果 | | ---------------- | ------ | | Trojan | ✓ | | Macro Downloader | ✓ | | Auto Execute | ✓ | ### 检出率 ``` 40 / 62 ``` ### SHA-256 ``` de8e60c9b433dca50790371de29f6e6f68f3f244b060f838cdd07eea944f4f48 ``` ## 🌐 file4 — 混淆的 HTML Payload HTML 样本,在异常大的 ASCII 结构中包含了严重混淆的嵌入 JavaScript。 ### 指示符 * 嵌入的 JavaScript payload * HTML 木马行为 * 混淆的执行逻辑 * 浏览器漏洞利用特征 ### VirusTotal 分类 | 类别 | 结果 | | ------------- | ------ | | HTML Trojan | ✓ | | Exploit Agent | ✓ | | Embedded JS | ✓ | ### 检出率 ``` 22 / 61 ``` ### SHA-256 ``` c41d9cf3dcabc161c040a8c3fcf8cfc18983fc896ce55003e230eff37171835 ``` # 📋 静态分析摘要 | 文件 | 类型 | 恶意软件类别 | VT 检测数 | 结论 | | ----- | ---------------- | ---------------- | ------------- | --------- | | file1 | .doc (OLE) | VBA Macro Trojan | 44 / 63 | Malicious | | file2 | .exe (.NET PE32) | RAT / Spyware | 59 / 71 | Malicious | | file3 | .xls (OLE) | Macro Downloader | 40 / 62 | Malicious | | file4 | .html | HTML Trojan | 22 / 61 | Malicious | # 02. Elastic Stack 设置与日志验证 使用以下组件配置了本地 Elastic SIEM 环境: * Elasticsearch 8.x * Kibana * Winlogbeat * Sysmon * Windows 11 虚拟机 * Kali Linux 分析站 ## 🧱 基础设施组件 | 组件 | 角色 | | ------------- | -------------------------------------- | | Elasticsearch | 日志索引和存储 | | Kibana | 可视化和检测管理 | | Winlogbeat | Windows 事件日志转发 | | Sysmon | 增强的 Windows 遥测 | | Windows 11 VM | 攻击目标环境 | | Kali Linux | 分析师工作站 | ## 验证工作流 ### 1. Kibana Discover 验证 确认已主动摄入至: ``` winlogbeat-* ``` 观察到的已索引事件总数: ``` 3,446 documents ``` ### 2. 事件流验证 观察到的遥测包括: * PowerShell 事件 ID 4104 * Windows 安全日志 * Sysmon 进程创建事件 * 服务控制管理器事件 ### 3. ECS 字段验证 验证了以下字段的存在: ``` @timestamp host.name event.code winlog.provider_name ``` # 03. 攻击模拟 — Atomic Red Team 使用 Atomic Red Team 模拟了直接映射到 MITRE ATT&CK 技术的真实对手行为。 ## T1053.005 — 计划任务创建 ### 技术类别 ``` Persistence ``` ### PowerShell 执行 ``` Invoke-AtomicTest T1053.005 -TestNumbers 2 ``` ### 直接等效命令 ``` schtasks /Create /SC ONCE /TN spawn /TR cmd.exe /ST 20:10 ``` ### 结果 ``` SUCCESS: The scheduled task "spawn" has successfully been created. ``` ## T1003.001 — LSASS 内存转储 ### 技术类别 ``` Credential Access ``` ### PowerShell 执行 ``` Invoke-AtomicTest T1003.001 -TestNumbers 2 ``` ### 直接等效命令 ``` rundll32.exe comsvcs.dll, MiniDump (Get-Process lsass).id $env:TEMP\lsass.dmp full ``` ### 结果 ``` Done executing test: T1003.001-2 Dump LSASS.exe Memory using comsvcs.dll ``` ## T1136.001 — 本地用户帐户创建 ### 技术类别 ``` Persistence ``` ### 命令 ``` net user attacker123 P@ssw0rd123 /add net localgroup administrators attacker123 /add ``` ### 结果 ``` The command completed successfully. ``` ## T1569.002 — 基于服务的执行 ### 技术类别 ``` Execution ``` ### 配置 ``` ServiceName: ARTService BinaryPath: C:\WINDOWS\system32\cmd.exe /c powershell.exe -nop -w hidden ``` ### 检测工件 ``` Windows Event ID 7045 ``` # 04. 在 Kibana Discover 中进行日志分析 在执行 Atomic Red Team 模拟后,使用 KQL 在 Kibana Discover 中调查了遥测数据。 ## KQL 查询 ### 计划任务活动 ``` message: "*schtasks*" ``` ### LSASS 凭据转储 ``` message: "*lsass*" OR message: "*MiniDump*" ``` ### 用户帐户创建 ``` event.code: 4720 ``` ### 服务安装 ``` event.code: 7045 ``` ## 检测发现 | 技术 | 事件来源 | 事件 ID | 已检测 | | --------------------- | ----------------------- | -------- | -------- | | Scheduled Task | Sysmon | 1 | ✓ | | LSASS Dump | PowerShell / Sysmon | 1 | ✓ | | User Account Creation | Windows Security | 4720 | ✓ | | Service Installation | Service Control Manager | 7045 | ✓ | # 05. 检测规则与 SIEM 告警 在 Kibana Security 中使用基于 KQL 的规则逻辑编写了自定义检测规则。 ## 🔴 LSASS 凭据转储检测 ### 严重性 ``` High ``` ### 查询 ``` message: "*lsass*" OR message: "*MiniDump*" OR message: "*comsvcs.dll*" ``` ### MITRE 映射 ``` T1003.001 ``` ### 生成的告警 ``` 20 Alerts ``` ## 🟡 计划任务持久化检测 ### 严重性 ``` Medium ``` ### 查询 ``` message: "*schtasks*" AND message: "*/Create*" ``` ### MITRE 映射 ``` T1053.005 ``` ### 生成的告警 ``` 6 Alerts ``` ## 🟡 用户帐户创建检测 ### 严重性 ``` Medium ``` ### 查询 ``` event.code: 4720 ``` ### MITRE 映射 ``` T1136.001 ``` ### 生成的告警 ``` 2 Alerts ``` # 📈 告警摘要 | 指标 | 数量 | | --------------- | ----- | | 告警总数 | 28 | | 高严重性 | 20 | | 中严重性 | 8 | | 触发的规则 | 3 | # 06. MITRE ATT&CK 覆盖范围 | 战术 | 技术 | ID | 方法 | | ----------------- | ----------------------- | --------- | --------------- | | Credential Access | LSASS Memory Dumping | T1003.001 | comsvcs.dll | | Persistence | Scheduled Task Creation | T1053.005 | schtasks.exe | | Persistence | Local Account Creation | T1136.001 | net user | | Execution | Service Execution | T1569.002 | sc create | | Execution | VBScript Execution | T1059.005 | Atomic Red Team | # 关键结论 * 成功构建了功能性的 Elastic SIEM pipeline * 使用 Winlogbeat + Sysmon 验证了 Windows 遥测数据摄入 * 使用 Atomic Red Team 模拟了对手技术 * 编写了自定义 KQL 检测规则 * 从 Windows 原生遥测中生成了高保真检测 * 将攻击活动直接映射到 MITRE ATT&CK 技术 # 待添加截图 * Kibana Discover 仪表板 * Elastic Security 告警 * Atomic Red Team 执行终端 * Winlogbeat 配置 * Sysmon 遥测日志 * 检测规则配置
### 网络威胁情报家庭实验室 静态分析 · SIEM 工程 · 检测工程 · ATT&CK 模拟
标签:AI合规, AMSI绕过, Elastic Stack, 威胁检测, 安全实验室, 攻击模拟, 流量重放, 越狱测试, 驱动签名利用