Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Venom — Venom - Ein Multi-Hop-Proxy für Penetrationstester | Kitploit
Tools/GitHubGitHub/dliv3/venom
Verschlüsselungs-/EntschlüsselungstoolsNetzwerkkartierungPenetrationstestsCommand and ControlRed TeamingRemote-Access-Tool
GitHubdliv3/venom

Venom

Venom - Ein Multi-Hop-Proxy für Penetrationstester

Repository anzeigen
2.2k35815vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Venom - Ein Multi-Hop-Proxy für Penetrationstester

简体中文 | English

Venom ist ein in Go entwickeltes Multi-Level-Proxy-Tool, das für Penetrationstester konzipiert ist.

Venom kann mehrere Knoten verbinden und diese Knoten als Sprungbrett nutzen, um eine mehrstufige Proxy-Kette aufzubauen.

Penetrationstester können Venom verwenden, um Netzwerkverkehr einfach in mehrere interne Netzwerke zu leiten und die Proxy-Knoten bequem zu verwalten.

Dieses Tool ist ausschließlich für Sicherheitsforschung und Schulungszwecke bestimmt. Der Benutzer trägt die alleinige Verantwortung für alle rechtlichen und damit verbundenen Konsequenzen, die sich aus der Nutzung dieses Tools ergeben! Der Autor übernimmt keine rechtliche oder damit verbundene Haftung!

Eigenschaften

  • Visuelle Netzwerktopologie
  • Mehrstufiger SOCKS5-Proxy
  • Mehrstufige Portweiterleitung
  • Port-Nutzung (Apache/MySQL/...)
  • SSH-Tunnel
  • Interaktive Shell
  • Datei-Upload und -Download
  • Verschlüsselte Kommunikation zwischen Knoten
  • Unterstützt mehrere Plattformen (Linux/Windows/MacOS) und mehrere Architekturen (x86/x64/arm/mips)

Da IoT-Geräte (arm/mips/...) normalerweise über begrenzte Ressourcen verfügen, unterstützen die für IoT-Umgebungen kompilierten Binärdateien dieses Projekts keine Port-Nutzung und SSH-Tunnel, um die Größe der Binärdatei zu reduzieren. Außerdem wurden die Netzwerk-Parallelität und die Puffergröße begrenzt, um den Speicherverbrauch zu minimieren.

Installation

Sie können die vorkompilierten ausführbaren Dateien direkt von der Release-Seite herunterladen.

Wenn Sie das Projekt aus dem Quellcode kompilieren möchten, müssen Sie go >= 1.11 installieren und dann die folgenden Befehle ausführen:

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

# $GOPATH ist die bei der Installation von Go konfigurierte Umgebungsvariable, die mit dem Befehl go env angezeigt werden kann
cd $GOPATH/src/github.com/Dliv3/Venom

# Die kompilierten Binärdateien werden im Release-Ordner im aktuellen Verzeichnis gespeichert
./build.sh

Verwendung

YouTube-Demo-Video: https://www.youtube.com/playlist?list=PLtZO9vwOND91vZ7yCmlAvISmEl2iQKjdI

1. Admin/Agent Befehlszeilenparameter

  • Admin- und Agent-Knoten können Verbindungen sowohl abhören als auch initiieren

    Admin lauscht auf einem Port, Agent stellt Verbindung her:

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

    Agent lauscht auf einem Port, Admin stellt Verbindung her:

    ./agent_linux_x64 -lport 8888
    
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 8888
    
  • Agent-Knoten unterstützen Port-Nutzung

    Der Agent bietet zwei Methoden zur Port-Nutzung:

    1. Port-Nutzung über die Optionen SO_REUSEPORT und SO_REUSEADDR
    2. Port-Nutzung über iptables (nur Linux-Plattform)

    Mit der Port-Nutzung von Venom können unter Windows Ports von Diensten wie Apache, MySQL usw. genutzt werden (jedoch vorübergehend nicht RDP, IIS usw.). Unter Linux können die meisten Dienst-Ports genutzt werden. Der genutzte Port kann weiterhin normal seinen ursprünglichen Dienst bereitstellen.

    Erste Methode zur Port-Nutzung

    # Beispiel unter Windows mit Apache
    # Nutzung des Apache-Ports 80, ohne den normalen HTTP-Dienst von Apache zu beeinträchtigen
    # -lhost muss die IP des lokalen Hosts sein, nicht 0.0.0.0, sonst funktioniert die Port-Nutzung nicht
    ./agent.exe -lhost 192.168.204.139 -reuse-port 80
    
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 80
    

    Zweite Methode zur Port-Nutzung

    # Beispiel unter Linux mit Apache
    # Root-Rechte erforderlich
    sudo ./agent_linux_x64 -lport 8080 -reuse-port 80
    

    Diese Methode erstellt iptables-Regeln, die den Datenverkehr von reuse-port an lport weiterleiten, von wo aus der Agent ihn verteilt.

    Beachten Sie: Wenn das Programm über sigterm oder sigint (kill oder Strg-C) beendet wird, kann es die iptables-Regeln automatisch bereinigen. Wenn der Agent mit kill -9 beendet wird, ist dies nicht möglich, da das Programm das sigkill-Signal nicht verarbeiten kann. In diesem Fall müssen die iptables-Regeln manuell bereinigt werden.

    Um zu vermeiden, dass die iptables-Regeln nicht automatisch bereinigt werden, wurde die zweite Methode basierend auf iptables -m recent implementiert, die die Weiterleitungsregeln über spezielle TCP-Pakete steuert.

    Diese Implementierung bezieht sich auf https://threathunter.org/topic/594545184ea5b2f5516e2033

    # Starten des Agents mit iptables-Regeln auf dem Linux-Host
    # Wenn sich rhost im internen Netzwerk befindet, kann ein SOCKS5-Proxy für den Skriptverkehr verwendet werden (siehe unten)
    python scripts/port_reuse.py --start --rhost 192.168.204.135 --rport 80
    
    # Verbindung zum Agent-Knoten herstellen
    ./admin_macos_x64 -rhost 192.168.204.135 -rport 80
    
    # Zum Deaktivieren der Weiterleitungsregeln
    python scripts/port_reuse.py --stop --rhost 192.168.204.135 --rport 80
    
  • Verschlüsselte Kommunikation zwischen Knoten

    Venom bietet eine verschlüsselte Kommunikation zwischen Knoten. Der Benutzer kann mit der Option -passwd ein Passwort angeben, das zur Generierung des AES-Verschlüsselungsschlüssels verwendet wird.

    # Passwort mit -passwd setzen: dlive@dubhe
    ./admin_macos_x64 -lport 8889 -passwd dlive@dubhe
    
    # Agent mit demselben Passwort verbinden
    ./agent_macos_x64 -rhost 192.168.0.103 -rport 8889 -passwd dlive@dubhe
    

2. Eingebaute Befehle des Admin-Knotens

  • help Hilfe anzeigen

    (admin node) >>> help
    
      help                                     Hilfeinformationen.
      exit                                     Beenden.
      show                                     Netzwerktopologie anzeigen.
      getdes                                   Beschreibung des Zielknotens anzeigen.
      setdes     [info]                        Beschreibung zum Zielknoten hinzufügen.
      goto       [id]                          ID als Zielknoten auswählen.
      listen     [lport]                       Auf einem Port auf dem Zielknoten lauschen.
      connect    [rhost] [rport]               Über den Zielknoten mit einem neuen Knoten verbinden.
      sshconnect [user@ip:port] [dport]        Über einen SSH-Tunnel mit einem neuen Knoten verbinden.
      shell                                    Interaktive Shell auf dem Zielknoten starten.
      upload     [local_file]  [remote_file]   Dateien auf den Zielknoten hochladen.
      download   [remote_file]  [local_file]   Dateien vom Zielknoten herunterladen.
      socks      [lport]                       SOCKS5-Server starten.
      lforward   [lhost] [sport] [dport]       Lokalen Port zu einem entfernten Port weiterleiten.
      rforward   [rhost] [sport] [dport]       Entfernten Port zu einem lokalen Port weiterleiten.
      
    
  • show Netzwerktopologie anzeigen

    A steht für den Admin-Knoten, Zahlen für Agent-Knoten

    Das folgende Topologie-Diagramm zeigt, dass der Admin-Knoten mit Knoten 1 verbunden ist, Knoten 1 mit den Knoten 2 und 4, und Knoten 2 mit Knoten 3.

    (node 1) >>> show
    A
    + -- 1
         + -- 2
              + -- 3
         + -- 4
    

    Hinweis: Um einen neu hinzugefügten Knoten zu verwalten, muss zuerst der Befehl show auf dem Admin-Knoten ausgeführt werden, um die Netzwerktopologie und die Knotennummern zu synchronisieren.

  • goto Einen Knoten ansteuern

    (admin node) >>> goto 1
    (node 1) >>> 
    

    Nachdem Sie zu einem Knoten gewechselt sind, können Sie die folgenden Befehle verwenden.

  • getdes/setdes Beschreibung eines Knotens abrufen/festlegen

Tool herunterladen