Estoy intentando descifrar una contraseña de Ubuntu, cifrada en SHA-512, según veo Cain lo soporta, pero me dice a la hora de meter la contraseña me dice (in Hex), pero por ahí no encuentro nada para pasarlo a Hexadecimal. ¿Sabéis si estoy
haciendo algo mal?
5 Ascii a Hexadecimal
http://www.elhacker.net/convertidor.html
En Cain me sigue diciendo que no es el tamaño correcto :S. Ya he probado muchos desencriptadores y no se porqué, no me va.
Estás seguro que lo estás introduciendo en hex?
Y otra cosa, estás seguro que es SHA-512?? No estoy familiarizado con los hashes de linux, pero me parece que no eran SHA-512.
Que longitud tiene el hash en caracteres hexadecimales?
Intenté meter un SHA-1 traduciendo desde ASCII con la herramienta que me puso el-brujo, y por lo visto lo de in HEX, sobra, porque lo meti en SHA-1 y me sacó-- > "hola". Es decir "hola" era como si fuera un password.
Sí es SHA-512, empieza $6$, desde hace unas versiones atrás Ubuntu por lo menos funciona así.
La longitud varía según el usuario, es eso lo que me desconcierta, porque deberían tener todos la misma cantidad de caracteres no ¿?
Yo lo estoy probando en Cain.
Saludos.
Aparentemente, cuando se guarda el password de ubuntu, se le incluye un salt.
$6$salt$encrypted.
Entonces tenés que usar solo lo que está despues del último "$".
¿Pero entonces cuál es la función del Salt, si lo puedes quitar a mano y crackear como si fuera un SHA-512 sin Salt?
En el caso de ser así, quitando el Salt ¿Puedo usar rainbow tables?
Saludos y gracias.
La función de hash funciona de la siguiente manera:
Cuando vos te logueas, le ponés un password, a este password se le adjunta al final o al principio (probablemente al final) el salt, que es un valor aleatorio, pero constante. Y de ahi se saca el hash, este hash es comparado con el que está guardado.
Por ejemplo: Sabemos que el salt que se utiliza, es "1BC2DEFF" y el password es "123456" (HEX = "313233343536".
Calculamos el SHA-512: SHA-512("3132333435361BC2DEFF") = "2975BD2A8C9627D884E9ED92E2A9B08DE6D99B703A4407F75BC61256EAE89F451C255298A4E2B457D951AFB556CBEA01F43D6912CB1AE4B485EEE03A16210E07"
Quedaría entonces:
$6$1BC2DEFF$2975BD2A8C9627D884E9ED92E2A9B08DE6D99B703A4407F75BC61256EAE89F451C255298A4E2B457D951AFB556CBEA01F43D6912CB1AE4B485EEE03A16210E07
OK?
El salt no se puede quitar del hash, se debe tratar de crackear el password utilizando el salt.
Entonces, no se pueden utilizar rainbow tables. Solo fuerza bruta.
En windows hasta lo que yo se, no hay herramientas que permitan crackear SHA-512 con GPGPU (utilizando tecnologías como CUDA, STREAM u OpenCL). Y por lo que veo tampoco hay en linux.
Vas a tener que basarte en CPU solo o crear tu propio programa con OpenCL.
Si haces lo último, compartilo que realmente hace falta.
Suerte!
Muchas gracias, ya me ha quedado más claro.
Bueno, entonces aquí queda por si alguien tiene alguna duda. Respecto al Opencl, pues lo veo imposible, no tengo tantos conocimientos como para hacerlo. He visto un script, que te deja seleccionar los núcleos que tienes para usarlos, y te crackea junto con el Salt. Según el creador con 2 nucleos ( un procesador normal ), puede procesar unas 90 passwords por segundo, es decir muy lento, pero es lo que hay. A mí no se porqué pero me salía 0,001 password por segundo :S.
El script se llama cryptcracker, lo podéis ver y descargar aquí: http://blog.hacker.dk/2010/04/cracking-sha-256-and-sha-512-linuxunix-passwords/?reffed=1
Saludos.