PivotSuite 是一款便携、跨平台且功能强大的网络跳板工具包, 帮助红队人员/渗透测试人员利用受害主机在网络内部进行横向移动。 它是一个独立的实用程序,既可以作为服务器使用,也可以作为客户端使用。
如果受害主机可以直接从我们的渗透测试机器访问(正向连接), 那么我们可以在受害机器上运行 PivotSuite 作为服务器,并从我们的渗透测试机器访问不同的子网主机, 而这些子网原本只有受害机器才能访问。
如果受害主机位于防火墙/NAT 后面,无法从我们的渗透测试机器直接访问, 那么我们可以先在渗透测试机器上运行 PivotSuite 作为服务器,再在受害机器上运行 PivotSuite 作为客户端, 以创建一条反向隧道(反向连接)。通过这种方式,我们可以从渗透测试机器访问不同的子网主机, 而这些子网原本只有受害机器才能访问。
您可以通过克隆 Git 仓库或 PyPI 包下载最新版本的 pivotsuite。
git clone https://github.com/RedTeamOperations/PivotSuite.git
OR
pip install PivotSuite
PivotSuite 在任何平台上均可直接使用 Python 2.7.x 和 3.6.x 版本。
从 Github Release 部分下载 PivotSuite 独立可执行文件
https://github.com/RedTeamOperations/PivotSuite/releases
无需安装,无需 Python 解释器
a. 仅需 Python 标准库
b. 兼容 Python 2.7.x 和 Python 3.6.x
c. 已在 Windows 和 Linux 上测试
$ pivotsuite.py [选项] 服务器IP 服务器端口
选项:
--version 显示程序版本号并退出
-h, --help 显示此帮助信息并退出
-S, --server 以服务器模式运行 PivotSuite
-C, --client 以客户端模式运行 PivotSuite
--server-ip=服务器IP
服务器监听/连接 IP 地址,默认 0.0.0.0
--server-port=服务器端口
服务器监听/连接端口,默认 7777
PivotSuite 服务器选项:
-F, --forward-connection
转发网络流量
--server-option=SP/PF
将服务器用作 Socks代理(SP)/端口转发(PF),
默认 SP
--network-protocol=T/U
为端口转发选择协议 TCP(T)/UDP(U),
默认 T
--forward-ip=远程主机IP
端口转发时的远程主机 IP
--forward-port=远程主机端口
端口转发时的远程主机端口
-W, --reverse-connection
反向网络流量
PivotSuite 客户端选项:
-O SP/PF/NE, --option=SP/PF/NE
将客户端用作 Socks代理(SP)/端口转发(PF)/
网络枚举(NE),默认 SP
-L, --local-forward
使用本地端口转发
-R, --remote-forward
使用远程端口转发
-P T/U, --protocol=T/U
为端口转发选择协议 TCP(T)/UDP(U),
默认 T
--local-ip=本地IP
本地端口转发的本地 IP
--local-port=本地端口
本地端口转发的本地端口
--remote-ip=远程IP
远程端口转发的远程 IP
--remote-port=远程端口
远程端口转发的远程端口
NTLM 代理认证选项:
--ntlm-proxy-ip=NTLM代理IP
NTLM 代理的 IP 地址
--ntlm-proxy-port=NTLM代理端口
NTLM 代理的端口
--username=用户名
用于 NTLM 代理认证的用户名
--domain=域 用于 NTLM 代理认证的域
--password=密码
用于 NTLM 代理认证的密码
--hashes=哈希值 用于代替密码进行认证的哈希值
格式 - LMHASH:NTHASH
如果受害主机可以直接从我们的渗透测试机器访问。
然后根据需求在受害机器上以服务器模式运行 PivotSuite:
a. 在受害机器上动态端口转发(Socks5 代理服务器):
$ python pivotsuite.py -S -F --server-option SP --server-ip IP --server-port PORT
b. 在受害机器上单端口转发(TCP/UDP 中继):
$ python pivotsuite.py -S -F --server-option PF --network-protocol T/U --remote-ip IP --remote-port PORT
--server-ip IP (本地IP) --server-port PORT (本地端口)
如果受害主机位于防火墙/NAT 后面,无法从我们的渗透测试机器直接访问。
则在渗透测试机器上以服务器模式运行 PivotSuite,在受害机器上以客户端模式运行 PivotSuite。
i. 在渗透测试机器上以服务器模式运行 PivotSuite:
$ python pivotsute.py -S -W
ii. 根据需求在受害机器上以客户端模式运行 PivotSuite:
a. 在渗透测试机器上动态端口转发(Socks5 代理服务器):
$ python pivotsuite.py -C -O SP --server-ip IP --server-port PORT
b. 在渗透测试机器上本地/远程端口转发:
$ python pivotsuite.py -C -O PF -L / -R (本地或远程端口转发) -P T/U --local-ip IP
--local-port PORT --remote-ip IP --remote-port PORT --server-ip IP --server-port PORT
c. 受害机器的网络枚举:
$ python pivotsuite.py -C -O NE --server-ip IP --server-port PORT
如果受害主机上的反向连接需要企业代理认证(NTLM):
$ python pivotsuite.py -C -O SP --ntlm-proxy-ip IP --ntlm-proxy-port PORT --username 用户名 --password 密码
--server-ip IP --server-port PORT
如果您能对 PivotSuite 工具包提供任何反馈或建议,我将不胜感激。