tstromberg/ttp-bench
GitHub: tstromberg/ttp-bench
基于 Go 开发的跨平台对手模拟工具,用于测试 EDR/SIEM 在 Linux 和 macOS 环境下对 MITRE ATT&CK 攻击技术的检测能力。
Stars: 53 | Forks: 3
# ttp-bench

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 年仍然各有千秋。
## 截图


## 系统要求
* 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, 凭据窃取, 命令控制, 威胁检测, 安全助手, 安全基准测试, 安全工具集合, 对手模拟, 数据展示, 数据采集, 日志审计, 程序破解, 红队, 键盘记录