Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
SSH-Snake — SSH-Snake è uno script auto-propagante, auto-replicante e senza file che automatizza il compito di post-sfruttamento della scoperta di chiavi private SSH e host. | Kitploit
Strumenti/GitHubGitHub/megamansec/ssh-snake
Escalation di PrivilegiRicognizioneMappatura della ReteMovimento LateraleRaccolta InformazioniPost-ExploitPenetration TestingRed TeamingArchived
GitHubmegamansec/ssh-snake

SSH-Snake

SSH-Snake è uno script auto-propagante, auto-replicante e senza file che automatizza il compito di post-sfruttamento della scoperta di chiavi private SSH e host.

2.3k221226 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
Vedi RepositorySito web

SSH-Snake: Traversal di Rete Automatico Basato su SSH

🐍 SSH-Snake è un potente strumento progettato per eseguire il traversal automatico della rete utilizzando chiavi private SSH scoperte sui sistemi, con l'obiettivo di creare una mappa completa di una rete e delle sue dipendenze, identificando fino a che punto una rete può essere compromessa utilizzando SSH e chiavi private SSH a partire da un sistema specifico.

SSH-Snake può rivelare automaticamente la relazione tra sistemi connessi tramite SSH, cosa che normalmente richiederebbe un'enorme quantità di tempo e sforzo per essere eseguita manualmente.

In altre parole, SSH-Snake esegue automaticamente e ricorsivamente i seguenti compiti:

  1. Sul sistema corrente, trova tutte le chiavi private SSH,
  2. Sul sistema corrente, trova tutti gli host o le destinazioni (user@host) per cui le chiavi private possono essere accettate,
  3. Tenta di connettersi tramite SSH a tutte le destinazioni usando tutte le chiavi private trovate,
  4. Se la connessione a una destinazione ha successo, ripete i passaggi #1 - #4 sul sistema a cui ci si è connessi.

È completamente auto-replicante e auto-propagante — e completamente fileless. In molti modi, SSH-Snake è in realtà un worm: si replica e si diffonde da un sistema all'altro il più lontano possibile.

Invece di saltare manualmente tra sistemi con chiavi SSH come in un gioco di Super Mario, lascia che SSH-Snake faccia il lavoro per te.

Sebbene questo strumento sia destinato a scopi di hacking, anche gli amministratori di sistema possono usarlo per comprendere meglio la propria infrastruttura e rete. Se si desidera disabilitare la stampa delle chiavi private trovate, commentare questa riga di codice.

Per un'analisi approfondita di come funziona realmente questo script, dettagli tecnici, scoperte interessanti, decisioni di progettazione, benchmarking e lezioni apprese, consulta questo post del blog. Questo software è stato scritto da Joshua Rogers.

Schermate

Una schermata ridotta dell'output di SSH-Snake in una rete molto piccola.

Un grafico che visualizza la relazione tra sistemi tramite SSHI nodi blu indicano che la destinazione può connettersi a se stessa (user@host<-->user@host). Gli spigoli rossi indicano che la connessione è bidirezionale (user1@host1<-->user2@host2).

Un grafico che visualizza la relazione tra sistemi tramite SSHI nodi verdi indicano un host (senza nome utente) che può connettersi a se stesso (host1<-->host1). Gli spigoli verdi indicano che la connessione è bidirezionale (host1<-->host2). L'host grigio nell'angolo in alto a destra è l'host su cui lo script è stato inizialmente eseguito.

Un grafico che visualizza la relazione tra sistemi tramite SSHI nodi blu indicano che la destinazione può connettersi a se stessa (user@host<-->user@host). Gli spigoli rossi indicano che la connessione è bidirezionale (user1@host1<-->user2@host2).

Utilizzo ed Esecuzione di SSH-Snake

SSH-Snake può essere scaricato o reindirizzato in bash:

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

oppure

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

Informazioni su SSH-Snake

SSH-Snake emula perfettamente ciò che un attaccante umano farebbe per scoprire chiavi private SSH e destinazioni a cui connettersi. Scritto interamente in Bash, opera con un insieme minimo di dipendenze comunemente disponibili sui principali sistemi Linux (e MacOS): bash, ssh, coreutils, awk, uniq, sort, grep, tr, find e cat. È richiesto getent OPPURE dscacheutil. sed è richiesto solo per il primissimo sistema. Allo stesso modo, sudo, hostname, ip, timeout, arp, ifconfig, ipconfig e xargs possono essere utilizzati, ma non sono richiesti (e lo script gestisce con garbo i casi in cui non siano presenti). Se viene scoperto un sistema senza uno dei pacchetti richiesti, fallisce con garbo, avvisando l'utente che la scansione non può continuare su quel sistema (e torna indietro, proseguendo dal sistema precedente).

SSH-Snake è completamente fileless: dopo che l'utente esegue lo script, questo viene passato alla bash delle destinazioni tramite stdin e argomenti bash (via SSH). Non esiste alcuna traccia materiale dello script su nessuno dei sistemi scansionati: l'unica prova dell'esecuzione dello script è nell'albero dei processi e nella sostanziale quantità di tentativi SSH non validi che inevitabilmente si verificheranno.

SSH-Snake adotta un approccio depth-first alla scoperta: una volta connesso a un sistema, tenta di connettersi ulteriormente da quel sistema prima di tornare indietro.

Il nome SSH-Snake deriva dal fatto che l'output dello script sembra un serpente che striscia su e giù per la rete. Tuttavia, a differenza del gioco Snake, SSH-Snake non muore quando si morde la coda (si connette a un sistema già scansionato o in fase di scansione): stamperà semplicemente come si è connesso lì come di consueto, ma tornerà indietro e non riesaminerà la destinazione (per evitare ricorsione infinita).

SSH-Snake è stato testato su varie versioni di Linux e MacOS (con Homebrew Bash installato). Se si incontra un sistema operativo basato su Linux con cui non è compatibile, si prega di inviare una segnalazione.

Caratteristiche

  • Connessione SSH ricorsiva da un sistema all'altro utilizzando chiavi private SSH locali,
  • Traversal e propagazione/replicazione fileless dello script SSH-Snake utilizzando solo stdin e argomenti bash verso sistemi remoti,
  • Elevazione automatica dei privilegi a root utilizzando sudo se possibile,
  • Scoperta di file di chiavi private SSH dalle voci di .bash_history,
  • Scoperta di chiavi private SSH da file e cartelle comunemente usati,
  • Esfiltrazione di chiavi private SSH come output dello script,
  • Esecuzione di comandi personalizzati configurabili su ogni sistema,
  • Sistema modulare plug-and-play per scoprire chiavi private e sistemi,
  • Rilevamento di host da intervalli IP, ultimi accessi, host conosciuti, file di configurazione SSH e altro,
  • Capacità di rilevare quando un sistema è già stato scansionato o è in fase di scansione, in modo che una rete come A->B->C possa anche scoprire C->A ma non regredisca a A->B->C-A->B->C->A->B->....,
  • Capacità di generare visualizzazioni grafiche di una rete a partire dall'output dello script,
  • ... e altro ancora.

Impostazioni

SSH-Snake viene fornito con alcune impostazioni generali che possono essere configurate. Queste impostazioni sono documentate in SETTINGS.md#general-settings.

Scarica lo strumento