Ataque brute force com o Hydra
Ataques Brute Force


- Para Unix: hydra-7.1-src.tar.gz
- Para Windows/Cygwin: hydra-5.4-win.zip
- Binário para o ARM: hydra-5.0-arm.tar.gz. Esta versão está um pouco desatualizada, mas em breve será disponibilizada uma nova versão.
- Binário para o Palm: hydra-4.6-palm.zip. A versão para o Palm é desenvolvida de forma independente das outras, portanto nem todos os protocolos são suportados e os updates não são muito frequentes.
Compilando e instalando
Dependendo do pacote que você escolher, será necessário que você compile o software. Algumas releases como a disponível para Windows/Cygwin e ARM já contém tudo compilado e pronto para o uso, com todos os módulos (no port para o ARM você não poderá usar o módulo para SAP R/3).
Se você escolheu o pacote para Unix, você precisará instalar todas as bibliotecas necessárias para compilar os módulos corretamente. O serviço não é tão difícil, já que ao executar o ./configure, já será mostrado um resumo dizendo as bibliotecas que faltam e onde encontrá-las. Seguem os passos necessários para compilar com sucesso o Hydra em qualquer *nix.
Faça o download do pacote hydra-5.4-src.tar.gz aqui no www.darkers.com.br e descompacte:
Código:
tar xzvf hydra-5.4-src.tar.gz
Acesse o diretório que acabou de ser criado e:
Código:
cd hydra-5.4-src./configure
Quando você executa o configure, algumas bibliotecas que são necessárias para alguns módulos como SSHv2 e PostgreSQL (libssh e libpq, respectivamente) são checadas e se não estiverem instaladas no sistema você deverá instalá-las na mão. A boa notícia é que o script já informa o site de onde você pode fazer o download e a maioria dessas bibliotecas já vem com instruções de como compilar. Vale a pena lembrar que, se você não quiser utilizar os módulos que precisam das bibliotecas, pode continuar a compilação normalmente: os outros protocolos irão funcionar sem problemas.
Depois que o ./configure terminar, só resta executar como root:
Código:
make && make install
Pronto! O Hydra já está instalado e pronto para ser usado!
Wordlists
Wordlists são, como o nome diz, listas gigantescas de palavras ou nomes de usuários que são utilizadas em ataques bruteforce. O Hydra não vem com nenhuma wordlist e não funciona sem uma, então você precisa dar um jeito nisso. Vou colocar alguns links com wordlists para você começar a brincar com o Hydra
http://www.outpost9.com/files/WordLists.html
http://wordlist.sourceforge.net/
Depois que você baixar as listas, junte todas em um único arquivo. No Hydra, você só pode especificar um único arquivo de wordlists para ser utilizado. Você pode usar o cat. Por exemplo:
Código:
cat substitua isso por todos os arquivos de wordlists que você tem >> wordlist2.txt
É útil também remover entradas duplicadas da sua wordlist, para não perder tempo tentando mais de uma vez uma senha que já não deu certo:
Código:
cat wordlist2.txt | sort | uniq > wordlistfinal.txt
Pronto, agora é só fazer o Hydra utilizar o arquivo wordlistfinal.txt como wordlist.
Utilizando o Hydra
O Hydra é bem fácil de ser utilizado. Você só precisa especificar o login (ou um arquivo com vários logins), a wordlist com senhas, o host e o protocolo. Se desejar pode fazer com que a saída do comando seja escrita em algum arquivo. Na linha a seguir, mostro o uso básico do Hydra:
Código:
hydra -l root -P ~/wordlistfinal.txt -o bruteforce.txt ftp.foo.bar ftp
A linha acima é bem simples. A opção -l diz que você quer fazer brute force em um usuário específico que você já sabe que existe (você poderia usar a opção -L para utilizar um arquivo com vários logins); a opção -P específica qual wordlist será usada para ler as senhas (você poderia usar -p se soubesse uma senha, mas não soubesse de qual usuário é); -o escreve a saída do comando no arquivo bruteforce.txt; ftp.foo.bar é o nome do host que iremos atacar e ftp é o protocolo que o Hydra deve usar.
Se você por algum motivo precisar interromper a sessão do Hydra, pode começar de onde parou utilizando a opção -R no mesmo diretório em que você interrompeu a execução anterior.
Outras opções úteis são:
-s: Se o serviço estiver sendo executado em uma porta diferente, use esta opção para especificar a porta.
-t: Indica a quantidade de conexões paralelas no servidor
-M: Define uma lista de servidores a serem atacados
Como se proteger
Se proteger de ataques brute force não é tão difícil assim:
- Forçar utilização de senhas seguras nos seus servidores. Senhas com caracteres especiais, letras maiúsculas e minúsculas, números e um comprimento de pelo menos 8 caracteres.
- Determinar um número máximo de erros na tentativa de login.
- Sempre monitore os log’s procurando por tentativas de login que falharam muitas vezes.
- Onde puder, mude a porta padrão dos serviços sendo executados na sua máquina (por exemplo, se só você utilizar o SSH você pode mudar a porta dele de 22 para 45600, por exemplo. Isso diminui a incidência de ataques)
- Onde possível, especifique o IP de origem que pode estabelecer a conexão com determinados serviços
Como se vê, é bem simples melhorar a segurança de seus serviços. Isso é o mínimo necessário para não ter muita dor de cabeça com qualquer pessoa que saia usando o Hydra e seus similares por aí. Porém estas não são as únicas técnicas e também não excluem a necessidade de verificação contínua nos log’s e conexões estabelecidas no servidor procurando por atividades suspeitas.
Conclusão
O Hydra é talvez a melhor ferramenta para ataques de brute force: tem um ótimo desempenho, é multiplataforma e várias opções úteis, além disso está em desenvolvimento constante e novas versões são lançadas frequentemente (não há um ciclo de release definido).

Pingback: ceai de slabit