Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
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 — SSH-Snake es un script autopropagante, autorreplicante y sin archivos que automatiza la tarea de post-explotación de descubrimiento de claves privadas SSH y de hosts. | Kitploit
Herramientas/GitHubGitHub/megamansec/ssh-snake
Escalada de PrivilegiosReconocimientoMapeo de RedesMovimiento LateralRecopilación de InformaciónPost-ExplotaciónPruebas de PenetraciónRed TeamingArchived
GitHubmegamansec/ssh-snake

SSH-Snake

SSH-Snake es un script autopropagante, autorreplicante y sin archivos que automatiza la tarea de post-explotación de descubrimiento de claves privadas SSH y de hosts.

2.3k22122hace 6 mesesRevisado 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
Ver RepositorioSitio web

SSH-Snake: Travesía Automatizada de Redes Basada en SSH

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

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

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

  1. En el sistema actual, encuentra cualquier clave privada SSH,
  2. En el sistema actual, encuentra cualquier host o destino (usuario@host) donde las claves privadas puedan ser aceptadas,
  3. Intenta SSH a todos los destinos usando todas las claves privadas descubiertas,
  4. Si se establece una conexión exitosa con un destino, repite 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 lo más lejos posible.

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á destinada a fines de hacking, los administradores de sistemas también pueden usarla para comprender mejor su infraestructura y red. Si deseas 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, evaluaciones comparativas 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 gráfico que visualiza la relación entre sistemas usando SSHLos nodos azules indican que el destino puede conectarse a sí mismo (usuario@host<-->usuario@host). Las aristas rojas indican que la conexión es bidireccional (usuario1@host1<-->usuario2@host2).

Un gráfico que visualiza la relación entre sistemas usando SSHLos nodos verdes indican un host (sin nombre de usuario) que puede conectarse a sí 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 donde se ejecutó inicialmente el script.

Un gráfico que visualiza la relación entre sistemas usando SSHLos nodos azules indican que el destino puede conectarse a sí mismo (usuario@host<-->usuario@host). Las aristas rojas indican que la conexión es bidireccional (usuario1@host1<-->usuario2@host2).

Uso y Ejecución de SSH-Snake

SSH-Snake se puede descargar o canalizar a 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 sin problemas lo que un adversario humano haría para descubrir claves privadas SSH y destinos donde puedan usarse para conectarse. Escrito completamente 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. getent O dscacheutil es necesario. sed solo se requiere para el primer sistema. Del mismo modo, también se pueden usar sudo, hostname, ip, timeout, arp, ifconfig, ipconfig, y xargs, pero no son necesarios (y el script maneja con elegancia los casos en que no están presentes). Si se descubre un sistema sin alguno de los paquetes necesarios, falla con gracia, alertando al usuario de que el escaneo no pudo continuar en ese sistema en particular (y retrocede, continuando desde el sistema anterior).

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

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

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

SSH-Snake ha sido probado en varias versiones de Linux y MacOS (con Homebrew Bash instalado). Si encuentras un sistema operativo basado en Linux con el que no sea compatible, por favor informa del problema.

Características

  • SSH recursivo de un sistema a otro usando claves privadas SSH locales,
  • Travesía y propagación/replicación sin archivos del script SSH-Snake usando solo stdin y argumentos de bash a sistemas remotos,
  • Elevación automática de privilegios a root usando sudo si es posible,
  • Descubrimiento de archivos de clave privada SSH a partir de entradas de .bash_history,
  • Descubrimiento de claves privadas SSH a partir de archivos y carpetas de uso común,
  • Exfiltración de claves privadas SSH como salida del script,
  • Ejecución de comandos personalizados configurables en cada sistema,
  • Sistema modular plug-and-play para descubrir claves privadas y sistemas,
  • Detección de hosts a partir de rangos IP, últimos inicios de sesión, hosts conocidos, archivos de configuración SSH y más,
  • Capacidad de detectar cuándo un sistema ya ha sido escaneado o está en proceso de escaneo, 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 se pueden ajustar. Estas configuraciones están documentadas en SETTINGS.md#configuraciones-generales.

Descargar herramienta