Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
SSH-Snake — SSH-Snake é um script sem arquivos, autopropagável e autorreplicante que automatiza a tarefa de pós-exploração de descoberta de chaves privadas SSH e de hosts. | Kitploit
Ferramentas/GitHubGitHub/megamansec/ssh-snake
Escalada de PrivilégiosReconhecimentoMapeamento de RedeMovimento LateralColeta de InformaçõesPós-ExploraçãoTestes de PenetraçãoRed TeamingArchived
GitHubmegamansec/ssh-snake

SSH-Snake

SSH-Snake é um script sem arquivos, autopropagável e autorreplicante que automatiza a tarefa de pós-exploração de descoberta de chaves privadas SSH e de hosts.

2.3k22122há 6 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

SSH-Snake: Travessia Automatizada de Rede Baseada em SSH

🐍 SSH-Snake é uma ferramenta poderosa projetada para realizar travessia automática de rede usando chaves privadas SSH descobertas em sistemas, com o objetivo de criar um mapa abrangente de uma rede e suas dependências, identificando até que ponto uma rede pode ser comprometida usando SSH e chaves privadas SSH a partir de um sistema específico.

O SSH-Snake pode revelar automaticamente a relação entre sistemas conectados via SSH, o que normalmente exigiria uma enorme quantidade de tempo e esforço para ser feito manualmente.

Em outras palavras, o SSH-Snake executa as seguintes tarefas automática e recursivamente:

  1. No sistema atual, encontrar quaisquer chaves privadas SSH,
  2. No sistema atual, encontrar quaisquer hosts ou destinos (user@host) para os quais as chaves privadas possam ser aceitas,
  3. Tentar SSH em todos os destinos usando todas as chaves privadas descobertas,
  4. Se um destino for conectado com sucesso, repetir os passos #1 - #4 no sistema conectado.

É completamente auto-replicante e auto-propagante — e completamente sem arquivos. De muitas formas, o SSH-Snake é na verdade um worm: Ele se replica e se espalha de um sistema para outro o mais longe possível.

Em vez de pular manualmente entre sistemas com chaves SSH como se fosse um jogo Super Mario, deixe o SSH-Snake fazer o trabalho por você.

Embora esta ferramenta seja destinada a fins de hacking, administradores de sistemas também podem usá-la para entender melhor sua infraestrutura e rede. Se você quiser desabilitar a impressão de chaves privadas descobertas, comente esta linha de código.

Para uma análise aprofundada de como este script realmente funciona, detalhes técnicos, descobertas interessantes, decisões de design, benchmarking e lições aprendidas, confira este post no blog. Este software foi escrito por Joshua Rogers.

Capturas de Tela

Uma captura de tela reduzida da saída do SSH-Snake em uma rede muito pequena.

Um gráfico visualizando a relação entre sistemas usando SSHOs nós azuis indicam que o destino pode se conectar a si mesmo (user@host<-->user@host). As arestas vermelhas indicam que a conexão é bidirecional (user1@host1<-->user2@host2).

Um gráfico visualizando a relação entre sistemas usando SSHOs nós verdes indicam um host (sem nome de usuário) que pode se conectar a si mesmo (host1<-->host1). As arestas verdes indicam que a conexão é bidirecional (host1<-->host2). O host cinza no canto superior direito é o host onde o script foi inicialmente executado.

Um gráfico visualizando a relação entre sistemas usando SSHOs nós azuis indicam que o destino pode se conectar a si mesmo (user@host<-->user@host). As arestas vermelhas indicam que a conexão é bidirecional (user1@host1<-->user2@host2).

Usando e Executando o SSH-Snake

O SSH-Snake pode ser baixado ou direcionado para o bash:

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

ou

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

Sobre o SSH-Snake

O SSH-Snake emula perfeitamente o que um adversário humano faria para descobrir chaves privadas SSH e destinos onde elas podem ser usadas para se conectar. Escrito inteiramente em Bash, opera com um conjunto mínimo de dependências comumente disponíveis em grandes distribuições Linux (e MacOS): bash, ssh, coreutils, awk, uniq, sort, grep, tr, find e cat. getent OU dscacheutil é necessário. sed é necessário apenas para o primeiro sistema. Da mesma forma, sudo, hostname, ip, timeout, arp, ifconfig, ipconfig e xargs também podem ser usados, mas não são obrigatórios (e o script lida graciosamente com casos em que não estão presentes). Se um sistema for descoberto sem nenhum dos pacotes necessários, ele falha graciosamente, alertando o usuário de que a varredura não pôde continuar naquele sistema específico (e retrocede, continuando a partir do sistema anterior).

O SSH-Snake é completamente sem arquivos: após o usuário executar o script, ele é passado para o bash dos destinos via stdin e argumentos bash (através do SSH). Nenhuma evidência material do script existe em nenhum dos sistemas varridos: a única evidência da execução do script está na árvore de processos e na quantidade substancial de tentativas SSH inválidas que inevitavelmente ocorrerão.

O SSH-Snake adota uma abordagem de busca em profundidade para descoberta: uma vez que se conecta a um sistema, tenta se conectar ainda mais a partir desse sistema antes de retroceder.

O nome SSH-Snake vem do fato de que a saída do script se assemelha a uma cobra deslizando para cima e para baixo na rede. No entanto, ao contrário do jogo Snake, o SSH-Snake não morre quando morde o próprio rabo (conecta a um sistema já verificado ou atualmente em verificação): ele simplesmente imprime como se conectou lá normalmente, mas retorna e não re-varre o destino (para evitar recursão infinita).

O SSH-Snake foi testado em várias versões do Linux e MacOS (com Homebrew Bash instalado). Se você encontrar um sistema operacional baseado em Linux com o qual não seja compatível, por favor, submeta um relatório.

Recursos

  • Realizar SSH recursivamente de um sistema para outro usando chaves privadas SSH locais,
  • Travessia e propagação/replicação sem arquivos do script SSH-Snake usando apenas stdin e argumentos bash para sistemas remotos,
  • Elevação automática de privilégios para root usando sudo, se possível,
  • Descobrir arquivos de chaves privadas SSH a partir de entradas do .bash_history,
  • Descobrir chaves privadas SSH a partir de arquivos e pastas comumente usados,
  • Exfiltração de chaves privadas SSH como saída do script,
  • Execução de comandos personalizados configuráveis em cada sistema,
  • Sistema modular plug-and-play para descobrir chaves privadas e sistemas,
  • Detectar hosts a partir de faixas IP, últimos logins, hosts conhecidos, arquivos de configuração SSH e mais,
  • Capacidade de detectar quando um sistema já foi verificado ou está em processo de verificação, de modo que uma rede como A->B->C também possa descobrir C->A, mas não regrida para A->B->C-A->B->C->A->B->...,
  • Capacidade de gerar visualizações gráficas de uma rede a partir da saída do script,
  • ... e mais.

Configurações

O SSH-Snake vem com algumas configurações gerais que podem ser ajustadas. Essas configurações estão documentadas em SETTINGS.md#general-settings.

Baixar ferramenta