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:
Utilice una utilidad como
crunch
para crear un archivo de diccionario personalizado.Ejecute
fcrackzip
con 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.
crunch
permite el uso de comodines basados en caracteres, pero su manejo de cadenas personalizadas no es tan flexible. Para resolver esta Q,grep
ysed
tambiénsort
parecen 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