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

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

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

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

工具目录

分类

查看所有分类
Loading categories
shootback — 一个反向TCP隧道,让您能够访问位于NAT或防火墙后面的目标。 | Kitploit
工具/GitHubGitHub/aploium/shootback
逆向工程网络安全渗透测试红队
GitHubaploium/shootback

shootback

一个反向TCP隧道,让您能够访问位于NAT或防火墙后面的目标。

查看仓库
976233515个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

shootback

shootback 是一个反向 TCP 隧道,让你可以访问 NAT 或防火墙后面的目标
反向TCP隧道, 使得NAT或防火墙后的内网机器可以被外网访问.
在 800 并发下消耗不到 1% 的 CPU 和 8MB 内存.
slaver 是 单文件,且仅依赖 python(2.7/3.4+) 标准库.

工作原理

工作原理示意图

典型场景

  1. 从家里访问公司/学校的电脑(没有外网IP)
    从家里连接公司或学校里没有独立外网IP的电脑
  2. 使私有网络/站点公开。
    使内网或内网站点能从公网访问
  3. 辅助内网渗透。
    辅助内网渗透
  4. 辅助CTF线下赛。
    辅助CTF线下赛, 使场外选手也获得比赛网络环境
  5. 连接动态IP的设备,如ADSL
    连接动态IP的设备, 如ADSL
  6. slaver和master之间的SSL加密
    slaver和master间支持SSL加密

快速开始

  1. 需求:

    • Master: Python3.4+, 操作系统无关
    • Slaver: Python2.7/3.4+, 操作系统无关
    • 无外部依赖,仅 Python 标准库
  2. 下载 git clone https://github.com/aploium/shootback

  3. (可选)如果你需要单文件 slaver.py,运行 python3 build_singlefile_slaver.py

  4. 运行以下命令

    # master listen :10000 for slaver, :10080 for you
    python3 master.py -m 0.0.0.0:10000 -c 127.0.0.1:10080
    
    # slaver connect to master, and use example.com as tunnel target
    # ps: you can use python2 in slaver, not only py3
    python3 slaver.py -m 127.0.0.1:10000 -t example.com:80
    
    # doing request to master
    curl -v -H "host: example.com" 127.0.0.1:10080
    # -- some HTML content from example.com --
    # -- some HTML content from example.com --
    # -- some HTML content from example.com --
    
  5. 一个更实际的例子(带SSL):
    假设你的 master 是 22.33.44.55 (就像上图中的那样)

    # slaver_local_ssh <---> slaver <--[SSL]--> master(22.33.44.55) <--> You
    
    # ---- master ----
    python3 master.py -m 0.0.0.0:10000 -c 0.0.0.0:10022 --ssl
    
    # ---- slaver ----
    # ps: the `--ssl` option is for slaver-master encryption, not for SSH
    python(or python3) slaver.py -m 22.33.44.55:10000 -t 127.0.0.1:22 --ssl
    
    # ---- YOU ----
    ssh 22.33.44.55 -p 10022
    
  6. 更多帮助,请参阅 python3 master.py --help 和 python3 slaver.py --help

小贴士

  1. 后台运行:
    nohup python(or python3) slaver.py -m host:port -t host:port -q &
    或者:

    # screen is a linux command
    screen
    python(or python3) slaver.py -m host:port -t host:port
    # press  ctrl-a d  to detach screen
    # and if necessary, use "screen -r" to reattach
    
  2. 任何使用 TCP 的服务都可以被 shootback 传输。HTTP/FTP/代理/SSH/VNC/...

  3. shootback 本身只进行传输工作,不处理加密或代理。
    但你可以使用第三方代理(例如 shadowsocks)作为 slaver 的目标。
    例如:
    shadowsocks_server<-->shootback_slaver<-->shootback_master<-->shadowsocks_client(socks5)

警告

  1. 在 Windows 中,由于 CPython select.select() 的限制,shootback 无法处理超过 512 并发,你可能会遇到
    ValueError: too many file descriptors in select()
    如果你必须在 Windows 中处理如此高的并发,推荐使用 Anaconda-Python3,
    它在 Windows 中的限制是 2048

性能表现

  1. 在我的笔记本电脑(Intel I7-4710MQ,Win10 x64)上:
    • 回环传输速率 1.6Gbits/s(使用 iperf),CPU 占用约 5%。
    • 800 线程 ApacheBench,CPU 占用不到 1%,内存消耗 8MB
下载工具