tstromberg/ttp-bench

GitHub: tstromberg/ttp-bench

基于 Go 开发的跨平台对手模拟工具,用于测试 EDR/SIEM 在 Linux 和 macOS 环境下对 MITRE ATT&CK 攻击技术的检测能力。

Stars: 53 | Forks: 3

# ttp-bench ![logo](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/eec007f3cb092035.png) ttp-bench 模拟了来自 [MITRE ATT&CK 框架](https://attack.mitre.org/) 和已发布的防御研究中的 30 种流行战术。所有的模拟行为至少具有模糊的可疑性,例如窃取 GCP 凭证、嗅探您的键盘、访问异常的 DNS 服务器,或伪装成内核进程。大多数模拟具有多种可疑特征,有助于触发警报,例如作为磁盘上凭空出现的未签名二进制文件。您的入侵检测系统能检测到多少此类模拟? 一个类似的开源项目是 [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team): 在创建 ttp-bench 时,它不支持 Linux 或 macOS。它的设置有点复杂,而且所使用的技术之间没有太多重叠,因此这两个项目在 2024 年仍然各有千秋。 ## 截图 ![choices](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/19afd3bd71092046.png) ![running](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/85903564d3092057.png) ## 系统要求 * Go 编程语言 目前可用的大多数检查模拟的是类 UNIX 操作系统上发现的 IoC。然而,这并非有意的设计目标。ttp-bench 目前在 Linux 和 macOS 上经过积极测试。 ## 用法 首先,运行以下命令以访问交互式检查菜单来执行: ``` go run . ``` ttp-bench 支持一些用于自动化的标志: ``` -all: execute all possible checks -checks: comma-separated list of checks to execute -list: list possible checks ``` 对于少数需要 root 权限的检查,系统会提示您输入密码。 ## 可用检查 * cnc-dns-over-https: 模拟通过 DNS over HTTPS 进行 C&C 发现(类似于 Godlua) * cnc-resolve-random: 模拟通过随机主机名查找进行 C&C 发现(类似于 Aquatic Panda) * creds-browser-cookies: 模拟窃取 Web 会话 cookie [T1539] * creds-gcp-exfil: 模拟窃取 GCP 凭证 [1552.001, T15060.002] * creds-keylogger-root: 模拟通过键盘记录窃取凭证 [T1056] * creds-packet-sniffer-root: 模拟通过网络嗅探窃取凭证 [T1040] * creds-ssh-exfil: 模拟窃取 GCP 凭证 [1552.001, T15060.002] * evade-deleted-service: 模拟由不再存在的二进制文件运行的服务 * evade-masquerade-kernel-thread-root: 模拟进程伪装成内核线程 [T1036.004] * evade-masquerade-user: 模拟进程伪装成另一个用户进程 [T1036.004] * evade-shell-history: 模拟通过截断 bash_history 进行攻击清理 [T1070.003] * evade-tools-in-var-tmp-hidden: 模拟使用 curl 传输工具并从 /var/tmp/. 运行 [T1036.005] * evade-usr-bin-exec-root: 模拟恶意程序将其自身安装到 /usr/bin 中 [T1036.005] * exec-bash-reverse-shell: 使用 bash 启动临时的反向 shell * exec-curl-to-hidden-url: 模拟 * exec-curl-to-hidden-url: 模拟使用 curl 将工具传输到隐藏目录 [T1036.005] * exec-drop-eicar: 模拟将已知的病毒特征码(EICAR)投放到文件系统 * exec-linpeas: 下载并启动 LinPEAS * exec-netcat-listen: 启动 netcat 以监听端口 [T1059.004] * exec-python-reverse-shell: 使用 Python 启动临时的反向 shell * exec-traitor-vuln-probe: 模拟探测系统中的提权漏洞 * exec-upx-listener-root: 新的未签名混淆二进制文件作为 root 从隐藏目录进行监听 * hidden-listener: 新的未签名二进制文件从隐藏目录进行监听 * persist-iptables-root: 模拟攻击者更改 iptables 以允许传入流量 * persist-launchd-com-apple-root: 模拟通过伪造的未签名 Apple launchd 服务实现持久化 * persist-user-crontab-reboot: 模拟命令将自身插入用户 crontab 以实现持久化 * privesc-traitor-dirty-pipe: 模拟 CVE-2022-0847 (Dirty pipe) 以将用户权限提升至 root * privesc-traitor-docker-socket: 模拟使用 Docker sockets 将用户权限提升至 root * pypi-supply-chain: 使用修改后的真实样本模拟 PyPI 供应链攻击
标签:AMSI绕过, Cloudflare, EDR测试, EVTX分析, Go语言, macOS安全, MITRE ATT&CK, SIEM评估, TTP, 凭据窃取, 命令控制, 威胁检测, 安全助手, 安全基准测试, 安全工具集合, 对手模拟, 数据展示, 数据采集, 日志审计, 程序破解, 红队, 键盘记录