owlsecx/OSharp

GitHub: owlsecx/OSharp

一款 Linux 平台的紫队对抗模拟器,通过安全复现 MITRE ATT&CK 技术来生成真实遥测数据,帮助团队验证 EDR/SIEM 的检测效果。

Stars: 0 | Forks: 0

# 🦉 OSharp

## 📌 概述 OSharp 会执行良性但逼真的类对手行动,您的安全防御体系应当检测并告警这些行动。每项行动都会记录 MITRE 技术 ID、严重程度和上下文,并且所有模拟产物在模拟结束后会自动清理。该会话可以导出为完整的 JSON 报告,供分析师审查。 ## 🛡️ 安全防护机制 - ✅ **仅限非破坏性操作** — 无真实漏洞利用,无 payload 执行 - ✅ **横向移动** — 默认仅针对私有和 localhost IP,针对公网 IP 需明确确认 - ✅ **无暴力破解** — 不涉及凭据,不进行身份验证尝试 - ✅ **自动清理** — 模拟结束后移除所有创建的文件(可按模块配置) - ✅ **无持久化** — 不写入 cron jobs、运行键或启动项 ## 🖥️ 模块 | # | 模块 | MITRE | 描述 | |---|--------|-------|-------------| | **1** | **进程注入** | T1055 | 读取 `/proc/self/maps`,生成 Python/Bash 子进程,尝试访问 `/proc/self/mem` — 生成类似注入的指标 | | **2** | **凭据访问** | T1003 | 运行 `id`、`whoami`,读取 `/etc/passwd`,枚举组和最近登录记录,查找 `.ssh` 目录,尝试访问 `/etc/shadow` | | **3** | **脚本执行** | T1059 | 执行良性的 Bash `-c`、带 socket import 的 Python `-c`、Perl `-e`、base64 编码的 bash payload,以及 curl-pipe-bash 模拟 | | **4** | **文件活动** | T1105 | 在 `/tmp`、`/dev/shm` 和 `~/.config` 中创建具有可疑名称的文件,设置 `chmod 755`,模拟投放器模式(写入 + 移动) | | **5** | **HTTP 信标通信** | T1071.001 | 向目标 URL 发送可配置的 GET/POST HTTP 信标,带有抖动延迟、自定义 User-Agent 轮换和重试逻辑 | | **6** | **Payload 混淆** | T1027 | 在 `/tmp` 中生成经 XOR + Base64 编码的二进制产物,文件名为随机命名,并写入一份解码参考说明 | | **7** | **横向移动** | T1021 | 对 SSH、SMB、RDP、MySQL、Redis、VNC、NFS 及另外 3 个端口进行 TCP 连接探测 — 无身份验证,无漏洞利用 | | **8** | **全链路** | All | 启用清理功能并按顺序运行全部 7 个模块 | | **9** | **导出报告** | — | 将完整的 JSON 报告保存至 `osharp_report_YYYYMMDD_HHMMSS.json` | ## 🎯 MITRE ATT&CK 覆盖范围 | 技术 | ID | OSharp 模拟内容 | |-----------|----|-----------------------| | 进程注入 | T1055 | 读取 `/proc/self/maps`,生成子进程,访问 `/proc/self/mem` | | 操作系统凭据转储 | T1003 | 读取 `/etc/passwd`,发现 `.ssh`,尝试访问 `/etc/shadow` | | 命令和脚本解释器 | T1059 | Bash / Python / Perl 单行命令,base64 编码的命令执行 | | 入口工具传输 | T1105 | 将文件投放至 `/tmp` 和 `/dev/shm`,设置可执行权限 | | 应用层协议 | T1071.001 | 带有抖动、user-agent 轮换和退避重试的 HTTP/S 信标通信 | | 混淆文件或信息 | T1027 | 经 XOR 加密 + Base64 编码的二进制产物 | | 远程服务 | T1021 | 对 10 个横向移动目标端口进行 TCP 端口探测 | ## 🚨 预期检测 使用 OSharp 来验证您的 EDR/SIEM 在以下方面的告警: **进程与内存** - 非系统进程读取 `/proc/self/maps` - 使用内联代码生成 Python/Bash 子进程 - 尝试访问 `/proc/self/mem` **凭据访问** - 非特权进程访问 `/etc/passwd` - 枚举 `.ssh` 目录 - 尝试访问 `/etc/shadow` **脚本执行** - 执行 `bash -c` / `python3 -c` / `perl -e` - 通过 `bash -c "... | base64 -d | bash"` 执行 Base64 解码的命令 **文件系统** - 在 `/tmp`、`/dev/shm`、`~/.config` 中创建可执行文件 - 对新创建的文件应用 `chmod 755` - 文件写入 → 移动模式(投放器行为) **网络** - 带有抖动的重复 HTTP 请求(信标通信模式) - 对 SSH、SMB、RDP、Redis、VNC 发起 TCP 连接尝试 **混淆** - 在临时目录中创建高熵值二进制文件 ## 📤 报告 每个模块都会实时记录事件,并且可以导出完整的 JSON 报告,其中包含工具元数据、主机、用户、总事件数、严重程度摘要,以及每个带有时间戳、模块、MITRE 技术、操作、严重程度和详细信息的独立事件。 ``` osharp_report_YYYYMMDD_HHMMSS.json ``` 严重程度级别:`Critical` · `High` · `Medium` · `Low` · `Info` ## ⚙️ 系统要求 - **Linux**(任何现代发行版)— 无法在 Windows 上运行 - **无需安装 Python** — 作为独立可执行文件运行 ## 🚀 使用方法 ``` ./OSharp ``` ## 📦 OwlSec 工具包的一部分 此工具是 **OwlSec** 套件的一部分 — 这是一个包含 300 多种安全和隐私工具的集合。 🔗 [owlsec.org](https://owlsec.org) ## ©️ 许可证 MIT License — © Khaled S. Haddad *工具以预构建的可执行文件形式分发。源代码为专有资产。*
标签:ATT&CK模拟, EDR验证, OwlSec, SIEM验证, URL发现, XDR验证, 反取证, 安全基线测试, 安全检测, 安全评估, 安全遥测, 应用安全, 攻击模拟, 无破坏测试, 端点检测与响应, 紫队模拟器, 紫队演练, 脱壳工具, 蓝军, 逆向工具, 驱动签名利用