Seguro que en ocasiones te has topado con un ZIP que comprimiste hace tiempo con cifrado y no recuerdas la contraseña para ver su contenido. Pues bien, no te preocupes. Hay formas de poder obtener la contraseña desde Linux o Windows. Además, es un procedimiento muy sencillo y con unos resultados bastante buenos siempre que la contraseña no sea demasiado compleja.
Por lo general, el cifrado de un ZIP no es demasiado fuerte. Usa un cifrado simétrico con una clave única, y si eso le unes que la longitud de la contraseña no es muy elevada o que usaste palabras que se encuentran en diccionarios, solo números, o solo letras, poder obtener la contraseña será aún más fácil y rápido.
Usar fcrackzip
La herramienta fcrackzip está disponible tanto para Windows como para Linux, por lo que podrás usarla en ambos sistemas indistintamente. Esos sí, en ambos casos se usará a través de la consola de comandos (CMD en Windows o Bash en Linux), pero no te preocupes, la sintaxis es bastante sencilla. Además, es gratis y bastante rápida, pudiendo lanzar ataques de fuerza bruta (probando todas las posibles combinaciones) o por diccionario (probando palabras de una lista de posibles contraseñas).
Para comenzar a usar fcrackzip, lo primero es descargar e instalar todo lo que necesitas en tu entorno para descifrar contraseñas ZIP de una forma sencilla y automática con esta tool. Los requisitos son:
- Descargar e instalar fcrackzip en tu sistema operativo. Puedes encontrarlo en esta web en el apartado Availability, tanto el tarball (.tar.gz) para Linux, como el zip con el .exe para Windows.
- Si vas a hacer un ataque por diccionario, si tienes sospechas de que es una palabra que se encuentra en un diccionario, puedes descargar algún diccionario desde aquí. O tal vez prefieras otros diccionarios específicos de hacking con las típicas contraseñas que se suelen poner como rockyou.txt. O tal vez crear un fichero de texto con tus propias palabras o contraseñas posibles para que las vaya probando automáticamente.
- El archivo .zip protegido con contraseña que quieres descifrar, evidentemente.
Una vez ya has descargado todo lo que necesitas e instalado el programa fcrackzip en tu sistema, lo siguiente es ponerte manos a la obra…
Pasos para descifrar la contraseña de un ZIP con fcrackzip
Lo primero que debes conocer es la sintaxis de fcrackzip:
fcrackzip [opciones] nombre.zip
En cuanto a las opciones disponibles en su formato corto de esta herramienta son:
- -b: para especificar un ataque por fuerza bruta, es decir, probando todas las posibles combinaciones. Es el más exitoso, pero también el que más tiempo tarda.
- -D: para un ataque por diccionario, usando un fichero con palabras o posibles contraseñas que irá probando.
- -B: para benchmarking, es decir, para marcar un parámetro de diferencia.
- -c: para el ataque de fuerza bruta puedes especificar los caracteres que probara. Pueden ser letras solo letras minúsculas si pones «a» sin comillas, o mayúsculas si usas «A» como parámetro, o solo números con «1», o «!» para símbolos. Para otros caracteres puedes usar «:».
- –version: muestra la versión de fcrackzip.
- -h: muestra ayuda, con las opciones disponibles.
- -V: comprueba algoritmo.
- -v: modo verbose para mostrar más información del proceso.
- -p: se usa cuando haces un ataque por diccionario para indicar la ruta o nombre del archivo diccionario.
- -l: para especificar la longitud mínima y máxima de la contraseña, si la sabes. Muy útil para delimitar ataques de fuerza bruta y que no tarden tanto. Por ejemplo, si sabes que tiene 4 caracteres podrás indicar 4-4, o tal vez sabes el máximo pero dudas del mínimo y quieres que pruebe de 1-4, etc. Ten en cuenta que mientras mayor sea más se demora.
- -u: descarta los intentos erróneos y solo mostrará la contraseña válida.
- -m: usa el método «num».
- -2: solo calcula 1/m de la contraseña.
Si no las recuerdas siempre puedes usar el comando siguiente para que las muestre ayuda en pantalla:
fcrackzip -h
Ahora vamos a ver dos ejemplos prácticos. En uno de ellos será un ataque de fuerza bruta contra un ZIP protegido por contraseña. En ese caso, fcrackzip irá probando todas las posibles combinaciones de caracteres hasta dar con la contraseña. El segundo será eun ataque por diccionario, donde irá probando las palabras que contiene un diccionario hasta dar con la correcta. Aunque el segundo es más rápido, puede que no sea útil cuando la contraseña no es una palabra que se encuentra en un diccionario. El ataque de fuerza bruta debería tener éxito en cualquier caso, aunque podría tardar horas, días, meses… dependiendo de la complejidad de la contraseña.
Para usar el ataque de fuerza bruta, por ejemplo para que pruebe una longitud de 8 caracteres y con solo letras minúsculas:
fcrackzip –b –c a -l 8-8 -u /home/user/nombre.zip
Para el ataque por diccionario el comando sería algo así:
fcrackzip -v -D -p /home/user/nombre-diccionario.lst /home/user/nombre.zip
Solo queda esperar a que surtan efecto. Y recuerda sustituir los nombres y rutas por los que correspondan en tu caso…