Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
SSH-Snake — Script Bash sin archivos y autopropagable que descubre recursivamente claves privadas SSH y hosts accesibles, y luego recorre la red vía SSH para mapear rutas de compromiso. | Kitploit
Herramientas/GitHubGitHub/megamansec/ssh-snake
Escalada de PrivilegiosReconocimientoMapeo de RedesMovimiento LateralScripting y AutomatizaciónExfiltración de DatosRecopilación de InformaciónPost-ExplotaciónPruebas de PenetraciónRed Teaming
GitHub
2.3k22148hace 1 díaRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
megamansec/ssh-snake

SSH-Snake

Script Bash sin archivos y autopropagable que descubre recursivamente claves privadas SSH y hosts accesibles, y luego recorre la red vía SSH para mapear rutas de compromiso.

Ver RepositorioSitio web

SSH-Snake: Travesía de red automatizada basada en SSH

🐍 SSH-Snake es una potente herramienta diseñada para realizar travesía de red automática utilizando claves privadas SSH descubiertas en los sistemas, con el objetivo de crear un mapa completo de una red y sus dependencias, identificando hasta qué punto una red puede verse comprometida usando SSH y claves privadas SSH partiendo de un sistema concreto.

SSH-Snake puede revelar automáticamente la relación entre sistemas que están conectados mediante SSH, lo cual normalmente requeriría una enorme cantidad de tiempo y esfuerzo para realizarse manualmente.

En otras palabras, SSH-Snake realiza las siguientes tareas de forma automática y recursiva:

  1. En el sistema actual, encontrar cualquier clave privada SSH,
  2. En el sistema actual, encontrar cualquier host o destino (user@host) en el que las claves privadas puedan ser aceptadas,
  3. Intentar conectarse por SSH a todos los destinos usando todas las claves privadas descubiertas,
  4. Si se logra conectar con un destino, repetir los pasos #1 - #4 en el sistema conectado.

Es completamente autorreplicante y autopropagante -- y completamente sin archivos. En muchos sentidos, SSH-Snake es en realidad un gusano: se replica a sí mismo y se propaga de un sistema a otro tanto como puede.

En lugar de saltar manualmente entre sistemas con claves SSH como si fuera un juego de Super Mario, deja que SSH-Snake haga el trabajo por ti.

Aunque esta herramienta está pensada para fines de hacking, los administradores de sistemas también pueden usarla para comprender mejor su infraestructura y su red. Si quieres deshabilitar la impresión de las claves privadas descubiertas, comenta esta línea de código.

Para un análisis en profundidad de cómo funciona realmente este script, detalles técnicos, descubrimientos interesantes, decisiones de diseño, benchmarking y lecciones aprendidas, consulta esta entrada de blog. Este software fue escrito por Joshua Rogers.

Capturas de pantalla

Una captura de pantalla reducida de la salida de SSH-Snake en una red muy pequeña.

Un grafo que visualiza la relación entre sistemas usando SSHLos nodos azules indican que el destino puede conectarse consigo mismo (user@host<-->user@host). Las aristas rojas indican que la conexión es bidireccional (user1@host1<-->user2@host2).

Un grafo que visualiza la relación entre sistemas usando SSHLos nodos verdes indican un host (sin un nombre de usuario) que puede conectarse consigo mismo (host1<-->host1). Las aristas verdes indican que la conexión es bidireccional (host1<-->host2). El host gris en la esquina superior derecha es el host en el que se ejecutó inicialmente el script.

Un grafo que visualiza la relación entre sistemas usando SSHLos nodos azules indican que el destino puede conectarse consigo mismo (user@host<-->user@host). Las aristas rojas indican que la conexión es bidireccional (user1@host1<-->user2@host2).

Uso y ejecución de SSH-Snake

SSH-Snake puede descargarse o canalizarse hacia bash:

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

o

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

Acerca de SSH-Snake

SSH-Snake emula de forma fluida lo que haría un adversario humano para descubrir claves privadas SSH y los destinos donde pueden usarse para conectarse. Escrito íntegramente en Bash, opera con un conjunto mínimo de dependencias comúnmente disponibles en los principales sistemas Linux (y MacOS): bash, ssh, coreutils, awk, uniq, sort, grep, tr, find y cat. Se requiere getent O dscacheutil. sed solo es necesario para el primer sistema. Asimismo, también pueden usarse sudo, hostname, ip, timeout, arp, ifconfig, ipconfig y xargs, pero no son obligatorios (y el script gestiona con elegancia los casos en los que no están presentes). Si se descubre un sistema sin ninguno de los paquetes requeridos, falla de forma controlada, alertando al usuario de que el escaneo no pudo continuar en ese sistema concreto (y retrocede, continuando desde el sistema anterior).

SSH-Snake es completamente fileless: después de que el usuario ejecuta el script, este se pasa al bash de los destinos mediante stdin y argumentos de bash (a través de SSH). No existe ninguna evidencia material del script en ninguno de los sistemas escaneados: la única evidencia de que el script se está ejecutando está en el árbol de procesos, y en la sustancial cantidad de intentos SSH inválidos que inevitablemente se producirán.

SSH-Snake adopta un enfoque en profundidad para el descubrimiento: una vez que se conecta a un sistema, intenta conectarse más allá desde ese sistema antes de retroceder.

El nombre SSH-Snake proviene del hecho de que la salida del script parece una serpiente deslizándose arriba y abajo por la red. Sin embargo, a diferencia del juego Snake, SSH-Snake no morirá cuando se muerda la cola (se conecte a un sistema que ya ha escaneado o que está escaneando actualmente): simplemente imprimirá cómo se conectó allí de forma normal, pero regresará y no volverá a escanear el destino (para evitar la recursión infinita).

SSH-Snake se ha probado en varias distribuciones de Linux y en MacOS (con Homebrew Bash instalado). Si encuentras un sistema operativo basado en Linux con el que no sea compatible, envía un informe.

Características

  • SSH recursivo de un sistema a otro usando claves privadas SSH locales,
  • Recorrido y propagación/replicación fileless del script SSH-Snake usando únicamente stdin y argumentos de bash hacia sistemas remotos,
  • Elevación automática de privilegios a root usando sudo si es posible,
  • Descubrimiento de archivos de claves privadas SSH a partir de entradas de .bash_history,
  • Descubrimiento de claves privadas SSH en archivos y carpetas de uso común,
  • Exfiltración de claves privadas SSH como salida del script,
  • Ejecución de comandos personalizados configurable en cada sistema,
  • Sistema modular plug-and-play para descubrir claves privadas y sistemas,
  • Detección de hosts a partir de rangos de IP, últimos inicios de sesión, known hosts, archivos de configuración SSH y más,
  • Capacidad de detectar cuándo un sistema ya ha sido escaneado o está en proceso de ser escaneado, de modo que una red como A->B->C también pueda descubrir C->A pero no regrese a A->B->C-A->B->C->A->B->...,
  • Capacidad de generar visualizaciones gráficas de una red a partir de la salida del script,
  • ... y más.

Configuración

SSH-Snake incluye algunas configuraciones generales que pueden ajustarse. Estas configuraciones están documentadas en SETTINGS.md#general-settings.

Descargar herramienta