Encontrar algoritmo desde Digest y Plaintext

0

Quiero editar una cadena de conexión en un archivo de configuración que contenga lo que parece ser una contraseña con hash.

Sé lo siguiente:

-oldPwd in current configured file
-oldHash in current configured file
-newPwd

Quiero generar hash(newPwd) , pero necesito definir el hash usado. ¿Cómo puedo hacerlo?

oldHash = i7DFG05HX+G/VCbVTxBY1w==

Todo lo que pienso se basa en el hecho de que esta es la base64 de la contraseña con hash ... así que un binario de 128 bits, si tengo razón.

    
pregunta refex 18.05.2017 - 17:31
fuente

3 respuestas

1

Si puede cambiar la contraseña a una cadena conocida, cambiarla a "contraseña" (o algo simple), convierta la base64 al formato hex más común con un comando como este:

$ echo 'KGdV+tBIacpSMyCszg3GpA==' | base64 -d | xxd -g16
00000000: 286755fad04869ca523320acce0dc6a4  (gU..Hi.R3 .....

Luego coloque la cadena ( 286755fad04869ca523320acce0dc6a4 ) en un archivo y ejecute las herramientas de descifrado de contraseñas utilizando cualquier algoritmo de 128 bits que admita:

~/tools/JohnTheRipper/run $ echo '286755fad04869ca523320acce0dc6a4' > test.hex
~/tools/JohnTheRipper/run $ ./john --format=raw-md5 ./test.hex 
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])
Press 'q' or Ctrl-C to abort, almost any other key for status
[.....]

Si tienes suerte, es algo estándar y simplemente se abrirá.

De lo contrario, es posible que tengas que hacer algunas averiguaciones para descubrir cómo está salado o lo que sea.

    
respondido por el Ron Bowes 18.05.2017 - 20:30
fuente
1
  

Todo lo que pienso se basa en el hecho de que esta es la base64 de la contraseña con hash ... así que un binario de 128 bits, si tengo razón.

Sí, es completamente plausible que estés tratando con un hash de 128 bits codificado en base64. Pero aún tendría que adivinar qué función de hash con la longitud de resumen de 128 bits se usó, no hay un atajo para eso.

Por ejemplo, la longitud coincidiría con MD5. En ese caso, puede verificarlo con su contraseña conocida de la siguiente manera:

$ echo "password" | openssl md5 -binary | base64 
KGdV+tBIacpSMyCszg3GpA==

La cadena de salida tendría que coincidir con el hash en su archivo de configuración.

Wikipedia tiene una lista de funciones hash criptográficas con sus correspondientes longitudes de resumen. Puede verificar todas las entradas de 128 bits a través de prueba y error. Pero, por supuesto, el enfoque más inteligente sería investigar el código fuente de la aplicación con la que está tratando.

    
respondido por el Arminius 18.05.2017 - 18:23
fuente
1

Hay herramientas que intentan e identifican el algoritmo de hash que está en uso.

enlace

De lo contrario, tratar de descifrar la contraseña usando hashcat o similar, como lo sugiere Ron, puede ser un camino decente a seguir.

Si tiene acceso a la fuente de aplicaciones, ensamblajes o binarios, puede intentar identificar los componentes que se utilizan para el cifrado y descifrado. Luego, puede reutilizar este código, obtener suficiente información sobre el algoritmo en uso para escribir algo, o encontrar una herramienta.

    
respondido por el Joshua Gimer 17.08.2017 - 03:58
fuente

Lea otras preguntas en las etiquetas