bhargav-reddy-nasappagari/Detection-Engineering-Lab
GitHub: bhargav-reddy-nasappagari/Detection-Engineering-Lab
基于遥测和证据驱动的Linux检测工程实验室。
Stars: 0 | Forks: 0
# 检测工程实验室
## 概述
检测工程实验室是一个专注于对手模拟、遥测收集、行为调查、威胁映射、检测开发和基于证据的验证的实战型 Linux 检测工程代码库。
该项目在受控的 Linux 环境中重现了与 ATT&CK 对齐的对手行为,并遵循从攻击执行到经过验证的检测内容的完整检测工程生命周期。
与以规则为中心的代码库不同,这个实验室优先通过遥测分析理解攻击者行为,通过调查重建活动,将观察到的行为映射到 MITRE ATT&CK,并直接从观察到的证据中构建检测。
每个场景都被视为一个完整的检测工程案例研究,并产生以下内容:
* 遥测分析
* 调查报告
* 威胁映射
* 检测逻辑
* Sigma 规则
* 验证报告
* 样本检测工件
* 证据收集
目标是建立实用的检测工程技能,同时创建一个基于可观察遥测和验证行为的真实 Linux 检测内容库。
# 项目目标
此代码库旨在:
* 培养实用的 Linux 检测工程技能
* 模拟真实的对手技巧
* 研究 Linux 遥测可见性和局限性
* 执行基于遥测的调查
* 从证据中重建攻击者活动
* 将观察到的行为映射到 MITRE ATT&CK
* 构建行为检测
* 开发 Sigma 检测内容
* 对观察到的活动进行检测验证
* 建立可重用的 Linux 检测工程方法
* 创建专业的检测工程作品集
# 检测工程方法论
每个场景都遵循相同的基于证据的工作流程。
```
Attack Simulation
↓
Baseline Collection
↓
Telemetry Collection
↓
Telemetry Analysis
↓
Investigation & Reconstruction
↓
Threat Mapping
↓
Detection Logic Engineering
↓
Sigma Rule Development
↓
Detection Validation
↓
Evidence Collection
↓
Scenario Documentation
```
核心原则:
* 遥测优先分析
* 基于证据的调查
* 行为检测工程
* 与 ATT&CK 对齐
* 检测验证
* 流程溯源分析
* 会话重建
* 相关性驱动分析
目标是理解行为后再构建检测。
# 代码库结构
```
.
├── detections/
│ ├── logic/
│ ├── sigma/
│ └── validation/
│
├── docs/
│ └── threat-mapping/
│
├── evidence/
│
├── investigations/
│
├── logs/
│
├──samples/
│
├── scenarios/
│
├── scripts/
|
├── telemetry/
│
└── README.md
```
# 已完成的检测场景
## 1. Cron 持久化
**ATT&CK**
* T1053.003 – 定时任务/作业:Cron
**检测重点**
* Cron 执行遥测
* 定时任务持久化
* Cron 启动的进程链
* 长期持久化检测
## 2. Systemd 服务持久化
**ATT&CK**
* T1543.002 – 创建或修改系统进程:Systemd 服务
**检测重点**
* 服务创建
* 服务启用
* 守护进程重新加载活动
* 持久化服务执行
## 3. 反向 Shell 执行
**ATT&CK**
* T1059.004 – Unix Shell
* T1071 – 应用层协议
**检测重点**
* Shell 到网络的连接关系
* 交互式 Shell 活动
* 出站命令通道
* 进程和网络相关性
## 4. SSH 暴力破解
**ATT&CK**
* T1110 – 暴力破解
**检测重点**
* 认证失败
* PAM 遥测
* 无效用户活动
* 基于阈值的检测
## 5. 可疑枚举活动
**ATT&CK**
* T1033 – 系统所有者/用户发现
* T1057 – 进程发现
* T1049 – 系统网络连接发现
* T1082 – 系统信息发现
* T1016 – 网络配置发现
* T1007 – 服务发现
* T1083 – 文件和目录发现
**检测重点**
* 主机侦察
* 会话相关性
* 发现聚类
* 行为评分
## 6. 编码命令执行
**ATT&CK**
* T1059.004 – Unix Shell
* T1140 – 解码/解码文件或信息
* T1027 – 混淆/压缩文件和信息
**变体**
* 直接管道执行
* 负载重建
* Python 解码器
* 多阶段解码
**检测重点**
* Base64 解码活动
* 多阶段解码链
* 负载重建工作流程
* 混淆执行检测
## 7. 假冒 HTTP 服务器
**ATT&CK**
* T1105 – 入站工具传输
* T1059.004 – Unix Shell
**检测重点**
* 用户拥有的监听服务
* Python HTTP 服务器执行
* 负载暂存
* 下载并执行工作流程
## 8. Sudo 滥用以提升权限
**ATT&CK**
* T1548.003 – Sudo 和 Sudo 缓存
* T1059.004 – Unix Shell
**检测重点**
* Sudo 权限枚举
* GTFOBins 滥用
* Find-to-bash 执行链
* 创建 root Shell
## 9. 数据暂存和压缩
**ATT&CK**
* T1083 – 文件和目录发现
* T1005 – 从本地系统获取数据
* T1074.001 – 本地数据暂存
* T1560.001 – 通过实用程序存档收集的数据
**检测重点**
* 文件发现
* 数据聚合
* 暂时性暂存目录
* 存档创建
* 压缩工作流程
* 预传输分析
## 10. 信标/周期性回调
**ATT&CK**
* T1071 – 应用层协议
* TA0011 – 命令和控制
**模拟工作流程**
```
bash
├── curl http://127.0.0.1:8080/checkin
└── sleep 60
```
重复约二十分钟。
**检测重点**
* 周期性 HTTP 回调
* 重复进程执行
* 常见进程链
* 一致的目标定位
* 长期控制器进程
* 信标相关性分析
**收集的遥测**
* Auditd EXECVE 遥测
* Sysmon 进程创建遥测
* 父子进程链
* HTTP 服务器访问日志
* 会话重建工件
# 检测内容
每个场景包含:
## 遥测分析
可见性评估、遥测质量分析和证据审查。
```
telemetry/
```
## 调查报告
行为重建和攻击者工作流程分析。
```
investigations/
```
## ATT&CK 威胁映射
行为到技术的映射和威胁评估。
```
docs/threat-mapping/
```
## 检测逻辑
行为检测策略和分析开发。
```
detections/logic/
```
## Sigma 规则
平台无关的检测内容。
```
detections/sigma/
```
## 验证报告
基于证据的验证和误报评估。
```
detections/validation/
```
## 检测工件
样本警报、进程链、时间线、屏幕截图和触发证据。
```
evidence/
```
# 遥测来源
当前遥测收集包括:
* Auditd EXECVE 遥测
* Auditd SYSCALL 遥测
* Sysmon for Linux
* Auth.log
* PAM 认证日志
* Journalctl
* 进程创建遥测
* 父子进程链
* Cron 遥测
* Systemd 遥测
* SSH 遥测
* 暂时性文件活动
* 会话重建工件
* 网络连接遥测
* HTTP 访问日志
* TCP 数据包捕获
# ATT&CK 覆盖范围
## 执行
* T1059.004 – Unix Shell
## 持久化
* T1053.003 – Cron
* T1543.002 – Systemd 服务
## 发现
* T1033 – 系统所有者/用户发现
* T1057 – 进程发现
* T1049 – 系统网络连接发现
* T1082 – 系统信息发现
* T1016 – 网络配置发现
* T1007 – 服务发现
* T1083 – 文件和目录发现
## 凭据访问
* T1110 – 暴力破解
## 提升权限
* T1548.003 – Sudo 和 Sudo 缓存
## 收集
* T1005 – 从本地系统获取数据
* T1074.001 – 本地数据暂存
* T1560.001 – 通过实用程序存档收集的数据
## 命令和控制
* T1071 – 应用层协议
* T1105 – 入站工具传输
## 防御规避
* T1027 – 混淆/压缩文件和信息
* T1140 – 解码/解码文件或信息
# 基于证据的验证
每个场景都包括对收集到的证据的验证。
工件包括:
* Auditd 遥测
* Sysmon 遥测
* 原始进程事件
* 会话重建
* 进程链分析
* 检测触发证据
* 时间线重建
* 认证日志
* 网络捕获
* 样本警报
* 验证报告
检测是对观察到的活动而不是假设进行验证。
# 技术栈
## 平台
* Ubuntu Linux
## 遥测收集
* Auditd
* Sysmon for Linux
* Auth.log
* PAM
* Journalctl
## 检测工程
* Sigma
* MITRE ATT&CK
* 行为分析
* 相关性分析
* 进程链分析
* 会话重建
## 对手模拟
* Bash
* Python
* Cron
* Systemd
* SSH
* Base64
* HTTP 服务
* GTFOBins
* 原生 Linux 工具
# 当前项目统计
```
Completed Scenarios : 10
Telemetry Analyses : 10
Investigation Reports : 10
Threat Mapping Reports : 10
Detection Logic Reports : 10
Validation Reports : 10
Sigma Rules : 10+
Evidence Collections : 10
ATT&CK Techniques Covered: 20+
Primary Telemetry : Auditd + Sysmon for Linux
```
# 未来路线图
计划扩展的区域:
* SUID 滥用
* 凭据泄露
* 服务滥用
* Linux 恶意软件持久化
* 横向移动
* 防御规避
* 容器安全检测
* ATT&CK 覆盖范围矩阵
* 检测严重性框架
* 自动化验证管道
* 弹性检测内容
* Wazuh 检测内容
* 威胁狩猎剧本
# 项目理念
此实验室专注于理解:
* 攻击行为如何
* 遥测如何捕获行为
* 调查如何重建活动
* ATT&CK 技术如何在 Linux 上体现
* 检测如何构建
* 检测如何验证
目标是通过对可重复的对手模拟和基于证据的分析来发展实用的检测工程专业知识。
# 当前状态
```
Project Status : Active Development
Completed Scenarios : 10
Validation Status : All Scenarios Validated
Primary Platform : Linux
Detection Framework : Sigma
Methodology : Evidence-Driven Detection Engineering
```
实验室继续通过与 ATT&CK 对齐的对手模拟、遥测研究、行为调查、检测开发和基于验证的检测工程来扩展。