Estudando a source do mysql (client/server) , me veio a ideia de criar uma tool pra decriptar hash
de mysql , o algoritmo de encriptacao que o mysql usa é hex(sha1(sha1('palavra')))
exe:
Confirmando que o algoritmo é realmente hex(sha1(sha1('palavra'))):
é o mesmo hash a unica diferença são as letras maiusculas e minusculas.
No codigo-fonte do mysql existe uma lib de referencia para encriptação SHA-1,
resolvir usar ela> [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
O programa que eu criei , transforma o hash de hexadecimal para decimal, e depois
disso ler a wordlist e vai comparando os bytes para ver se realmente é o mesmo hash.
Se você executar o programa como root, você pode definir a prioridade do processo de -20 (maior prioridade)
até 20 (menor prioridade).
Baixando:
Usando:
Exemplos:
Em outro terminal é possivel ver que a prioridade do processo é -1:
Hash sendo quebrada:
Não coloquei para mostrar informações (numero de senhas já testadas ,hash's geradas ,conteudo da wordlist, etc)
porque isso afeta o desempenho !
de mysql , o algoritmo de encriptacao que o mysql usa é hex(sha1(sha1('palavra')))
exe:
- Código:
mysql> select PASSWORD('mmxm');
+-------------------------------------------+
| PASSWORD('mmxm') |
+-------------------------------------------+
| *D0D478F28953CEE96AE690B0466F39CAE355F19A |
+-------------------------------------------+
1 row in set (0.00 sec)
Confirmando que o algoritmo é realmente hex(sha1(sha1('palavra'))):
- Código:
$ perl -MDigest::SHA1=sha1,sha1_hex -le 'print sha1_hex(sha1("mmxm"))'
d0d478f28953cee96ae690b0466f39cae355f19a
é o mesmo hash a unica diferença são as letras maiusculas e minusculas.
No codigo-fonte do mysql existe uma lib de referencia para encriptação SHA-1,
resolvir usar ela> [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
O programa que eu criei , transforma o hash de hexadecimal para decimal, e depois
disso ler a wordlist e vai comparando os bytes para ver se realmente é o mesmo hash.
Se você executar o programa como root, você pode definir a prioridade do processo de -20 (maior prioridade)
até 20 (menor prioridade).
Baixando:
wget [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Usando:
- Código:
tar -vzxf mysql_crack.tar.gz
cd mysql_crack
make
./mysql_decrypt
Exemplos:
- Código:
# ./mysql_decrypt d0d478f28953cee96ae690b0466f39cae355f19a /tmp/x -1
[+] PID:4350
[+] Changing Process Priority to (-1) ... [OK]
Decrypting...
Em outro terminal é possivel ver que a prioridade do processo é -1:
- Código:
$ ps -e -o pid,ni,cmd | grep 4350
4350 -1 ./mysql_decrypt d0d478f28953cee96ae690b0466f39cae355f19a /tmp/x -1
Hash sendo quebrada:
- Código:
# ./mysql_decrypt d0d478f28953cee96ae690b0466f39cae355f19a /tmp/x -1
[+] PID:4389
[+] Changing Process Priority to (-1) ... [OK]
Decrypting...
[+] Hash Cracked: 'mmxm'
[Finish]
Não coloquei para mostrar informações (numero de senhas já testadas ,hash's geradas ,conteudo da wordlist, etc)
porque isso afeta o desempenho !