quinta-feira, 13 de agosto de 2015

Identificando e quebrando HASHs com Hashcat



O Hashcat é uma poderosa ferramenta de força bruta de passwords e hashs e é muito utilizada devido a sua performance e eficiência. Em várias partes de um Pentest você vai se deparar com uma listinha de hashs recém capturadas ou extraídas de algum lugar, aqui você vai saber certinho o que fazer com elas.

Vamos supor que você tenha capturado as HASHs abaixo e precisa identificá-las antes de começar um bruteforce para descriptografá-las. Existe uma grande variedade de tipos de criptografia existentes, e nem sempre é possível identificá-las de olho, portanto vamos usar uma ferramenta muito bacana chamada HASH IDENTIFIER.

Link do projeto: https://code.google.com/p/hash-identifier/downloads/list

Baixe a versão mais recente e execute:
# chmod +x  Hash_ID_v1.1.py
# ./Hash_ID_v1.1.py

658aa428e30a30339bbb1eb835929189
658aa54dac629be6774125f23b00476f
658ab4403b0102350be5d19783c5f552
658ab533052b9d38b37dd06b71205f84
658ab69ecd825fa8f91cfb94c7bb60c6
658aba384cf3e4b89b1cd069c7cd1682
658aba62fcea15852187997f573bda8b
658ac17246c53f041937f33014935b0a
658ac48e33c6b1667d837820e9bd4b3d
658ac402940cd8ccbec26010f132bf07
658ac50656e3590a737803b8e059e992
658ac614fa5c8e06e0ec6f5cb37d60be
658ac70824ee13ebb6fee6146a5f0511
658aca84d6dd9e323e6fe75070b51af9
658acac442f42fc7793134f24119f438
658acc28ba619cd60a2d24557b052e3a
658ad1d416a7d56a334fd2d2d03795ed
658ad55ce3718ccd46dbdbbae274713a
658ad81ae615c3cf1fda7f9f0145b550
658adcba161e9b726774daf4f98ae4ef
658add7597b9856e171dc002d3b372be
658ade4300ce49339e22bd346bafaa3f
658ae5639b8bc29eb7b5f68a814ca678
658ae5e24c7c51b50452f9dab18cbb55
658ae72ffc494819068f5e114563f229
658aea67e24aa5c0e4fb4fb714dad104
658aedacb9d1fb58fdde3c772d1a054f
658af07314884fed0cf2ad584d66b669
658af348e00f189f28ca5ad0ba1d2c3e
658af39525f9645b8ff2025de6bd5b50
658af4c5c0f094f38741a95f963e4e60



Colando qualquer uma das hashs no script ele irá identificar pra você. No exemplo ele identificou a hash como uma possível MD5. Salve todas as hashs num txt chamado hash.txt.

Agora vamos por a mão na massa e descriptografar as senhas utilizando Hashcat. O Hashcat é uma ferramenta muito performática. Ela utiliza uma wordlist e faz bruteforce em todas as senhas, uma a uma, gerando resultados positivos e negativos em todos os itens. Vou utilizar uma wordlist própria. Espero que você tenha a sua.

Vamos abrir o menu de ajuda do Hashcat

# hashcat -h


Como você pode ver, o Hashcat tem uma ótima documentação.

Agora vamos executar o comando pra ele fazer o brute force na lista
# hashcat -m0 hash.txt passlist.txt

Lembrando que:
- m Indica que indicará o bruteforce
- 0 Indica o tipo de hash, que no caso é MD5
- /hash.txt indica o local com a lista de hashs
- passlist.txt é a minha wordlist

Vamos aos resultados:

Note que conseguimos quebrar 3 senhas da lista com minha wordlist.



Lembrando que essas ferramentas devem ser usadas para testes de penetração e estudo, e não para cometer crimes. Com grandes poderes, vem sim grandes responsabilidades. Qual o objetivo do teste dentro de um Pentest: identificar possíveis senhas fracas e comuns. Portando a única maneira de corrigir a falha é utilizando senhas seguras, grandes, difíceis e sem padrão.

Veja também: Gerando passwords seguros com Pwgen

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

Postar um comentário

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com