Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
tap — TrustedSec Attack Platform 是一种在基础设施上投放 dropper 的可靠方法,以确保与目标组织建立连接。 | Kitploit
工具/GitHubGitHub/trustedsec/tap
渗透测试框架持久化机制后渗透利用命令与控制红队远程访问工具
GitHubtrustedsec/tap

tap

TrustedSec Attack Platform 是一种在基础设施上投放 dropper 的可靠方法,以确保与目标组织建立连接。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

The TrustedSec Attack Platform (TAP)

TAP - 远程渗透测试平台构建器。
作者:David Kennedy @HackingDave
公司:TrustedSec (https://www.trustedsec.com)
项目页面:https://github.com/trustedsec/tap
TrustedSec 项目 - 版权所有 2020
支持的操作系统:Linux(首选 Ubuntu Linux)

什么是 TAP?

TAP 是一个远程渗透测试平台构建器。对于安全行业的人来说,出差常常成为一种负担,并给客户增加大量成本。TAP 的设计目标就是让这些测试机的部署变得非常简单,并创建一个自愈且稳定的平台来部署远程渗透测试平台。本质上概念很简单,你预先配置一台全新的机器,然后运行 TAP 安装文件。这将在 Linux 上安装一个按你需求配置的服务。它会建立一个反向 SSH 隧道,连接回你在互联网上暴露的一台机器。从那里,你可以通过它连接回的那台服务器在本地访问这台机器。TAP 会自动检测 SSH 连接何时失效,并自动为你重建连接。

它还有许多其他选项,例如,如果你丢失了 SSH,它可以连接到一个文本文件并为你执行命令。同时也会持续自我更新,并确保你运行的是 Ubuntu Linux 的最新软件包(如果你的操作系统是它的话)。

TAP 安装

root@kitploit:~
python setup.py - 这将安装 TAP。

要卸载 TAP:

root@kitploit:~
python setup.py - 这将卸载 TAP。

TAP 使用说明

在设置 TAP 时,你可能遇到的问题之一是 REMOTE(远程)SSH 服务器,这应该是你的一台暴露了 SSH 的外部机器。这是你希望 TAP 机器连接回去的那台机器,也就是你在互联网上等待连接的那台机器。不建议使用 root 用户,因为这是一个安全疏忽。使用普通用户来建立 SSH 隧道。目前只支持密码方式,不过稍后我们会添加对 SSH 密钥的支持。密码使用 AES 存储,但当前密钥存储方式并不安全。如果有人持续访问了这台机器,只要有足够的时间和耐心,就可以获取密钥并解密配置文件中的密码。这个问题将在后续版本中修复。

第二个是 REMOTE(远程)机器上的 LOCAL(本地)端口。当 TAP 通过反向 SSH 连接回来时,它会连接到 REMOTE 机器并在该机器上建立一个本地端口。当你 SSH 到互联网上的远程机器时,你需要使用 ssh user@localhost -p <本地端口>。这就是 TAP 在 REMOTE 系统上绑定的端口,这样你就能访问它了。

配置完成后,TAP 有一个默认的更新获取路径,你可以将其改为自己的更新路径。我特意没有把它放在 GitHub 上,这样你可以自行指定经过批准的更新内容。

接下来,你可以向 TAP 发送命令,它会每两分钟检查一次新的指令。你需要指定一个路径,例如:

https://websiteurl/commands.txt

TAP 会每两分钟检查该路径以寻找新命令,注意接下来的部分非常重要。文本文件的第一行必须包含 "EXECUTE COMMAND"(不要带双引号)。一旦 TAP 识别到这一行,它会检查该命令之前是否执行过,如果没有,就会逐行执行这些命令。当你与 TAP 失去连接并需要执行命令来修复问题时,这非常有用。

运行 setup 后,它会将文件安装到 /usr/share/tap。如果你指定了,它会自动启动,并自动检查更新,如 Debian 更新、TAP 更新等。

如果你使用 Debian,你应该将更新服务器以及你连接回去的 REMOTE 机器加入白名单。

就这样!

如果你决定不使用 SSH 密钥而使用密码,配置会以 AES 格式存储(需要 python-pycrypto)。如果你需要更新密码,请进入 scripts 目录,里面有一个 update-password 脚本,可以更新加密的密码并生成新的动态密钥。

另外,当你到了那里之后,有个小技巧是我们编写的一个基本相当于 SSH VPN 的小工具。如果你没有大量的流量,比如端口扫描、漏洞扫描等,这个工具会非常好用。下面是一个简单的工具,它封装了 sshuttle 来创建 VPN。只需将以下文件保存为 Python 文件并运行,然后使用相应的命令即可。你可以 VPN 进入 TAP 所部署的远程网络。只要不是极其庞大的流量(相当稳定),你可以做任何事情。

处理 VPN 有两种方式,第一种是通过下面的 SSHuttle 方法。你也可以使用由 TrustedSec 的 Geoff Walton 创建的一个透明 VPN,它位于 scripts 文件夹下。这将创建一个 TAP 接口,并通过 SSH 将你 VPN 连接到系统中。使用 SSHuttle 时,端口扫描之类的操作不能正常工作,强烈推荐使用 ssh-tunnel 脚本。

SSHUTTLE 隧道脚本

SSHUTTLE 是一个允许你将 SSH 用作透明代理 VPN 的工具。你可以使用此脚本与远程 TAP 设备通信,并通过代理将你的系统隧道化以获得完整的 VPN。这使你可以通过自己的设备进行测试,而不必依赖 TAP 设备本身。

root@kitploit:~
import subprocess 
import time

if not os.path.isfile("/usr/sbin/sshuttle"): 
    print "[!] SSHUTTLE does not appear to be installed, installing now" 
    subprocess.Popen("apt-get install sshuttle -f", shell=True).wait() 

print("Welcome to the sshuttle wrapper for TAP.") 
print("Enter the address for the SSH server, i.e. box.sshserver.com") 
reverse1 = input("Enter SSH server (REMOTE server): ") 
reverse2 = input("Enter the remote SSH port for %s:: " % (reverse1)) 
reverse3 = input("Enter the port to tunnel for the  local TAP machine (i.e. TAP box localhost port): ") 
reverse4 = input("Enter the username to connect to REMOTE system: ") 
print)"Triggering tunnel now...") 
time.sleep(2)
subprocess.Popen("ssh -f %s@%s -L %s:localhost:%s -N" % (reverse4, reverse1, reverse3, reverse2), shell=True).wait()
subprocess.Popen("sshuttle --dns -vr %s@localhost:%s 0/0" % (reverse4,reverse3), shell=True).wait()

使用 Proxy Chains

TAP 使用 proxychains4(proxychains-ng)通过 SSH 将所有 http/https 流量隧道化到你的远程机器。这有助于处理内容/出口过滤,以便你确保始终拥有最新的一切。要使用 proxychains,只需输入 proxychains4 <你想使用的命令> - TAP 更新会自动使用它。

日志

TAP 在安装过程中会提示你是否要记录系统上执行的所有命令。如果你选择记录,系统上输入的所有命令都会被记录下来,以便你可以提供给客户或保留设备上发生情况的记录。所有日志保存在 /var/log/messages 下。

支持的操作系统

Ubuntu 18.04 LTS(在 Debian 和其他 Ubuntu 版本上应该也能正常工作)

下载工具