This commit is contained in:
darkmage 2024-01-10 13:18:10 -06:00
parent 3b59f35cde
commit e762663932
4 changed files with 73608 additions and 1 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
spectrum-bruteforce*

View File

@ -1,3 +1,43 @@
# spectrumwordlistgen
A tool to create wordlists for cracking Spectrum WIFI router default passwords.
A tool to create wordlists for cracking Spectrum WIFI router default passwords.
# usage
```
./make_spectrum_wordlist <outfile-root> <num_word0> <num_words1> <dictfile>
```
Provided is a `lowercase-english` wordlist pulled from `/use/share/dict/american-english`.
Spectrum routers use a default password of the format:
```
<lowercase_word_1><lowercase_word_2><three_digit_number>
```
So for example:
```
rainbowcake123
bacontrumpet456
moonlander789
```
and etc...
`outfile-root` specifies the base filename of the outputted wordlists.
By default, this script will attempt to split the generated file into files containing 100000 lines each.
This can be useful if you wish to distribute the cracking to many machines, or if you only wish to run small batches at a time.
This can also be useful for eliminating which passwords you've tried already without re-running a job on the WHOLE list.
Naturally, who else is crazy enough to do CPU cracking in 2024?
**budget mage** :D
[https://www.evildojo.com](https://www.evildojo.com)
[https://www.x.com/evildojo666](https://www.x.com/evildojo666)

73506
lowercase-english Normal file

File diff suppressed because it is too large Load Diff

60
make_spectrum_wordlist.sh Executable file
View File

@ -0,0 +1,60 @@
#!/usr/bin/zsh
OUTFILE_ROOT="$1";
COUNT0=$2;
COUNT1=$3;
#DICTFILE="lowercase-english";
DICTFILE="$4";
TMPFILE="$OUTFILE_ROOT.tmp.txt";
if [ -z "$OUTFILE_ROOT" ]; then
echo "Usage: $0 <outfile-root> <num_words0> <num_words1> <dictfile>";
exit 1;
fi;
if [ ! -f "$DICTFILE" ]; then
echo "Error: $DICTFILE not found";
exit 1;
fi;
if [ -z "$COUNT0" ]; then
COUNT0=100;
fi;
if [ -z "$COUNT1" ]; then
COUNT1=100;
fi;
rm -v $OUTFILE_ROOT.txt;
rm -v $TMPFILE;
rm -v $OUTFILE_ROOT-*;
echo "Generating $TMPFILE";
for i in `shuf -n $COUNT0 $DICTFILE`; do
for j in `shuf -n $COUNT1 $DICTFILE | grep -v $i`; do
echo $i$j;
done;
done > $TMPFILE;
echo "Generating $OUTFILE_ROOT.txt";
for i in `cat $TMPFILE`; do
for j in `seq 0 9`; do echo $i"00"$j; done;
for j in `seq 10 99`; do echo $i"0"$j; done;
for j in `seq 100 999`; do echo $i$j; done;
done > $OUTFILE_ROOT.txt
rm -v $TMPFILE;
echo "Shuffling $OUTFILE_ROOT.txt";
sort -u -R $OUTFILE_ROOT.txt -o $OUTFILE_ROOT.txt;
wc -l $OUTFILE_ROOT.txt;
echo "Splitting $OUTFILE_ROOT.txt";
split -l 100000 -d -a 3 $OUTFILE_ROOT.txt $OUTFILE_ROOT-;
echo "Done";
echo "Split files are $OUTFILE_ROOT-000 to $OUTFILE_ROOT-xxx";