Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
Venom — Venom - Un proxy multi-hop per penetration tester | Kitploit
Strumenti/GitHubGitHub/dliv3/venom
Strumenti di Crittografia/DecrittografiaMappatura della RetePenetration TestingCommand and ControlRed TeamingStrumento di Accesso Remoto
GitHubdliv3/venom

Venom

Venom - Un proxy multi-hop per penetration tester

Vedi Repository
2.2k358156 anni 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

Venom - Un Proxy Multi-hop per Penetration Tester

简体中文 | English

Venom è uno strumento proxy multilivello sviluppato in Go, progettato per penetration tester.

Venom può connettere più nodi e utilizzarli come trampolini per costruire un proxy multilivello.

I penetration tester possono utilizzare Venom per instradare facilmente il traffico di rete attraverso più livelli di rete interna e gestire comodamente i nodi proxy.

Questo strumento è destinato esclusivamente alla ricerca sulla sicurezza e all'istruzione. L'utente si assume ogni responsabilità legale e correlata derivante dall'uso di questo strumento! L'autore non si assume alcuna responsabilità legale o correlata!

Caratteristiche

  • Topologia di rete visualizzata
  • Proxy socks5 multilivello
  • Port forwarding multilivello
  • Riutilizzo delle porte (apache/mysql/...)
  • Tunnel SSH
  • Shell interattiva
  • Caricamento e download di file
  • Crittografia della comunicazione tra nodi
  • Supporto per più piattaforme (Linux/Windows/MacOS) e più architetture (x86/x64/arm/mips)

Poiché i dispositivi IoT (architetture arm/mips/...) hanno solitamente risorse limitate, per ridurre le dimensioni del file binario, i binari compilati per ambienti IoT in questo progetto non supportano le funzionalità di riutilizzo delle porte e tunneling SSH, e per ridurre l'uso della memoria sono stati limitati il numero di connessioni simultanee e la dimensione del buffer.

Installazione

È possibile scaricare direttamente i file eseguibili precompilati dalla release

Se si desidera compilare il progetto dal codice sorgente, è necessario installare go >= 1.11, quindi eseguire i comandi seguenti

go get -u github.com/Dliv3/Venom/...

# $GOPATH è la variabile d'ambiente configurata durante l'installazione di Go, può essere visualizzata con il comando go env
cd $GOPATH/src/github.com/Dliv3/Venom

# I file binari compilati sono archiviati nella cartella release nella directory corrente
./build.sh

Utilizzo

Video dimostrativo su Youtube: https://www.youtube.com/playlist?list=PLtZO9vwOND91vZ7yCmlAvISmEl2iQKjdI

1. Parametri della riga di comando di admin/agent

  • Sia il nodo admin che il nodo agent possono ascoltare connessioni o avviare connessioni

    Il nodo admin ascolta su una porta, l'agent avvia la connessione:

    ./admin_macos_x64 -lport 9999
    
    ./agent_linux_x64 -rhost 192.168.0.103 -rport 9999
    

    L'agent ascolta su una porta, l'admin avvia la connessione:

    ./agent_linux_x64 -lport 8888
    
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 8888
    
  • Il nodo agent supporta il riutilizzo delle porte

    L'agent fornisce due metodi di riutilizzo delle porte

    1. Riutilizzo delle porte tramite le opzioni SO_REUSEPORT e SO_REUSEADDR
    2. Riutilizzo delle porte tramite iptables (supportato solo su Linux)

    Utilizzando la funzionalità di riutilizzo delle porte fornita da Venom, su Windows è possibile riutilizzare le porte di servizi come Apache, MySQL, ecc., ma temporaneamente non è possibile riutilizzare porte di servizi come RDP, IIS, ecc. Su Linux è possibile riutilizzare la maggior parte delle porte dei servizi. Le porte riutilizzate continuano a fornire il servizio originale normalmente.

    Primo metodo di riutilizzo delle porte

    # Esempio con Apache su Windows
    # Riutilizza la porta 80 di Apache senza influenzare il normale servizio HTTP di Apache
    # Il valore di -lhost è l'IP locale, non può essere 0.0.0.0, altrimenti non è possibile riutilizzare la porta
    ./agent.exe -lhost 192.168.204.139 -reuse-port 80
    
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 80
    

    Secondo metodo di riutilizzo delle porte

    # Esempio con Apache su Linux
    # Richiede privilegi di root
    sudo ./agent_linux_x64 -lport 8080 -reuse-port 80
    

    Questo metodo di riutilizzo delle porte imposta una regola iptables sulla macchina locale per inoltrare il traffico di reuse-port a lport, che viene poi distribuito dall'agent.

    Da notare che se il programma viene terminato tramite segnali sigterm o sigint (kill o Ctrl+C), il programma può pulire automaticamente le regole iptables. Se l'agent viene ucciso con kill -9, non può pulire automaticamente le regole iptables e sarà necessario pulirle manualmente, poiché l'agent non può gestire il segnale sigkill.

    Per evitare che le regole iptables non vengano pulite automaticamente e che il penetration tester non riesca ad accedere al servizio sulla porta 80, il secondo metodo di riutilizzo delle porte utilizza iptables -m recent per controllare l'attivazione delle regole di inoltro iptables tramite pacchetti TCP speciali.

    L'implementazione si basa su https://threathunter.org/topic/594545184ea5b2f5516e2033

    # Avvia le regole iptables impostate dall'agent sulla macchina Linux
    # Se rhost è sulla rete interna, è possibile utilizzare il proxy socks5 per il traffico dello script; l'uso del proxy socks5 è descritto di seguito
    python scripts/port_reuse.py --start --rhost 192.168.204.135 --rport 80
    
    # Connetti al nodo agent
    ./admin_macos_x64 -rhost 192.168.204.135 -rport 80
    
    # Per disattivare le regole di inoltro
    python scripts/port_reuse.py --stop --rhost 192.168.204.135 --rport 80
    
  • Crittografia della comunicazione tra nodi

    Venom fornisce la crittografia della comunicazione tra nodi; l'utente può specificare una password tramite l'opzione -passwd, che viene utilizzata per generare la chiave necessaria per la crittografia AES.

    # Imposta la password come dlive@dubhe tramite -passwd
    ./admin_macos_x64 -lport 8889 -passwd dlive@dubhe
    
    # L'agent specifica la stessa password per connettersi al nodo admin
    ./agent_macos_x64 -rhost 192.168.0.103 -rport 8889 -passwd dlive@dubhe
    

2. Comandi integrati del nodo admin

  • help Stampa le informazioni di aiuto

    (admin node) >>> help
    
      help                                     Informazioni di aiuto.
      exit                                     Esci.
      show                                     Mostra la topologia di rete.
      getdes                                   Visualizza la descrizione del nodo di destinazione.
      setdes     [info]                        Aggiungi una descrizione al nodo di destinazione.
      goto       [id]                          Seleziona id come nodo di destinazione.
      listen     [lport]                       Ascolta su una porta sul nodo di destinazione.
      connect    [rhost] [rport]               Connetti a un nuovo nodo tramite il nodo di destinazione.
      sshconnect [user@ip:port] [dport]        Connetti a un nuovo nodo tramite tunnel SSH.
      shell                                    Avvia una shell interattiva sul nodo di destinazione.
      upload     [local_file]  [remote_file]   Carica file sul nodo di destinazione.
      download   [remote_file]  [local_file]   Scarica file dal nodo di destinazione.
      socks      [lport]                       Avvia un server socks5.
      lforward   [lhost] [sport] [dport]       Inoltra una porta locale sport a una porta remota dport.
      rforward   [rhost] [sport] [dport]       Inoltra una porta remota sport a una porta locale dport.
    
    
  • show Mostra la topologia di rete

    A indica il nodo admin, i numeri indicano i nodi agent

    La topologia seguente mostra che il nodo admin è connesso al nodo 1, il nodo 1 è connesso ai nodi 2 e 4, e il nodo 2 è connesso al nodo 3

Scarica lo strumento