Descifrar archivo zip con partes de contraseñas conocidas

Descifrar archivo zip con partes de contraseñas conocidas

tengo uncremalleraArchivo que no puedo abrir porque olvidé la contraseña. Estoy bastante seguro de algunas partes de esta contraseña, pero no recuerdo las variaciones que le agregué. Lo intentéfcrackzippero no veo cómo indicar que conozco partes de la contraseña. Para resumir:

  • Conozco algunas partes de la contraseña, ejemplo "Hola", "mundo" y "pase de mierda".
  • Estas piezas pueden estar en cualquier orden y no todas pueden usarse.
  • Es posible que aparezcan algunas partes pequeñas adicionales, como de 3 a 5 letras minúsculas.

¿Conoce algún software que pueda hacer eso?

Respuesta1

Esquema del método:

  1. Utilice una utilidad comocrunchpara crear un archivo de diccionario personalizado.

  2. Ejecute fcrackzipcon ese diccionario personalizado.

Problemas:

  • Hasta 3 cadenas mezcladas con entre 3 y 5 letras minúsculas generan más de un billón de contraseñas posibles. Simplemente generar ese diccionario llevará un tiempo.

  • crunchpermite el uso de comodines basados ​​en caracteres, pero su manejo de cadenas personalizadas no es tan flexible. Para resolver esta Q, grepy sedtambién sortparecen ser necesarios, cualquiera de los cuales aumenta el tiempo necesario, es decir, horas, tal vez días...

Algo como esto probablemente funcionaría:

crunch 3 9 abcdefghijklmnopqrstuvwxyz123 | \
  grep '[123]' | # at least one number per dict entry
  egrep -v '([123]).*\1' | # remove repeated numbers
  sed 's/1/hello/;s/2/world/;s/3/shittypass/' | # replace numbers with strings
  sort -u | \
  fcrackzip -D -p /dev/stdin foo.zip 

Caso de prueba con un conjunto de problemas más pequeño (una o dos cadenas y hasta dos letras minúsculas, en cualquier orden):

echo foo > bar.txt  # file to archive
zip -P xhellobworld baz bar.txt   # archive with password
time crunch 2 4 abcdefghijklmnopqrstuvwxyz12 | \
     grep '[12]' | egrep -v '([12]).*\1' | \
     sed 's/1/hello/;s/2/world/' | \
     sort -n | fcrackzip -u -D -p /dev/stdin baz.zip 

Producción:

Crunch will now generate the following amount of data: 3163440 bytes
3 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 637392 


PASSWORD FOUND!!!!: pw == xhellobworld

real    0m5.942s
user    0m2.240s
sys 0m1.040s

información relacionada