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
SSH-Snake — SSH-Snake ist ein selbstverbreitendes, sich selbst replizierendes, dateiloses Skript, das die Post-Exploitation-Aufgabe der SSH-Private-Key- und Host-Erkennung automatisiert. | Kitploit
Tools/GitHubGitHub/megamansec/ssh-snake
Privilege EscalationAufklärungNetzwerkkartierungLaterale BewegungInformationsbeschaffungPost-ExploitationPenetrationstestsRed TeamingArchived
GitHubmegamansec/ssh-snake

SSH-Snake

SSH-Snake ist ein selbstverbreitendes, sich selbst replizierendes, dateiloses Skript, das die Post-Exploitation-Aufgabe der SSH-Private-Key- und Host-Erkennung automatisiert.

2.3k22122vor 6 MonatenVon 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
Repository anzeigenWebseite

SSH-Snake: Automatisierte SSH-basierte Netzwerktraversierung

🐍 SSH-Snake ist ein leistungsstarkes Tool, das automatische Netzwerktraversierung mithilfe von SSH-Private-Keys durchführt, die auf Systemen gefunden wurden, mit dem Ziel, eine umfassende Karte eines Netzwerks und seiner Abhängigkeiten zu erstellen und zu identifizieren, in welchem Umfang ein Netzwerk mit SSH und SSH-Private-Keys ausgehend von einem bestimmten System kompromittiert werden kann.

SSH-Snake kann automatisch die Beziehung zwischen Systemen aufdecken, die über SSH verbunden sind, was normalerweise enorm viel Zeit und Mühe erfordern würde, um manuell durchgeführt zu werden.

Mit anderen Worten: SSH-Snake führt die folgenden Aufgaben automatisch und rekursiv aus:

  1. Auf dem aktuellen System SSH-Private-Keys finden,
  2. Auf dem aktuellen System Hosts oder Ziele (user@host) finden, die die Private-Keys akzeptieren könnten,
  3. Versuchen, per SSH auf alle Ziele mit allen gefundenen Private-Keys zuzugreifen,
  4. Wenn ein Ziel erfolgreich verbunden ist, wiederhole Schritte #1 - #4 auf dem verbundenen System.

Es ist völlig selbstreplizierend und selbstverbreitend – und völlig dateilos. In vielerlei Hinsicht ist SSH-Snake tatsächlich ein Wurm: Es repliziert sich selbst und verbreitet sich von einem System zum anderen, so weit es kann.

Anstatt manuell wie in einem Super-Mario-Spiel zwischen Systemen mit SSH-Keys zu springen, lass SSH-Snake die Arbeit für dich erledigen.

Obwohl dieses Tool für Hacking-Zwecke gedacht ist, können es Systemadministratoren auch nutzen, um ihre Infrastruktur und ihr Netzwerk besser zu verstehen. Wenn du die Ausgabe der entdeckten Private Keys deaktivieren möchtest, kommentiere diese Codezeile aus.

Für einen detaillierten Einblick, wie dieses Skript tatsächlich funktioniert, technische Details, interessante Entdeckungen, Designentscheidungen, Benchmarks und gewonnene Erkenntnisse, schau dir diesen Blogbeitrag an. Diese Software wurde von Joshua Rogers geschrieben.

Screenshots

Eine verkleinerte Bildschirmaufnahme der Ausgabe von SSH-Snake in einem sehr kleinen Netzwerk.

Ein Graph, der die Beziehung zwischen Systemen mit SSH visualisiertDie blauen Knoten zeigen an, dass sich das Ziel selbst verbinden kann (user@host<-->user@host). Die roten Kanten zeigen an, dass die Verbindung bidirektional ist (user1@host1<-->user2@host2).

Ein Graph, der die Beziehung zwischen Systemen mit SSH visualisiertDie grünen Knoten zeigen einen Host (ohne Benutzernamen) an, der sich selbst verbinden kann (host1<-->host1). Die grünen Kanten zeigen an, dass die Verbindung bidirektional ist (host1<-->host2). Der graue Host in der oberen rechten Ecke ist der Host, auf dem das Skript ursprünglich ausgeführt wurde.

Ein Graph, der die Beziehung zwischen Systemen mit SSH visualisiertDie blauen Knoten zeigen an, dass sich das Ziel selbst verbinden kann (user@host<-->user@host). Die roten Kanten zeigen an, dass die Verbindung bidirektional ist (user1@host1<-->user2@host2).

Verwendung und Ausführung von SSH-Snake

SSH-Snake kann entweder heruntergeladen oder per Pipe an bash übergeben werden:

wget https://raw.githubusercontent.com/MegaManSec/SSH-Snake/main/Snake.nocomments.sh
bash ./Snake.nocomments.sh

oder

curl https://raw.githubusercontent.com/MegaManSec/SSH-Snake/main/Snake.nocomments.sh | bash

Über SSH-Snake

SSH-Snake emuliert nahtlos, was ein menschlicher Angreifer tun würde, um SSH-Private-Keys und Ziele zu entdecken, mit denen eine Verbindung hergestellt werden kann. Vollständig in Bash geschrieben, arbeitet es mit einer minimalen Menge an Abhängigkeiten, die auf den wichtigsten Linux- (und MacOS-)Systemen üblich sind: bash, ssh, coreutils, awk, uniq, sort, grep, tr, find und cat. getent ODER dscacheutil sind erforderlich. sed wird nur für das allererste System benötigt. sudo, hostname, ip, timeout, arp, ifconfig, ipconfig und xargs können ebenfalls verwendet werden, sind aber nicht erforderlich (und das Skript behandelt Fälle, in denen sie nicht vorhanden sind, elegant). Wenn ein System ohne eines der erforderlichen Pakete entdeckt wird, schlägt es fehl und benachrichtigt den Benutzer, dass der Scan auf diesem bestimmten System nicht fortgesetzt werden kann (und geht zurück, um vom vorherigen System aus fortzufahren).

SSH-Snake ist völlig dateilos: Nachdem der Benutzer das Skript ausgeführt hat, wird es über stdin und bash-Argumente (per SSH) an die Ziele übergeben. Es existiert kein materieller Beweis des Skripts auf einem der gescannten Systeme: Der einzige Beweis für die Ausführung des Skripts ist im Prozessbaum und der beträchtlichen Anzahl fehlgeschlagener SSH-Versuche, die unweigerlich auftreten werden.

SSH-Snake verwendet eine Tiefensuche zur Entdeckung: Sobald es eine Verbindung zu einem System hergestellt hat, versucht es, von diesem System aus weiter Verbindungen herzustellen, bevor es zurückgeht.

Der Name SSH-Snake kommt daher, dass die Ausgabe des Skripts wie eine Schlange aussieht, die sich im Netzwerk auf und ab schlängelt. Anders als im Spiel Snake stirbt SSH-Snake jedoch nicht, wenn es sich in den eigenen Schwanz beißt (eine Verbindung zu einem System herstellt, das bereits gescannt wird oder wurde): Es gibt einfach normal aus, wie es dorthin verbunden hat, kehrt aber zurück und scannt das Ziel nicht erneut (um Endlosrekursion zu vermeiden).

SSH-Snake wurde auf verschiedenen Linux-Distributionen und MacOS (mit installiertem Homebrew Bash) getestet. Wenn du auf ein Linux-basiertes Betriebssystem stößt, mit dem es nicht kompatibel ist, reiche bitte einen Bericht ein.

Funktionen

  • Rekursives SSH von einem System zum anderen unter Verwendung lokaler SSH-Private-Keys,
  • Dateilose Traversierung und Verbreitung/Replikation des SSH-Snake-Skripts unter ausschließlicher Verwendung von stdin und bash-Argumenten auf entfernten Systemen,
  • Automatische Erhöhung der Privilegien auf root mit sudo, falls möglich,
  • Entdeckung von SSH-Private-Key-Dateien aus .bash_history-Einträgen,
  • Entdeckung von SSH-Private-Keys aus häufig verwendeten Dateien und Ordnern,
  • Exfiltration von SSH-Private-Keys als Ausgabe des Skripts,
  • Konfigurierbare benutzerdefinierte Befehlsausführung auf jedem System,
  • Plug-and-Play-Modulsystem zum Auffinden von Private Keys und Systemen,
  • Erkennung von Hosts aus IP-Bereichen, letzten Anmeldungen, bekannten Hosts, SSH-Konfigurationsdateien und mehr,
  • Fähigkeit, zu erkennen, wenn ein System bereits gescannt wurde oder gerade gescannt wird, sodass ein Netzwerk wie A->B->C auch C->A entdecken kann, aber nicht zu A->B->C-A->B->C->A->B->... zurückfällt,
  • Fähigkeit, grafische Visualisierungen eines Netzwerks aus der Ausgabe des Skripts zu erstellen,
  • … und mehr.

Einstellungen

SSH-Snake enthält einige allgemeine Einstellungen, die konfiguriert werden können. Diese Einstellungen sind in SETTINGS.md#general-settings dokumentiert.

Tool herunterladen