
ssh-mitm v6.0.0
SSH-MITM - auditorias SSH simplificadas
SSH-MITM - auditorias ssh simplificadas
Uma ferramenta interativa de interceptação SSH para auditorias de segurança autorizadas.
Intercepte sessões, monitore tráfego ao vivo, injete comandos e manipule transferências de arquivos — tudo em tempo real.
Aviso legal: O SSH-MITM destina-se exclusivamente a auditorias de segurança autorizadas, testes de penetração e pesquisa. Não o utilize contra sistemas que não sejam seus ou para os quais não tenha permissão escrita explícita para testar. A interceptação não autorizada de tráfego SSH pode ser ilegal na sua jurisdição.
🎓 Novo no SSH-MITM? Comece com o tutorial interativo
ssh-mitm tutorial
Abre um guia passo a passo baseado em navegador — sem necessidade de servidor alvo. Cinco capítulos acompanham uma avaliação autorizada da Logfile Inc., cobrindo interceptação de senhas, autenticação por chave pública, transferências SFTP, execução de comandos e espelhamento de sessão ao vivo.
Início Rápido
Posicionado entre um cliente e seu servidor SSH, o SSH-MITM intercepta a conexão — encerrando ambos os lados de forma independente e encaminhando todo o tráfego, enquanto dá ao auditor visibilidade e controle totais:
1. Instalação
O SSH-MITM não requer instalação. Baixe o AppImage e está pronto para usar:
wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage
Para outras opções de instalação (pip, Flatpak, Snap), consulte o guia de instalação.
⚡ Obtenha a versão mais recente
O lançamento no PyPI pode estar desatualizado. Instale diretamente do GitHub para obter o tutorial interativo e todas as melhorias recentes:
pip install git+https://github.com/ssh-mitm/ssh-mitm.git
2. Inicie o SSH-MITM
Aponte o SSH-MITM para o seu host alvo — use um sistema que você está autorizado a testar:
./ssh-mitm-x86_64.AppImage server --remote-host <target-host>
3. Roteie uma conexão de cliente
Faça o cliente SSH conectar através do SSH-MITM na porta 10022:
ssh -p 10022 user@mitm-host
O SSH-MITM intercepta a sessão e registra as credenciais imediatamente:
INFO Remote authentication succeeded
Remote Address: <target-host>:22
Username: alice
Password: secret
Agent: no agent
4. Anexe-se à sessão ao vivo
Para cada conexão interceptada, o SSH-MITM abre um shell espelho em uma porta local:
INFO ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1
Conecte-se a ele a partir de um terminal separado:
ssh -p 34463 127.0.0.1
O shell espelho reflete a sessão em tempo real. O auditor pode observar a atividade do usuário e injetar comandos de forma independente, sem afetar a conexão original.
O que o SSH-MITM pode fazer
| Recurso | Descrição |
|---|---|
| Monitoramento interativo de sessões | Anexe-se a qualquer sessão interceptada via shell espelho — observe e injete comandos em tempo real |
| Manipulação de transferência de arquivos | Intercepte transferências SCP/SFTP, armazene cópias ou substitua arquivos em tempo real |
| Interceptação de encaminhamento de porta | Intercepte túneis TCP e encaminhamento dinâmico SOCKS 4/5 |
| Phishing de token FIDO2 | Intercepte autenticação por token de hardware via ataque de autenticação trivial (informações do OpenSSH) |
| Interceptação de autenticação | Capture senhas; aceite a mesma chave pública que o servidor alvo e recorra automaticamente à autenticação por senha |
| Monitoramento de sessões MOSH | Intercepte e descriptografe sessões UDP MOSH (Mobile Shell); visualize o terminal ao vivo via emulador VT100/ANSI integrado |
| Remoting do PowerShell (PSRP) | Intercepte sessões de remoting do PowerShell sobre SSH; registre comandos, saídas, erros e transições de estado; escreva transcrições por sessão |
| Auditoria de clientes | Identifique vulnerabilidades conhecidas em clientes SSH conectantes apenas pelo comportamento de negociação de chaves |
| Suporte a plugins | Estenda e personalize todo o comportamento de interceptação com plugins |
Casos de Uso
- Testes de penetração — audite ativamente clientes e servidores SSH em engajamentos autorizados; intercepte, manipule e reproduza sessões
- Pesquisa de segurança — analise o comportamento de clientes SSH, fluxos de autenticação e fraquezas em nível de protocolo de forma interativa
- Ambientes de treinamento — demonstre técnicas de MITM e sequestro de sessão em configurações de laboratório controladas
- Análise de malware — monitore e interaja com sessões SSH de clientes suspeitos em ambientes isolados
Pesquisa de Segurança
O SSH-MITM foi originalmente desenvolvido para investigar uma fraqueza fundamental na forma como os clientes SSH lidam com a autenticação por token de hardware. A pesquisa revelou que tokens FIDO2 — frequentemente usados como segundo fator — podem ser alvo de phishing através de uma técnica chamada autenticação trivial.
O ataque explora o fato de que clientes SSH podem ser forçados a usar um método de autenticação trivial — como keyboard-interactive sem prompts — o que efetivamente concede acesso sem qualquer autenticação real. Isso contorna completamente a proteção por token de hardware, já que o token nunca é desafiado. O SSH-MITM pode simular isso contra qualquer cliente que não o rejeite explicitamente:
ssh-mitm server --enable-trivial-auth
Operando a partir da posição de Man-in-the-Middle, é possível observar o comportamento do cliente SSH que é invisível a partir de qualquer um dos endpoints. O SSH-MITM foi usado para descobrir 7 vulnerabilidades anteriormente desconhecidas em software SSH amplamente implantado:
Mais recente: CVE-2026-60000 — A autenticação GSSAPI do OpenSSH violou o RFC 4462 de maneiras que permitiram a um atacante contornar completamente o
MaxAuthTries, causando uma negação de serviço pré-autenticação. A mesma causa raiz também produziu um oráculo de validade de nome de usuário e uma falha em processo privilegiado, todos corrigidos no OpenSSH 10.4.
Palestra no DeepSec 2021 — explicação completa do ataque:
Clique para ver no vimeo.com
Nem todo resultado desta pesquisa é uma vulnerabilidade — veja Contribuições Upstream para correções de endurecimento contribuídas diretamente ao OpenSSH.
Contribuindo
Contribuições são bem-vindas! Leia CONTRIBUTING.md para detalhes sobre a configuração de desenvolvimento, estilo de código e como enviar um pull request.

