Changes

WPA jelszó feltörése

6,165 bytes added, 20:13, 30 March 2020
Szimpla szótárár alapú keresés
{{warning|Az itt leírtak kizárólag oktatási célt szolgálnak. Soha ne próbáljuk meg mások hálózatát feltörni se ezekkel a módszerekkel se máshogyan, kizárólag direkt, erre a célra létrehozott , saját hálózatokon kísérletezzünkmert más hálózatának feltörése törvénysértő és etikátlan! A szerző semmilyen felelősséget nem vállal azért, ha valaki a figyelmeztetés ellenére rosszindulatúan használná fel az itt leírtakat.}}
<br>
<br>
=Bevezető=
 
==Mit is fogunk csinálni==
 
 
https://medium.com/@brannondorsey/crack-wpa-wpa2-wi-fi-routers-with-aircrack-ng-and-hashcat-a5a5d3ffea46<br>
A koncepció a következő. Elsőként begyűjtjük a feltörni kívánt hálózat adatait. Szükségünk van a BSSID-ra és a csatorna számára, amit az AccessPoint használ. Ha már tudjuk ezeket az információkat, akkor elkezdünk addig hallgatózni a csatornánk, amíg nem érkezik egy Handshake üzenet valamelyik klienstől. Csak olyan hálózatot tudunk megtámadni, ahol vannak kliensek, akik már ismerik a jelszót. Ha van legalább 1 kliens az AP-ra csatlakozva, akkor azt a klienst egy hamis autentikációs üzenettel rá tudjuk venni hogy csatlakozzon újra, így el tudjuk kapni a handshake üzenetet, amiben benne van a jelszó hash lenyomata. Ezen komplex feladat elvégzésére a '''aircrack-ng''' szoftver csomagot fogjuk használni.
A WPA titkosítással rendelkező WiFi hálózatokat kizárólag hash visszafejtéssel lehet törni, és csak akkor ha nem túl bonyolult és túl hosszú a jelszó, különben már több áram és idő kéne hozzá, mintsem hogy megérje. Különösen akkor van esélyünk feltörni egy WPA vagy WPA2 jelszót, ha az 10 karakternél nem hosszabb és szótári szavak kombinációjaként áll elő. Ha teljesen random a sorozat, akkor már viszonylag rövidebb jelszó esetén is (10 karakter) már hetekbe telhet a törés (GPU rig-en).   A törésre mindenképpen GPU rigre van szükség, ez CPU-ban, különösen laptopon biztos hogy nem végezhető el. Sőt, egy darab GPU-val sem jutunk messzire. Minél nagyobb a rig, úgy nyerhetünk napokat.   Két szoftvercsomagot fogunk használni: * '''aircrack-ng''': teljes körű WiFi manipuláló, monitorozó, és törő (WEP esetén) parancssori eszköz. :[[File:ClipCapIt-180726-125040.PNG]]* '''hashcat''': Az egyik legnépszerűbb GPU jelszó visszafejtő eszköz. Képes GPU rig-en is futni. :[[File:ClipCapIt-180726-125053.PNG]]     A WEP titkosítással védett hálózatokat ennél sokkal egyszerűbb feltörni, mert ott ki lehet használni az algoritmus hibáit. WEP esetén a legegyszerűbb az '''airgeddon''' szoftvercsomag használata, amihez a legideálisabb a '''Keli Linux''' disztribúció, mert abban már minden benne van ami az '''airgeddon''' futtatásához szükséges. A WPA töréséhez is használhatjuk az airgeddon-t (https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Installation-&-Usage), de az '''airgeddon''' -al készült handshake fájlt nem tudtam hashcat formátumra konvertálni. Az airgeddon igazából nem csinál mást, mint összefogja a különböző WiFi manipuláló/törő eszközöket, és egy egységes, felhasználó barát interfészt húz feléjük, így a használata nagyon kezesbárány (pl. a hascat-et is használja CPU üzemmódban).   A WPA jelszó törésekor a koncepció a következő. Elsőként begyűjtjük a feltörni kívánt hálózat adatait. Szükségünk van a BSSID-ra és a csatorna számára, amit az AccessPoint használ. Ha már tudjuk ezeket az információkat, akkor elkezdünk addig hallgatózni a csatornánk, amíg nem érkezik egy Handshake üzenet valamelyik klienstől. Csak olyan hálózatot tudunk megtámadni, ahol vannak kliensek, akik már ismerik a jelszót. Ha van legalább 1db kliens az AP-ra csatlakozva, akkor azt a klienst egy hamis autentikációs üzenettel rá tudjuk venni hogy csatlakozzon újra, így el tudjuk kapni a handshake üzenetet, amiben benne van a jelszó hash lenyomata. Ezen komplex feladat elvégzésére a '''aircrack-ng''' szoftver csomagot fogjuk használni.   :[[File:ClipCapIt-180726-111131.PNG]]  Nem minden WiFi kártya alkalmas hálózat monitorozásra vagy manipulációra. Állítólag léteznek direkt erre a célra különösen jól megfelelő (külső) kártyák. Nekem a laptop-ba épített kártyával is ment. (Qualcomm Atheros AR9485)  A hash visszafejtését egy GPU rig-en fogjuk végezni a '''hashcat ''' programmal, ami remekül ki tudja használni a GPU rig nyújtotta párhuzamosíthatóságot. Az '''airmon-ng ''' által kiköpött hash formátum nem fogyasztható a '''hashcat ''' által, ezért a '''.cap ''' formátumot konvertálni kell '''.hccapx''' formátumra, majd brute-force módszerrel megpróbáljuk visszafejteni a hash-t. A hash visszafejtés valójában "random" próbálkozás. Fogunk egy jelszó jelöltet, a megfelelő hash módszerrel elkészítjük a hash lenyomatát (az esetünkben WPA hash-t kell használni) majd a hash lenyomatot összehasonlítjuk a handshake-ben található hash-el. Ha nem talált, akkor veszünk egy új jelöltet és kezdjük elölről. A siker kulcsa igazából azon múlik, hogy milyen módszerrel határozzuk meg a következő jelöltet. * '''brute-force:''' egy megadott hosszban, a karakter készlet univerzum összes variációját végig próbálgatjuk sorban, mindig egy karaktert kicserélve. (pl. kis és nagy betűk, számok, speciális karakterek) Ezzel a módszerrel biztos rá akadunk a jelszóra (ha jó hosszúságon próbálkozunk) viszont akár hónapokba is telhet. * '''szótár alapú''': léteznek előre gyártott szó készletek, amiben több 10 ezer szó is össze lehet gyűjtve. Egy ilyen gyűjtemény szavait végigpróbálgatni még 10 ezres nagyságrend esetén is csak a töredéke a brute force módszernek. * '''kombinált módszerek''': szótárakat kombinálunk egymással, vagy pl számokkal. Ezzel nagyban kibővíthetjük a keresési univerzumot, de még midig csak a töredéke az elvégzendő munka a brute-force-nak.  ==Hogyan működik a WPA titkosítás==<br><br>
=Installáció=
==hashcat-utils==
Az aircrack által használt '''.cap''' fájformátumot a '''hashcat-utils-master''' csomagban található konverterrel tudjuk majd '''.hccapx''' formátumra konvertálni, amiben a hash formátum már megfelelő a haschcat-nek.
....
 
A github-rol tudjuk letölteni: https://github.com/hashcat/hashcat-utils
 
A fordításhoz csak egy make kell:
# git clone https://github.com/hashcat/hashcat-utils.git
# make
<br>
<br>
==Hashcat==
A Hascat-et a GPU rigre kell telepíteni. Itt feltételezzük, hogy már rendelkezésünkre áll egy teljesen konfigurált GPU rig (mining rig).
...hashcat telepítése...
A hashcat binárist csak le kell tölteni és ki kell telepíteni (7z-vel):
<pre>
# yum install p7zip
# wget https://hashcat.net/files/hashcat-4.1.0.7z
...
# 7za x hashcat-4.1.0.7z
</pre>
 
 
Próbáljuk ki az alábbi teszt paranccsal hogy jól fut e:
<pre>
# ./hashcat64.bin -m 1000 -b
<br>
 =Jelszó feltörése= ==Handshake elkapása==
===Monitor mode bekapcsolása===
Láthatjuk a klienseket az alsó listában (station). Jelenleg 3 kliens csatlakozik az AP-re. Vagy addig várunk, amíg valaki nem csatakozik újra, vagy kierőszakoljuk mi magunk az újracsatlakozást a kliensek becsapásával. A cél, hogy a jobb felős sarokban megjelenjen a '''WPA handshake''' felirat, amit be is jelöltem ('itt jelenik majd meg a handshake')
<br>
===Újrakapcsolódás kierőszakolása===
Most erőszakoljuk ki a kliensek újracsatlakozását egy hamis autentikációs üzenettel, amit a broadcust címre küldünk a '''aireplay-ng''' eszközzel, ami része az airodump-ng csomagnak.
{{worningwarning|Az összes kliens meg fogja szakítani a kapcsolatot egy pillanatra az AP-val, így történthet történhet adatvesztés}}
Szintaxis: aireplay-ng -0 2 -a <bssid> <interfész név>
...
</pre>
{{note|Ha a becsapós csomagok kiküldése után pár másodperccel nem jelenik meg a handshake, akkor kicsit várjunk, hogy újabb kliensek is az AP-ra csatlakozzanak, és próbáljuk meg újra. Ez türelem játék(pl este, mikor nagyobb az AP-n a forgalom, olyankor garantált a siker}} 
===Mi jött létre===
Számunkra a '''.cap''' kiterjesztésű fájl az érdekes, abban vannak elmentve a handshake-ek, amiket akkor kaptunk el, mikor a kliensek újra csatlakoztak az AP-hez. Itt egy vagy több hash található, amiket vissza fogunk fejteni a GPU riggel. (az utolsó számot futtatásonként egyel növeli az airodump-ng, nálunk ez a 3. futtatás eredménye)
==Konvertálás==
===Monitor kikapcsolása===
Ha megvan a handshake, fontos, hogy kikapcsoljuk a monitor üzemmódot a WiFi kártyán, mert addig nem tudjuk internetezésre használni.
<pre>
airmon-ng stop wlp3s0mon
</pre>
A kikapcsoláshoz nem a kártya nevét kell megadni, hanem a monitor interfész nevét.
<br>
<br>
 
===Konvertálás===
 A '''.cap''' fájlt konvertálni kell '''.hccapx''' formátumra, hogy fel tudjuk dolgozni a '''hashcat''' programmal. A konverziót a '''cap2hccapx''' eszközzel végezhetjük el (vagy online, keressünk rá)
<pre>
cd ...../hashcat-utils-master/src/
</pre>
Látható, hogy a '''psk3-03.cap''' fájl 2 handshake-et tartalmazott, tehát két klienst is rá tudtunk venni hogy újracsatlakozzon.
{{note|Ha az utolsó sorban az jelenik meg, hogy ''''Written 0 WPA..'''', az azt jelenit, hogy nem tartalmazott handshake-t a .cap fájl, nem sikerült felvenni egy újracsatlakozást sem. Mindig várjuk meg, hogy a monitorozás alatt megjelenjen jobb fölül a 'WPA Handshake' felirat.}}
<br>
 
=Hash visszafejtése=
Az itt leírtakat bármilyen jelszó feltörésére használhatjuk, nem csak WPA, mindösszesen a '''haschat''' paraméterezésén kell változtatni, ha nem WPA hash-t akarunk törni.
 
==GPU rig használata==
Hogyan telepítsük + gui: https://www.shellntel.com/blog/2017/2/8/how-to-build-a-8-gpu-password-cracker<br>
:[[File:ClipCapIt-180726-135111.PNG]]
 
<br>
Célszerű betartani egy sorrendet az egyszerűtől a nagyon bonyolultig. Elsőként mindig próbáljuk meg szimplán a szótár alapú törést használni. Ekkor egy szótár fájl minden egyes sorára egyenként rápróbál a hashcat. Ha ez nem működött érdemes a kombinált törést alkalmazni, amikor több szótár fájl tartalmát permutáljuk. Ha ez is kevés, akkor számokat is hozzá adhatunk. Ha még ez sem segített, csak akkor érdemes a brute-force visszafejtés.
</pre>
A jelszó az utolsó mező, előtte van a hálózat neve.
 
 
<br>
Mivel nagyon sokáig is futhat a hashcat, célszerű a screen programmal futtatni. A háttérben fog futni, de bármikor rá tudunk újra csatlakozni a konzolra:
# /usr/bin/screen -d -m -S minerscreen ./hashcat64.bin ...paraméterek ...
 
# /usr/bin/screen -d -m -S minerscreen /home/adam/hashcat/hashcat64.bin -m 2500 -a 1 -o cracked.txt myhash.hccapx rockyou.txt
 
Visszacsatlakozás a konzolra:
# screen -r
 
Majd a Crtl+a+d-vel tudunk lecsatlakozni a konzolról.
<br>
<br>
 
===Kombinált szótár alapú keresés===
https://www.4armed.com/blog/hashcat-combinator-attack/
./hashcat64.bin -m 2500 -a 1 -o cracked.txt psk3-03.hccapx rockyou.txt
</pre>
 
 
{{note|Gyakran tudjuk hogy a szálloda neve nyilván benne van a jelszóban vagy hogy a jelszó végén egy évszám van. Ezért csinálhatunk olyan szótárakat amiben az utolsó 10 éve évszámait soroljuk fel, és ezt adjuk meg második szótár fájlnak, vagy csinálhatunk olyan fájlt, amiben a szálloda neve van variálva, és ezt kombináljuk össze egy ismert szó gyűjteménnyel. (persze ezt csak hipotetikusan írtam le, sose próbáltam ki)}}
<br>
<br>
 
===Kombinált szótár alapú keresés számokkal===
{{tip|A rockyou.txt szótárban sok szó megtalálható számokkal kombinálva}}
</pre>
Ezzel megadtuk, hogy az 1-es karakter halmazt az angol ABC kis és nagybetűi alkotják. Tehát a 2. karaktere a jelszónak az angol ABC kis és nagybetűi közül kell hogy kikerüljön.
<pre> .. -2 ?d@&# ...
Ezzel azt mondtuk meg, hogy a 2-es karakter készletbe a számok tartoznak bele valamint a @,& és #. Tehát a jelszó 3. karaktere vagy egy szám vagy a @,& vagy #.
<br>
A következőkben feltételezzük, hogy a jelszó első 5 karakter kisbetű, és csak az utolsó 3 lehet szám is vagy betű (l ill 1)
<pre>
HWMon.Dev.#3.....: Temp: 51c Fan: 0% Util: 99% Core:1404MHz Mem:3903MHz Bus:1
</pre>
 
 
A státusz háromféle lehet:
* '''running''': még fut.
* '''cracked''': Megtalálta a jelszót. A -o-val megadott fájlba rakta.
* '''exhausted''': végig ment a teljes megadott karakter univerzumon, de nem találta meg a jelszót
 
 
 
<br>
<br>
==GPU hash szolgáltatók==
===gpuhash.me===
A https://gpuhash.me/ 0.001 BTC-t kér a törésért, amit kevesebb mint 15 perc alatt el is végeztek. Figyelemre méltó. Ráadásul csak akkor kell kifizetni, ha meg is találta. <br>Képes brute-force törésre is, de az sokkal többe kerül, kb 0.005 BTC.
:[[File:ClipCapIt-180725-221753.PNG]]
Valamivel olcsóbb, mert csak 5 eurót kérnek a törését, és email címet is kérnek, ahol értesítenek, tehát kevéssé diszkrét.
 
 
<br>
=WEP hálózat feltörése=
 
https://www.aircrack-ng.org/doku.php?id=simple_wep_crack