Backdoor password en un ZIP?

Iniciado por AXCESS, Agosto 28, 2022, 04:29:59 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Los archivos ZIP protegidos con contraseña son medios comunes para comprimir y compartir conjuntos de archivos, desde documentos confidenciales hasta muestras de malware e incluso archivos maliciosos (es decir, "facturas" de phishing en correos electrónicos).

Pero, ¿sabía que es posible que un archivo ZIP encriptado tenga dos contraseñas correctas y que ambas produzcan el mismo resultado cuando se extrae el ZIP?

Un archivo ZIP con dos contraseñas

Arseniy Sharoglazov, investigador de seguridad cibernética de Positive Technologies, compartió durante el fin de semana un experimento simple en el que produjo un archivo ZIP protegido con contraseña llamado No tienes permitido ver enlaces. Registrate o Entra a tu cuenta.

La contraseña que eligió Sharoglazov para cifrar su ZIP fue un juego de palabras con el éxito de 1987 que se ha convertido en un popular meme tecnológico:

Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You

Pero el investigador demostró que al extraer No tienes permitido ver enlaces. Registrate o Entra a tu cuenta con una contraseña completamente diferente, no recibió mensajes de error.

De hecho, el uso de una contraseña diferente resultó en una extracción exitosa del ZIP, con el contenido original intacto:

pkH8a0AqNbHcdw8GrmSp

[Dos contraseñas diferentes para el mismo archivo ZIP dan como resultado una extracción exitosa (Sharoglazov)]

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

¿Cómo es esto posible?

Cuando se producen archivos ZIP protegidos con contraseña con el modo AES-256 habilitado, el formato ZIP usa el algoritmo PBKDF2 y procesa la contraseña proporcionada por el usuario, si la contraseña es demasiado larga. Por demasiado largo, nos referimos a más de 64 bytes (caracteres), explica el investigador.

En lugar de la contraseña elegida por el usuario (en este caso, "Nev1r-G0nna-G2ve-..."), este hash recién calculado se convierte en la contraseña real del archivo.

Cuando el usuario intenta extraer el archivo e ingresa una contraseña de más de 64 bytes ("Nev1r-G0nna-G2ve-..."), la aplicación ZIP volverá a codificar la entrada del usuario y la comparará con la contraseña correcta (que ahora es en sí misma un hash). Una coincidencia llevaría a una extracción de archivos exitosa.

La contraseña alternativa utilizada en este ejemplo ("pkH8a0AqNbHcdw8GrmSp") es, de hecho, una representación ASCII del hash SHA-1 de la contraseña más larga.

Suma de comprobación SHA-1 de "Nev1r-G0nna-G2ve-..." = 706b4838613041714e62486364773847726d5370.

Esta suma de comprobación cuando se convierte a ASCII produce: pkH8a0AqNbHcdw8GrmSp

Tenga en cuenta, sin embargo, que al cifrar o descifrar un archivo, el proceso de hash solo se produce si la longitud de la contraseña es superior a 64 caracteres.

En otras palabras, las contraseñas más cortas no se codificarán en ninguna de las etapas de compresión o descompresión del ZIP.

Esta es la razón por la que al elegir la cadena larga "Nev1r-G0nna-G2ve-... " como contraseña en la etapa de cifrado, la contraseña real que establece el programa ZIP es efectivamente el hash (SHA1) de esta cadena.

En la etapa de descifrado, si ingresó "Nev1r-G0nna-G2ve-...", se generará un hash y se comparará con la contraseña previamente almacenada (que es el hash SHA1). Sin embargo, al ingresar la contraseña más corta "pkH8a0AqNbHcdw8GrmSp" en la etapa de descifrado, la aplicación comparará directamente este valor con la contraseña almacenada (que es, nuevamente, el hash SHA1).

La subsección de colisiones HMAC de PBKDF2 en Wikipedia brinda más información técnica a los lectores interesados.

"PBKDF2 tiene una propiedad interesante cuando usa HMAC como su función pseudoaleatoria. Es posible construir de forma trivial cualquier número de pares de contraseñas diferentes con colisiones dentro de cada par", señala la entrada.

"Si una contraseña proporcionada es más larga que el tamaño de bloque de la función hash HMAC subyacente, la contraseña se convierte primero en un resumen y ese resumen se usa como contraseña".

Sin embargo, el hecho de que ahora haya dos contraseñas posibles para el mismo ZIP no representa una vulnerabilidad de seguridad, "ya que todavía se debe conocer la contraseña original para generar el hash de la contraseña", explica además la entrada.

Llegar a una contraseña perfecta

Mediante el uso de una versión ligeramente modificada de la herramienta de recuperación de contraseñas de código abierto, hashcat, el investigador generó variaciones de la cadena "Never Gonna Give You Up..." usando caracteres alfanuméricos hasta que llegó a una contraseña perfecta.

"Probé Nev0r, Nev1r, Nev2r y así sucesivamente... Y encontré la contraseña que necesito".

Y así es como Sharoglazov llegó a una contraseña que dice más o menos "Never Gonna Give You Up...", pero la representación ASCII de su suma de verificación SHA-1 es una cadena alfanumérica ordenada.

Para la mayoría de los usuarios, la creación de un archivo ZIP protegido por contraseña, con una sabia elección de su contraseña debería ser suficiente y eso es todo lo que necesitan saber.

Pero si decide ser aventurero, este experimento proporciona un vistazo a uno de los muchos misterios que rodean a los ZIP encriptados, como tener dos contraseñas para su secreto guardado.

Fuente:
BleepingComputer
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

excelente me encanto, la informacion es muy interesante.