Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
shootback — a reverse TCP tunnel ti permette di accedere al target dietro NAT o firewall | Kitploit
Strumenti/GitHubGitHub/aploium/shootback
Reverse EngineeringSicurezza di RetePenetration TestingRed Teaming
GitHubaploium/shootback

shootback

a reverse TCP tunnel ti permette di accedere al target dietro NAT o firewall

Vedi Repository
9762334 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

shootback

shootback è un tunnel TCP inverso che permette di accedere a target dietro NAT o firewall
反向TCP隧道, 使得NAT或防火墙后的内网机器可以被外网访问.
Consuma meno dell'1% di CPU e 8 MB di memoria con 800 connessioni concorrenti.
slaver è un singolo file e dipende solo dalla libreria standard di Python (2.7/3.4+).

Come funziona

Come funziona shootback

Scenari tipici

  1. Accedere al computer dell'ufficio/scuola (senza IP pubblico) da casa
    从家里连接公司或学校里没有独立外网IP的电脑
  2. Rendere pubblica una rete/sito privato.
    使内网或内网站点能从公网访问
  3. Supportare la penetrazione di reti private.
    辅助内网渗透
  4. Supportare competizioni CTF offline.
    辅助CTF线下赛, 使场外选手也获得比赛网络环境
  5. Connettersi a dispositivi con IP dinamico, come ADSL
    连接动态IP的设备, 如ADSL
  6. Crittografia SSL tra slaver e master
    slaver和master间支持SSL加密

Primi passi

  1. Requisiti:

    • Master: Python 3.4+, indipendente dal sistema operativo
    • Slaver: Python 2.7/3.4+, indipendente dal sistema operativo
    • Nessuna dipendenza esterna, solo libreria standard Python
  2. Scaricare git clone https://github.com/aploium/shootback

  3. (opzionale) Se serve un singolo file slaver.py, esegui python3 build_singlefile_slaver.py

  4. Esegui questi comandi:

    root@kitploit:~
    # master in ascolto su :10000 per slaver, :10080 per te
    python3 master.py -m 0.0.0.0:10000 -c 127.0.0.1:10080
    
    # slaver si connette al master e usa example.com come target del tunnel
    # ps: puoi usare python2 su slaver, non solo py3
    python3 slaver.py -m 127.0.0.1:10000 -t example.com:80
    
    # effettua una richiesta al master
    curl -v -H "host: example.com" 127.0.0.1:10080
    # -- qualche contenuto HTML da example.com --
    # -- qualche contenuto HTML da example.com --
    # -- qualche contenuto HTML da example.com --
    
  5. Un esempio più realistico (con SSL):
    supponendo che il master sia 22.33.44.55 (come nel grafico sopra)

    root@kitploit:~
    # slaver_local_ssh <---> slaver <--[SSL]--> master(22.33.44.55) <--> Tu
    
    # ---- master ----
    python3 master.py -m 0.0.0.0:10000 -c 0.0.0.0:10022 --ssl
    
    # ---- slaver ----
    # ps: l'opzione `--ssl` è per la crittografia slaver-master, non per SSH
    python(or python3) slaver.py -m 22.33.44.55:10000 -t 127.0.0.1:22 --ssl
    
    # ---- TU ----
    ssh 22.33.44.55 -p 10022
    
  6. Per ulteriore aiuto, consulta python3 master.py --help e python3 slaver.py --help

Consigli

  1. Esecuzione in demone:
    nohup python(or python3) slaver.py -m host:port -t host:port -q &
    oppure:

    root@kitploit:~
    # screen è un comando linux
    screen
    python(or python3) slaver.py -m host:port -t host:port
    # premi ctrl-a d per staccare screen
    # e se necessario, usa "screen -r" per ricollegarti
    
  2. Qualsiasi servizio basato su TCP è utilizzabile con shootback. HTTP/FTP/Proxy/SSH/VNC/...

  3. shootback si occupa solo della trasmissione, non gestisce crittografia o proxy.
    Puoi comunque usare un proxy di terze parti (es: shadowsocks) come target slaver.
    Per esempio:
    shadowsocks_server<-->shootback_slaver<-->shootback_master<-->shadowsocks_client(socks5)

Avvertenze

  1. Su Windows, a causa del limite di CPython select.select(), shootback non può gestire più di 512 connessioni concorrenti. Potresti incontrare
    ValueError: too many file descriptors in select()
    Se devi gestire una concorrenza così elevata su Windows, si consiglia Anaconda-Python3, il suo limite su Windows è 2048

Prestazioni

  1. Sul mio laptop con Intel I7-4710MQ, Win10 x64:
    • 1,6 Gbit/s di trasferimento in loopback (usando iperf), con circa il 5% di occupazione CPU.
    • 800 thread ApacheBench, con meno dell'1% di CPU e 8 MB di memoria consumata.
Scarica lo strumento