Les comparto este generador de passwords de fuerza bruta que hice por si se ofrece :D . Opera de la siguiente forma:
1) asignas los caracteres con los cuales quieres generar las combinaciones
2) ejecutas el script de la siguiente forma:
./generador.sh passwords.txt
Y con esto se generará el archivo passwords.txt con todas las combinaciones que establecimos dentro del script.
NOTA:
* Entre más caracteres para combinar puede tardar semanas en generar tu diccionario ya que hace todas las combinaciones entre ellos
* Con el crackeo sucede de la misma forma, Puede tardar años ...
* Disculpen por la identación, no se refleja de forma correcta
#!/bin/bash caracteres="a b c d e f g h i j k l m n ñ o p q r s t u v x y z 1 2 3 4 5 6 7 8 9 0" ndigitos=$(echo $caracteres | wc -w) echo $ndigitos if [ -z ${1} ] then echo " Uso: Falta el archivo de salida" echo " Ejemplo: $0 passwords.txt" else cont0=0 cont1=0 cont2=0 cont3=0 cont4=0 cont5=0 cont6=0 cont7=0 cont8=0 time for a in $caracteres do let cont0=cont0+1 for b in $caracteres do let cont1=cont1+1 for c in $caracteres do let cont2=cont2+1 for d in $caracteres do let cont3=cont3+1 for e in $caracteres do let cont4=cont4+1 for f in $caracteres do let cont5=cont5+1 for g in $caracteres do let cont6=cont6+1 for h in $caracteres do if [ $cont2 -lt $ndigitos ]; then a=""; fi if [ $cont3 -lt $ndigitos ]; then b=""; fi if [ $cont4 -lt $ndigitos ]; then c=""; fi if [ $cont5 -lt $ndigitos ]; then d=""; fi if [ $cont6 -lt $ndigitos ]; then e=""; fi if [ $cont7 -lt $ndigitos ]; then f=""; fi if [ $cont8 -lt $ndigitos ]; then g=""; fi let cont7=cont7+1 `echo "$a$b$c$d$e$f$g$h" >> ${1}` echo "$a$b$c$d$e$f$g$h" done done done done done done done done fi
2 comentarios:
Muchas gracias por el aporte!
Encontre que al correrlo ejecutaba 36 veces (ndigitos) la misma secuencia, mostraba digamos 36 veces ff, fg, fh, etc.
Lo modifique para que genere la misma lista pero no 36 veces la misma combinación.
#!/bin/bash
andigitos="1"
caracteres="a b c d e f g h i j k l m n ñ o p q r s t u v x y z 1 2 3 4 5 6 7 8 9 0"
ndigitos=$(echo $caracteres | wc -w)
echo $ndigitos
if [ -z ${1} ]
then
echo " Uso: Falta el archivo de salida"
echo " Ejemplo: $0 passwords.txt"
else
cont0=0
cont1=0
cont2=0
cont3=0
cont4=0
cont5=0
cont6=0
cont7=0
cont8=0
time for a in $caracteres
do
if [ $cont0 -lt $andigitos ]; then a=""; fi
let cont0=cont0+1
for b in $caracteres
do
if [ $cont1 -lt $andigitos ]; then a=""; fi
let cont1=cont1+1
for c in $caracteres
do
if [ $cont2 -lt $andigitos ]; then a=""; fi
let cont2=cont2+1
for d in $caracteres
do
if [ $cont3 -lt $andigitos ]; then a=""; fi
let cont3=cont3+1
for e in $caracteres
do
if [ $cont4 -lt $andigitos ]; then a=""; fi
let cont4=cont4+1
for f in $caracteres
do
if [ $cont5 -lt $andigitos ]; then a=""; fi
let cont5=cont5+1
for g in $caracteres
do
if [ $cont6 -lt $andigitos ]; then a=""; fi
let cont6=cont6+1
for h in $caracteres
do
# if [ $cont2 -lt $andigitos ]; then a=""; fi
# if [ $cont3 -lt $andigitos ]; then b=""; fi
# if [ $cont4 -lt $andigitos ]; then c=""; fi
# if [ $cont5 -lt $andigitos ]; then d=""; fi
# if [ $cont6 -lt $andigitos ]; then e=""; fi
if [ $cont7 -lt $andigitos ]; then f=""; fi
# if [ $cont8 -lt $andigitos ]; then g=""; fi
let cont7=cont7+1
`echo "$a$b$c$d$e$f$g$h" >> ${1}`
echo "$a$b$c$d$e$f$g$h"
done
done
done
done
done
done
done
done
fi
Saludos y nuevamente gracias por el aporte, la verdad estaba perdido!
RubenOzz
Hola Ruben, buenas noches. La mayoria de diccionarios empiezan generando el mismo caracter segun la longitud deseada. Suponiendo que desees generar un diccionmario WPA de 13 digitos con tan solo 10 caracteres diferentes, el archivo pesaría 127 Teras. ¿Porque? Porque cada caracter se repite 13 veces y luego va disminuyendo. Pero si modificas el script y pones un limite de 2 repeticiones por caracter en cada next, reduciras al máximo el diccionario y necesitars menos espacio de disco para guardarlo. Si lo piensas veras que tengo razon. Y si lo modificas como sugiero, hazmelo saaber. Gracias.
Publicar un comentario