**Hydra** (ou **THC-Hydra**) é uma ferramenta poderosa para realizar **ataques de força bruta em serviços de login**. Ele suporta dezenas de protocolos como: SSH, FTP, HTTP(S) (formulários ou basic auth), SMB, RDP, Telnet, PostgreSQL, MySQL, VNC e muitos outros...
Um exemplo do comando seria:
```
hydra -l <usuário> -P <wordlist> <alvo> <serviço>
```
Alguns parâmetros importantes são:
- `-l`: login único
- `-L`: arquivo com lista de logins
- `-p`: senha única
- `-P`: arquivo com lista de senhas
- `<alvo>`: IP ou FQDN
- `<serviço>`: tipo do serviço (ssh, http-post-form, smb, etc)
### Exemplos práticos
Ataque ao [[SSH]]:
```shell
hydra -l root -P rockyou.txt ssh://192.168.0.100
```
Ataque [[FTP]]:
```shell
hydra -L users.txt -P senhas.txt ftp://192.168.0.105
```
Ataque a uma aplicação web:
```
hydra -l admin -P rockyou.txt 192.168.0.200 http-post-form "/login.php:username=^USER^&password=^PASS^:F=Login inválido"
```
Ataque de uma aplicação web com Auth Basic:
```
hydra -L users.txt -P senhas.txt 192.168.0.200 http-get /
```
Ataque a um [[RDP]]:
```
hydra -L users.txt -P senhas.txt rdp://192.168.0.10
```
Ataque a um SMB:
```
hydra -L users.txt -P senhas.txt smb://192.168.0.150
```
Ataque a um SSH:
```
hydra -L users.txt -P senhas.txt ssh://192.168.0.100 -s 2222 -t 4 -vV
```
### Alguns parâmetros
|Parâmetro|Função|
|---|---|
|`-V`|Mostra cada tentativa|
|`-t <n>`|Define o número de threads (default: 16)|
|`-f`|Para na primeira combinação válida|
|`-o arquivo`|Salva a saída num arquivo|
|`-s <porta>`|Porta personalizada (ex: SSH rodando na 2222)|
|`-e nsr`|Testa login como senha, nulo, senha reversa|