aquí hay dos scripts de bash para generar una lista de todas las combinaciones posibles de cuatro letras. el primero solo da combinaciones en minúsculas ( create_wordlist_case_insensitive.sh
), mientras que el segundo da todas las combinaciones de letras mayúsculas y minúsculas ( create_wordlist_case_sensitive.sh
).
$ cat create_wordlist_case_insensitive.sh
#!/usr/bin/bash
for a in {a..z}
do
for b in {a..z}
do
for c in {a..z}
do
for d in {a..z}
do
echo "$a$b$c$d"
done
done
done
done
$ cat create_wordlist_case_sensitive.sh
#!/usr/bin/bash
run1=( 'echo $(echo {A..z}) | sed 's/\[ \] \^ \_ \' //'' )
run2=( 'echo $(echo {A..z}) | sed 's/\[ \] \^ \_ \' //'' )
run3=( 'echo $(echo {A..z}) | sed 's/\[ \] \^ \_ \' //'' )
run4=( 'echo $(echo {A..z}) | sed 's/\[ \] \^ \_ \' //'' )
for a in "${run1[@]}"
do
for b in "${run2[@]}"
do
for c in "${run3[@]}"
do
for d in "${run4[@]}"
do
echo "$a$b$c$d"
done
done
done
done
Úsalos para crear tus archivos de lista de palabras como este:
$ create_wordlist_case_insensitive.sh >word_list_short.txt
$ create_wordlist_case_sensitive.sh >word_list_long.txt
luego su secuencia de comandos puede recorrer cualquier archivo que necesite así:
$ cat forceit.sh
#!/usr/bin/bash
while read line
do
echo "Trying: $line"
echo ssh intaudftp@file --password "$line" ## NOT REAL CODE
done < word_list_short.txt
excepto que este código no funcionará realmente, bc ssh no acepta una contraseña como argumento.
tendrías que automatizar ese segmento del código con expect
, pero no voy a entrar en cómo hacerlo aquí. alternativamente, supongo que podría usar un comando diferente que acepte una contraseña como argumento, como telnet
.