La funcion PHP es la siguiente:
sha1($user+':'+$pass)
Por lo tanto la solo tengo que generar un diccionario de fuerza bruto con un prefijo, que es el usuario y los ":" .Así que me acordé de un script en python que usaba para joomla y lo modifique un poco. Es el siguiente y funciona correctamente con john the ripper.
Código:
#!/usr/bin/python2
from hashlib import sha1
import sys
import string
original = sys.argv[1].split(':')
_sha1 = original[0].upper()
_prefix = original[1].upper()
print 'Crackeando ' + _sha1 + ' Del Usuario ' + _prefix + '... '
for line in sys.stdin:
line = line.strip().upper()
attempt = sha1(_prefix +':'+ line).hexdigest().upper()
if(attempt == _sha1):
print _sha1 + ':' + _prefix + ' --- PASSWORD ENCONTRADA: ' + line
print 'Pwned!'
sys.exit(0)
print 'No hay resultados'
sys.exit(1)
Bueno como la contraseña tiene que tener mas de 5 caracteres y da igual si son mayúsculas o minúsculas, por que al meter el user y pass se parsea todo a mayus.
Así que uso el john de la siguiente manera:
./john -i:alnum --stdout|python2 script.py hashsha1:user
Y a rezar...
Todo bien hasta aquí. Lo he probado con mi cuenta con una pass de 5 chars y si la crackea
Bueno dejo todo este royo que os he metido para preguntaros.
Hay algun programa para hacer esto con la GPU???? pensar que se podria tratar de descifrar un sha1 con un prefijo que seria el usuario y los ":" apartir de ahí...
Si no simplemente que me genere la lista de palabras por stdout y ya las cojo con el script como con john pero no se si servirá...
Bueno un saludo a todos