Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
threatbox — 基于Ansible的攻击平台,用于部署和管理标准化的Linux渗透测试环境,具有自动化工具安装、版本跟踪以及SSH/VNC访问功能。 | Kitploit
工具/GitHubGitHub/threatexpress/threatbox
渗透测试框架脚本与自动化实用工具与框架红队
GitHubthreatexpress/threatbox

threatbox

基于Ansible的攻击平台,用于部署和管理标准化的Linux渗透测试环境,具有自动化工具安装、版本跟踪以及SSH/VNC访问功能。

查看仓库
7714201年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Threatbox - 标准攻击平台

ThreatBox 是一个基于 Linux 的标准化受控攻击平台。我使用该平台的某个版本已有多年。它最初是一系列脚本的集合,后来演变为一个滚动的虚拟机,再后来变成用于构建 Linux ISO 的代码,现在则已转换为一套 Ansible 剧本。为什么用 Ansible?为什么不呢?这似乎是标准攻击平台配置的下一步自然演进。

本项目使用 Ansible 剧本和角色来对 Linux 目标机(已在 Ubuntu 18.04 上测试)进行部署后配置。

该项目旨在作为创建、管理和使用标准攻击平台(用于红队或渗透测试)的启动流程。

关于标准攻击平台概念的详细说明可在《Red Team Development and Operations - A practical guide》一书中找到,作者为 Joe Vest 和 James Tubberville。Red Team Guide

ThreatBox

特性

  • 标准工具以 Ansible 角色形式定义
  • 旨在使安全测试更便捷的定制化配置
  • 通过变量列表(threatbox.yml)添加或删除 git 仓库、OS 包或 Python 模块
  • 版本跟踪:记录部署实例版本和部署工具版本。有助于满足合规要求,通过主动跟踪所有工具来减少担忧。
    • 部署时创建 Threatbox 版本,并显示在桌面壁纸上
    • 已部署软件记录在 ~/Desktop/readme 中
  • SSH 端口自动切换:部署开始时使用端口 22,但会将目标系统重新配置为通过 threatbox.yml 中的 ansible_port 变量指定的 SSH 端口
  • 下载并编译多个 .net 工具包(例如来自 Ghostpack 的 SeatBelt.exe https://github.com/GhostPack/Seatbelt)
  • 大多数 Python 项目使用 pipenv 安装。在项目目录中使用 pipenv shell 访问。pipenv 使用指南请参见 https://realpython.com/pipenv-guide/

项目文件

以下列表突出显示了本项目的关键组件。

文件/目录描述用途
hostAnsible hosts 文件更新为目标 Ansible 系统的 IP 地址
group_vars/threatbox.yml通用变量本项目使用的变量,根据需要进行更新
threatbox_playbox.yml主要 Ansible 剧本根据需要更新以添加其他角色或功能
roles/common通用 OS 平台配置设置通用 OS 设置(例如在背景或构建中设置版本)
roles/.其他用于配置或部署工具的特定角色在 roles/ 中添加或修改角色

快速入门

准备

配置一个或多个目标机。

注意:本项目已在 DigitalOcean 上部署的 Ubuntu 18.04 上测试。

配置

  1. 将 hosts.sample 复制为 hosts
  2. 编辑 hosts,填入目标系统的 IP 地址
  3. 将 group_vars\threatbox.yml.sample 复制为 group_vars\threatbox.yml
  4. 编辑 group_vars\threatbox.yml,更新要使用的变量
    • 不要忘记使用具有远程目标访问权限的 SSH 密钥更新 SSH 密钥

Ansible 命令

# OSX 相关问题 https://github.com/ansible/ansible/issues/32499
if [[ "$(uname)" == "Darwin" ]]
then
    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=yes;
fi

# Ansible 日志
rm ./ansible.log
export ANSIBLE_LOG_PATH="ansible.log"

# Ansible 调试
export ANSIBLE_DEBUG=False

# 执行剧本
ansible-playbook -e ansible_python_interpreter=/usr/bin/python3 -i hosts threatbox_playbook.yml 

注意:考虑为 Ansible 使用 Mitogen 以获得显著性能提升。https://mitogen.networkgenomics.com/ansible_detailed.html

已测试的 ansible.cfg

[defaults]
host_key_checking = False
pipelining = True
forks = 100
timeout = 600
stdout_callback = yaml
bin_ansible_callbacks = True
callback_whitelist = profile_roles, profile_tasks, timer

#mitogen
strategy_plugins = ~/Documents/mitogen-0.2.9/ansible_mitogen/plugins/strategy
strategy = mitogen_linear

远程访问系统

通过 SSH 进行控制台访问

注意:SSH 可能在设置期间被改为非标准端口。该值在 group_vars/threatbox.yml 文件中设置。

threatboxip=10.10.10.10
sshport=52222
ssh -p $sshport -i ~/.ssh/threatbox_id_rsa root@$threatboxip

通过 SSH 隧道进行 VNC GUI 访问

注意:VNC 已设置但不允许通过网络直接访问。必须使用 SSH 隧道进行访问。

threatboxip=10.10.10.10
sshport=52222
ssh -p $sshport -i ~/.ssh/threatbox_id_rsa -L 5901:localhost:5901 root@$threatboxip

关于项目的说明

本项目使用 Ansible 角色。这些角色可能不完全遵循 Ansible 的风格。它们被设计为作为本项目的一部分使用,并通过单一的“变量”文件来控制项目。这些角色稍作调整便可轻松用于其他项目。


特性

ThreatBox 自定义命令 ThreatBox Help

工具分类 Tool Categories

所有已安装工具的跟踪 Tool Tracking

自动终端日志记录 Teminal Loggind

自定义终端选项提供更多上下文

终端精简版

Pipenv 保持 Python 项目的独立性 pipenv shell

示例:在 pipenv 环境中运行的 SilentTrinity silenttrinity

下载工具