Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

A Wi-Fi hálózat jelszava

Az
alábbiakban a saját mobil hotspot-om jelszavát töröm fel a Kali Linux és az
aircrack-ng segítségével.

Elfelejtett
jelszó lekérdezése



Az operációs
rendszerek külön profilt készítenek minden Wi-Fi hálózatnak, amire rácsatlakoztak
és ez nem veszik el hacsak manuálisan el nem felejtettjük az adott hálózatot. A
profilokból kideríthető többek között a jelszó is.




Windows
  • Indítsunk
    el parancssort adminisztrátor módban, majd gépeljük be a netsh wlan show
    profile
    parancsot. Ez egy Network Shell utasítás, ami kilistázza a Wi-Fi
    hálózati profilokat. A profil neve a hálózat nevével egyezik.

  • A
    kilistázott profilok közül válasszuk ki azt a hálózatot, amelyik jelszavára
    szükség van, például „KnetAP”, majd gépeljük be a netsh wlan show profile
    name="KnetAP" key=clear
    parancsot. Ez az utasítás kilistázza a
    kiválasztott profil beállításait, köztük a jelszót olvasható formában.

  • A
    megjelenített adatok közül a Key Content mező tartalmazza a jelszót.
Linux
  • Indítsunk
    el parancssort, majd gépeljük be az ls
    /etc/NetworkManager/system-connections
    parancsot. Ez kilistázza a
    system-connections könyvtárban lévő fájlokat. Mindenik fájl egy hálózati
    konfigurációs fájl, ami az eddig használt hálózatok beállításait tartalmazza. A
    fájlok neve a hálózat nevével egyezik.

  • A
    fájlok közül válasszuk ki azt, amelyik nevében szereplő hálózatot jelszavára
    szükség van, például „KnetAP”, majd gépeljük be a sudo cat
    /etc/NetworkManager/system-connections/KnetAP.nmconnection
    parancsot. Ez az
    utasítás megjeleníti a kiválasztott fájl tartalmát
  • A
    megjelenített adatok közül a psk mező tartalmazza a jelszót.

Jelszó megfejtése


Az egyik
legmegbízhatóbb módszert a számítógépes hálózatokba való behatoláshoz a Kali
Linux operációs rendszer nyújtja, pontosabban a vele érkező programcsomagok
sokasága. Az egyszerűség kedvéért egy előre elkészített VMware képfájlt
töltöttem le a kali.org oldalról, amit a szintén ingyenes VMware Playerrel
lehet megnyitni. A boot-olást követően a kali felhasználónévvel és
jelszóval lehet belépni az operációs rendszerbe.


Mielőtt
bármit is tennénk frissítsük a rendszer komponenseit a következő parancsokkal:,
  • sudo apt update
  • sudo apt upgrade

1. A környező Wi-Fi hálózatok felderítése


Első
lépésként azt kell kideríteni, hogy a feltörendő Wi-Fi hálózatra rá van-e már
valamilyen eszköz csatlakozva. Ez csak akkor látszik, ha van adatforgalom. A
Kali Linux egyik legerősebb eszköztára az Aircrack-ng, mely kifejezetten Wi-Fi
hálózatok támadására lett tervezve.
  • iwconfig
    -
    kilistázza az vezetéknélküli hálózati adaptereket. A wlan0 egy USB Wi-Fi
    adapter.
  • iw
    list

    kilistázza a kártya képességeit. A Supported interface modes alatt szerepelnie
    kell a monitor módnak.
  • sudo
    airmon-ng check kill
    -
    megtisztítja az Aircrack-ng környezetét a zavaró folyamatoktól.
  • sudo
    airmon-ng start wlan0

    utasítás monitor módba kapcsolja a wlan0 (wlan0mon-ra változik)
  • sudo
    airodump-ng wlan0mon
    -
    kilistázza az elérhető Wi-Fi hálózatokat és a rájuk csatlakozó eszközök fizikai
    címeit. A folyamatból Ctrl+C-vel lehet kilépni.
  • A
    felső táblázatból a következő adatok fontosak:
    • A KnetAP
      router fizikai címe (BSSID): EC:10:7B:0D:C5:2B
      • Ha az
        ESSID üres, akkor rejtett az adott hálózat.
    • A
      router csatornája (CH): 6
  • sudo airodump-ng
    wlan0mon --bssid
    [router
    MAC] --channel 6  - kilistázza a routerre
    csatlakozott klienseket, melyek adatcserét folytatnak a 6-os csatornán.
  • A
    második táblázatból derül ki, hogy a 00:0C:F1:2F:D5:C2 a KnetAP-re csatlakozik.
    • Ha
      netalán MAC szűrés van a hálózaton, akkor már tudjuk, hogy ez a MAC cím
      hozzáférhet a hálózathoz
    • Ha a
      MAC nem volt manuálisan megváltoztatva, akkor egy Online MAC lookup oldalon ki
      lehet deríteni, hogy milyen gyártmányú készülékről van szó. Ezáltal
      kiszemelhető egy kevésbé érzékeny készülék, aminek nem probléma ha egy
      pillanatra lecsatlakozik a hálózatról.

2. A Wi-Fi-re csatlakozott eszközök kényszerített lecsatlakoztatása


A harmadik
lépés megfigyelni egy hitelesítési adatcserét. Ehhez kényszeríteni lehet az első
lépésben kiválasztott klienst, hogy újra kapcsolódjon.
  • sudo aireplay-ng
    --deauth 0 -c
    [kliens
    MAC] -a [router MAC] wlan0mon – folyamatos lecsatlakoztatási
    parancsot küld a klienseknek és a routernek. Ha a -c [kliens MAC] paraméter
    hiányzik, akkor minden kliens megkapja a parancsot.

Amint megszűnik a
végtelen (0) támadás (Ctrl + C), a kliens azonnal visszacsatlakozik a
hálózatra.



Ennél a pontnál kétféleképp lehet folytatni:
  1. Ha nem
    igényel emberi interakciót a készülék a működéshez (pl. webkamera), akkor a
    visszacsatlakozásnál elküldött csomagokat kell befogni és valamilyen bruteforce
    módszerrel feltörni titkosított jelszót.
  2. Számítógép
    / telefon esetén klónozni lehet a routert és rávenni a klienst, hogy a klónra (Evil
    twin) csatlakozzon.
  • A
    jelszót egy hamis bejelentkezési oldallal lehet megszerezni, ami a
    felhasználótól kéri a Wi-Fi jelszót.
  • Minden
    további adatforgalmat követni lehet, amíg a kliens a klónra van csatlakozva
    (=adathalászat)
A
második módszer csak emberi beavatkozással működhet és egy hamis weboldal gyanússá
válhat a felhasználó számára, ha nem tökéletes, ráadásul fizikailag a közelben
kell tartózkodni amíg az események zajlanak. Az első módszernél ezzel
ellentétben a befogott csomagokat offline kell feltörni. A jelszó megfejtése
azonban hosszabb időbe kerül, a jelszó bonyolultságának függvényében.

3. A hitelesítési adafolyam befogása


Két terminálra
van szükség. Az egyikben a csomagokat befogó parancs fut az első lépésből (csak
most fájlba menti), a másikban a lecsatlakoztatós támadás a második lépésből
(csak most elég lesz 5 támadás).
  • sudo
    airodump-ng wlan0mon
    --bssid
    [router MAC] --channel 6 -w csomagok – a „csomagok” fájlba menti a
    router 6-os csatornáján közlekedő összes adatcsomagot.
  • (másik
    terminál) sudo aireplay-ng --deauth 5 -c [kliens MAC] -a [router
    MAC] wlan0mon – 5 lecsatlakoztatási támadást indít a kliens ellen. Amíg
    ez fut, a kliens újra csatlakozni próbál, ami megjelenik az első terminál jobb
    felső sarkában: WPA handshake: kliens MAC
  • A
    fájlok a Home könyvtárban lesznek, hisz onnan volt a parancs elindítva. Ebből
    csak a .cap kiterjesztésűre van szükség.
  • sudo
    aircrack-ng csomagok-01.cap

    azonosítja a befogott csomagok közül a handshake-et
  • sudo
    airmon-ng stop wlan0mon

    kikapcsolja a Wi-Fi kártya monitor módját
  • sudo
    service NetworkManager start

    elindítja a Kali Linux hálózatkezelőjét

4. A hitelesítő adatcsomag megfejtése


Ebben
a lépésben már nincs szükség a hálózat lefedettségében lenni. A WPA2 protokoll handshake-je
egy négylépéses kulcs csere, aminek folyamata a következő:

  1. ANonce
    – egy véletlenszerű számsor, amit a hitelesítő küld a kliensnek.
  •  A
    kliens ezután generál egy SNonce véletlen számot
  • A
    kliens generál egy PTK-t, ami egy kulcs a további adatforgalom titkosítására.
    •  PTK =
      PRF(PMK + ANonce + SNonce + MAC(kliens) + MAC(router))
    • PMK –
      mesterkulcs amit a kliens és a router is ismer. Ezt kell majd visszafejteni.
      • PMK = PBKDF2(HMAC−SHA1,
        PSK, SSID, 4096, 256)
      • PBKDF2
        - Password-based Key Derivation Funtion 2
      • HMAC−SHA1
        – titkosító algoritmus
      • PSK – jelszó
      • SSID –
        a hálózat neve (KnetAP)
      • 4096 –
        az iterációk száma
      • 256 –
        a PMK hosszúsága
    • PRF – pszeudo-random
      függvény
  • A PTK hossza
    512 bit, ami fel van darabolva:
    • 128
      bit – Key Confirmation Key (KCK) – a MIC létrehozásához szükséges.
    • 128
      bit – Key Encryption Key (KEK) – a titkosításhoz szükséges.
    • 128
      bit – Temporal Key (TK) – Unicast csomagok titkosítására és visszafejtésére.
    • 128
      bit – MIC Tx és Rx – Az unicast csomagokat titkosító TKIP algoritmus használja
  • SNonce
    + MIC – ahol a MIC (Message Integrity Check) = 
    HMAC_SHA1(KCK, SNonce, r)
    • HMAC_SHA1
      – titkosító algoritmus
    • KCK –
      a PTK első 128 bitje
    • r –
      szekvenciaszám, hogy ugyanazt az üzenetet ne lehessen kétszer felhasználni
  • GTK +
    MIC – ahol a MIC a router PTK-jának KCK részét használja a kódoláshoz.
    • GTK
      (Group Temporal Key) = PRF-256(GMK, “Group key expansion”, MAC(router)||GNonce)
      • PRF-256
        – pszeudo-random függvény
      • GMK (Group
        Master Key) – egy random szám amit a hitelesítő router időnként generál
      • Gnonce
        – egy random szám amit a router a hitelesítés során generál
    • MIC =
      HMAC_SHA1(KCK, GTK, r)
  • ACK – a
    hitelesítés nyugtázása
  • A Hitelesítés végső
    soron a MIC-ek összehasonlításával történik. Ha a kliens és a hitelesítő által
    generált MIC-ek találnak a második üzenetet követően, akkor a PTK kulcsok is
    találnak, hisz ezekből vannak származtatva. Ha a PTK egyezik, akkor a PMK is
    egyezik, ami csak akkor egyezhet, ha a jelszó helyes. Ezután a router elküldi a
    GTK kulcsot amit a kliens telepít és nyugtáz.



    A feltörő program
    feladata tehát hogy a befogott handshake adatokból (ANonce, SNonce) és egy
    adott jelszóból előállítsa a PMK-t, a PTK-t majd a MIC-ket és összehasonlítsa a
    handshake-ben található MIC-kel.

    A befogott csomagok-01.cap fájl-ban a 4 adatfolyam a
    következő:


    1. Az
    első üzenet az ANonce véletlenszámot (WPA Key Nonce):


    2. A
    következő üzenet az SNonce + MIC


    Ez a két üzenet már
    elegendő információt biztosít, hogy a helyes MIC kulcsot ki lehessen számítani
    különböző jelszavak próbálgatásával.



    Az aircrack-ng egy előre meghatározott jelszólistából
    próbálgatja végig a jelszavakat. A jelszólistát le lehet tölteni nagyméretű
    fájl formájában, amely a leggyakrabban használt jelszavakat tartalmazza.  Ezen kívül használható olyan segédprogram
    melyek jelszólistát generál a hálózat gazdájának személyes adatai vagy megadott
    karakterek alapján. A Kali Linuxban ilyen a crunch. Ismerve e jelszót
    alkotó 9 karaktert, az egyszerűség kedvéért kizárólag ezek ismétléses variációit
    (9
    ^9)
    generáltam le a crunch programmal, de így is 384 millió jelszó készült. A fájl
    mérete 3,6GB.


    A
    keresett jelszó benne van, tehát működni fog a lista.
    • aircrack-ng
      -a2 -b
      [router
      MAC]
      -w
      jelszavak.txt csomagok-01.cap
      • a1 –
        WEP protokoll, a2 – WPA/WPA2 protokoll

    A Kali Linux
    virtuális gépként való futásának az a hátránya, hogy kizárólag a CPU
    teljesítményét képes használni a számításokra. A program egy Intel Core i7-10850H
    @ 2.7GHz (12CPU)
    processzorral 2
    ,5 óra alatt próbált végig 87 millió kombinációt mire eljutott a helyes
    jelszóig. Egy GeForce GTX 1080 GPU ezt néhány másodperc alatt végrehajthatta
    volna.



    A kadon2184 jelszó bár nem tartalmaz speciális
    karaktereket, mégis erősnek számit, mert nem tartalmaz értelmes szót vagy
    személyes adatot. Sok jelszó esetén a speciális karakterek illetve számok
    értelmes szavakban helyettesítenek betűket, mint az a
    =@, i=1, e=3, s=$, i=!, n=^ amiket ismernek a jelszógeneráló programok is. A
    bruteforce legnagyobb ellensége a hosszú jelszó, illetve az azt értelmetlenné
    tévő automatikus beillesztések – amikor a begépelt jelszóhoz a felhasználói
    felület karaktereket illeszt különböző helyekre mielőtt elküldené a szervernek
    (pl. ka%2fdo%8dn2
    %4s18%2f4),
    így hiába fejti bárki vissza a jelszót az elcsípett adatforgalomból, az úgysem
    fog működni amikor közvetlenül begépelik, hacsak nem ismeri a beillesztési sémát.



    This post first appeared on Altair Gate - News, please read the originial post: here

    Share the post

    A Wi-Fi hálózat jelszava

    ×

    Subscribe to Altair Gate - News

    Get updates delivered right to your inbox!

    Thank you for your subscription

    ×