Bezbednosni problemi WEP kriptovanih WiFi mreža

Da li ste se ikada zapitali koliko je zapravo sigurna vaša WiFi mreža koju svakodnevno koristite za lične ili poslovne potrebe? U svetu gde je digitalna povezanost imperativ, važno je razumeti potencijalne ranjivosti koje vrebaju iz pozadine. Kroz ovaj članak, pružićemo vam kratak i konzican vodič o WiFi bezbednosti. Sve što vam je potrebno jeste poznavanje osnovnih tehnologija i želja za učenjem.

U uvek promenljivom svetu sajber bezbednosti, mrežna bezbednost ostaje ključna briga, kako za organizacije tako i za pojedince. Neprekidni rast bežičnih mreža, zajedno sa njihovim ranjivostima, doveo je do razvoja različitih sigurnosnih protokola i praksi kako bi se zaštitili osetljivi podaci. Jedan od najozloglašenijih sigurnosnih protokola koji je stekao loš rejting zbog svojih ranjivosti je WEP ( Wired Equivalent Privacy ). Kroz ovu vežbu, detaljno ćemo istražiti koncepte i sprovesti korake koji uključuju probijanje WEP „zaštićene“ bežične mrežu, mapiranje njene strukture i presretanje saobraćaja – sve dok istovremeno ističemo važnost razumevanja ovih tehnika za održavanje mrežne bezbednosti.

Napomena: Vežba preuzeta sa: https://cryptojedi.org/peter/teaching/netsec2018/assignment2.pdf

Pregled vežbe

Na početku ovog kratkog ali uzbudljivog putovanja kroz svet mrežne sigurnosti, garantujemo da ćete na kraju steći ključne uvide u važnost zaštite vaše WiFi mreže. Kroz ovaj članak, pružamo vam:

  • Duboko razumevanje WiFi zaštite: Otkrijte zašto je ključno zaštititi svoju WiFi mrežu i šta vam to znači.
  • Ključni aspekti bezbednosti: Upoznajte se sa konceptom penetration testinga i koje su to ključne komponente u ocenjivanju mrežne bezbednosti.
  • Savladavanje WEP slabosti: Razotkrijte nedostatke WEP zaštite i saznajte zašto je ovaj protokol prevaziđen.
  • Moderni protokoli vs. WEP: Uporedite WEP sa novijim i sigurnijim alternativama kao što je WPA2 kako biste bolje razumeli razlike i prednosti.
  • Priprema za mapiranje mreže: Naučite kako se pripremiti za mapiranje mreže, korak koji je ključan za uspešno testiranje probijanja.
  • Upoznajte se sa Aircrack-ng: Naučite kako ovaj moćan alat omogućava analizu i probijanje šifri, posebno fokusirajući se na WEP protokol. Otkrijte korake za izvođenje ovih napada i kako se aircrack-ng koristi za dešifrovanje saobraćaja.
  • Analiza upotrebom Wireshark-a: Pomoću Wireshark-a otkrijte kako se analizira saobraćaj na mreži i kako se identifikuju ranjivosti. Pogledajte kako se možete zaštititi analizom saobraćaja.
  • Arpspoof i njegova primena: Savladajte koncept ARP spoofing-a, tehnike koja omogućava preusmeravanje saobraćaja na vašu mašinu. Saznajte kako ovo može biti iskorišćeno za presretanje podataka i kako se zaštititi od ovakvih napada.

Kroz ove jasno definisane korake, pružićemo vam sveobuhvatan uvid u mrežnu sigurnost i omogućiti vam da steknete veštine potrebne za zaštitu vaše bežične mreže.

Alati koje ćemo koristiti:

Za instalaciju alata koje ćemo koristiti, na distribuciji Ubuntu 23.04, u terminalu pokrenite komande:

# apt update
# apt install aircrack-ng wireshark dsniff

Važna napomena: Alate ne kompajlirati iz preuzetog izvornog koda sa sajta već koristiti paket menadžere Linux distribucije koju koristite, kao na primeru iznad. Alat arpspoof nije zaseban alat, već predstavlja deo skupa alata za „njuškanje“, napad i analizu mrežnog saobraćaja dSniff.

Mnoge komande u ovoj vežbi treba da se izvršavaju sa root pravima. Ovo je označeno prefiksom #. Kada komandu treba pokrenuti bez root prava, imaće prefiks $.

Analiza WEP i WPA2 protokola

WEP ( Wired Equivalent Privacy ) je enkripcijski algoritam koji je nekada bio široko korišćen za obezbeđivanje bežičnih mreža. Ovaj sigurnosni protokol je definisan u IEEE Wireless Fidelity (Wi-Fi) standardu 802.11b i prvobitno je osmišljen kako bi pružio bežičnim lokalnim mrežama (WLAN) nivo bezbednosti sličan onome koji se očekuje od žičanih LAN mreža.

Karakterističan po ključu od 10 ili 26 heksadecimalnih cifara (40 ili 104 bita), WEP je bio čest izbor korisnika i često je bio ponuđen kao prva opcija za sigurnost putem alata za konfiguraciju rutera. Međutim, WEP je pokazao značajne slabosti. Dizajniran da obezbedi isti nivo sigurnosti kao žičane LAN mreže, WEP je postao lak plen za napadače zbog nedostatka adekvatnih zaštitnih mehanizama.

Kada razmatramo razlike između WEP (Wired Equivalent Privacy) i WPA2 (Wi-Fi Protected Access 2) protokola koji je de-facto podrazumevani protokol danas, suočavamo se sa ključnim pitanjima vezanim za bezbednost. Ovaj protokol je ranjiv na razne vrste napada, uključujući napade usmerene na slabu inicijalizaciju vektora (IV), prekratak ključ i ranjive kripto-algoritme. Ova kombinacija slabosti omogućava napadačima relativno lako „dešifrovanje“ saobraćaja, otvarajući vrata za krađu osetljivih informacija.

Kako WEP radi?

WEP koristi RC4 algoritam za kriptovanje paketa dok se šalju sa pristupne tačke ili bežične mrežne kartice. Čim pristupna tačka primi pakete poslate od strane korisnikove mrežne kartice, dekriptuje ih.

Originalne implementacije WEP-a podržavale su ključeve od 40 bita plus dodatnih 24 bita sistemski generisanih podataka, što dovodi do ukupne dužine ključeva od 64 bita. Kada se primeni preko Wi-Fi veze, WEP kriptuje tok podataka koristeći ove ključeve, tako da više nije čitljiv čoveku, ali ga i dalje mogu obraditi uređaji koji ga primaju.

Sami ključevi se ne šalju preko mreže, već se čuvaju na bežičnom mrežnom adapteru ili u Windows registru.

https://www.researchgate.net/figure/Schematics-of-the-Wired-Equivalent-Privacy-WEP-protocol-used-to-control-access-to-the_fig1_250756421

Mane dizajna WEP protokola

Integritet paketa se proverava pomoću Cyclic Redundancy Check (CRC32) algoritma. Međutim, ovakva provera integriteta može biti narušena „hvatanjem“ najmanje dva paketa. Napadač može da izmeni bitove u kriptovanom toku i kontrolnu sumu kako bi paket bio prihvaćen od strane sistema za autentifikaciju. Ovo može dovesti do neovlašćenog pristupa mreži. Takođe, WEP koristi RC4 enkripcijski algoritam za kreiranje tokovnih šifara. Ulaz u tok šifri sastoji se od početne vrednosti (IV) i tajnog ključa. Dužina početne vrednosti (IV) je 24 bita, dok tajni ključ može biti dužine od 40 ili 104 bita. Ukupna dužina i početne vrednosti i tajnog ključa može biti 64 ili 128 bita. Manja moguća vrednost tajnog ključa olakšava njegovo narušavanje.

https://security.stackexchange.com/questions/17434/how-does-wep-wireless-security-work

Ovakvi nedostaci WEP-a čine ga podložnim raznim napadima. Uprkos svom prvobitnom širokom prihvatanju, WEP je vremenom zamenjen naprednijim protokolima poput WPA2, kako bi se obezbedila adekvatna sigurnost bežičnih mreža.

S druge strane, WPA2 donosi ozbiljna poboljšanja u bezbednosti bežičnih mreža. Uvođenjem AES enkripcije (Advanced Encryption Standard) i podrške za individualne ključeve za svakog korisnika, WPA2 pruža veći stepen sigurnosti. Ovaj protokol dodatno koristi TKIP (Temporal Key Integrity Protocol), kako bi se sprečili napadi povezani sa IV vektorima. Složeniji autentifikacioni mehanizmi i snažnija zaštita ključeva čine WPA2 pouzdanim izborom.

Važna napomena: Kako biste efikasno zaštitili svoju Wi-Fi mrežu od potencijalnih napada i neovlašćenog pristupa, preporučujemo da pređete na WPA2-AES protokol. WPA2-AES pruža trenutno najveći nivo bezbednosti.

Priprema i mapiranje mreže

Da bi uspešno izveli napad, mrežna kartica mora podržavati monitor mode (režim nadgledanja). Prvo se diskonektujemo sa svake bežične mreže a zatim privremeno isključujemo svaki softver za upravljanje mrežom (na primer, u Ubuntu-u: sudo systemctl stop NetworkManager). Zatim saznajemo ime bežičnog interfejsa (u Ubuntu-u: iw dev), a najčeće je u formatu wlan0 ili wlpXsY.

Izdajemo komande zamenjujući svoje ime interfejsa umesto wlan0:

# airmon-ng stop mon0
# airmon-ng start wlp3s0

Ukoliko dobijete poruku u formatu:command failed: operation not supported“, mrežna kartica u tom slučaju ne podržava monitor mod.

Mapiranje mreže

Kada smo karticu prebacili u monitor mod, radimo mapiranje:

# airodump-ng wlp3s0

Ova komanda će nam prikazati listu bežičnih mreža koje naša kartica registruje, njihov nivo sigurnosti, MAC adrese pristupnih tačaka (BSSID), kanal na kojem operišu (CH) i još neke informacije (snaga signala, stopa prenosa paketa). Identifikujemo ime ciljane mreže, MAC adresu pristupne tačke i kanal. Mrežu koju napadamo prvo nalazimo preko ESSID-a (naziva) a u nastavku ćemo je identifikovati prema BSSID-u. Takođe, ova lista nam prikazuje klijente bežičnih mreža („stanice“). Koristeći informacije o ciljanoj mreži, identifikujemo klijente koji su povezani sa ciljnom mrežom i beležimo njihove MAC adrese.

Izlistane mreže nakon pokretnja komande airodump-ng nad mrežnim interfejsom

Najpotrebnije informacije o mreži koje su nam potrebe označene su na slici iznad.

Razbijanje WEP šifre se postiže „hvatanjem“ dovoljnog broja paketa sa mreže kako bi se omogućili kriptografski napadi. Trenutno najperformantnija je PTW tehnika kojom 64-bitni ključ možemo razbiti nakon samo 20 hiljada „uhvaćenih“ paketa na korišćene algoritme za enkripciju ključa (RC4 algoritam). Hvatanje paketa se takođe vrši pomoću alata airodump-ng, uz korišćenje dodatnih opcija:

airodump-ng -c {channel} --bssid {target BSSID} -w {output files} {wlan interface}

Potrebno je upisati vrednosti za kanal i BSSID koje smo ranije zabeležili, kao i naziv output fajlova u koje će informacije o „uhvaćenim“ paketima biti upisane i naziv mrežnog interfejsa, pa stoga pokrećemo komandu:

# airodump-ng -c 1 --bssid 34:DA:B7:B1:58:3B -w pentesting wlp3s0mon

Pokretanjem ove komande dobijamo interfejs sličan prikazanom na slici iznad, s tim što je mreža koju sada targetujemo izolovana, imamo uvid u sve klijente koji sa njom razumenjuju pakete i samim tim ovde zapravo počinjemo proces mapiranja mreže, tj „hvatanja paketa“:

Informacije o izolovanoj mreži koja se napada nakon airodump-ng komande

Ovde nam je trenutno bitan broj paketa koji su klijenti razmenili sa mrežom i koje smo uhvatili. Kada dostignu cifru od oko 15 hiljada paketa, možemo zapravo započeti proces razbijanja šifre koristeći gore pomenute tehnike.

Razbijanje WEP šifre

Osnovna ideja je da se što više šifrovanog saobraćaja uhvati koristeći alat airodump-ng. Svaki WEP paket ima pridruženi inicijalni vektor (IV) od 3 bajta: nakon što se sakupi dovoljan broj data paketa, pokrećemo aircrack-ng na prehodno dobijeni fajl sa informacijama o paketima:

sudo aircrack-ng --bssid {target BSSID} {output packages file}
# aircrack-ng --bssid 34:DA:B7:B1:58:3B pentesting-01.cap

Aircrack komanda pokreće PTW napad (koji smo pominjali u sekciji Mapiranje mreže) i nakon određenog vremena, ako je razbijanje bilo uspešno, kao rezultat vraća razbijenu šifru:

Tok rada i funkcionisanje aircrack-ng alata pri razbijanju šifre

Napomena: U zavisnosti od jačine šifre i količine uhvaćenih paketa zavisi i vreme za koje se može razbiti šifra.

Analiza „uhvaćenih“ paketa

Nakon što smo uspešno sakupili dovoljno podataka o transmitovanim paketima, sada je vreme da zagrebemo dublje u analizu saobraćaja. Ovo će nam omogućiti da otkrijemo više o samoj mreži i saznamo zanimljive informacije o komunikaciji klijenata sa access point-om.

Analiziraćemo fajl „pentesting-01.cap“ koji smo dobili koristeći airodump-ng komadu u alatu Wireshark:

$ wireshark pentesting-01.cap

Međutim, primetićemo da ima vrlo malo korisnih informacija. Ovo je delimično zato što su podaci u fajlu kriptovani. Takođe, većina podataka se sastoji od kontrolnih i acknowledgment paketa i bezbednosnih mehanizama koje koristi mreža.

Analiza enkriptovanog mrežnog saobraćaja u Wireshark alatu

Nakon istraživanja analitičkih alata u Wireshark-u ( „Analyze“ i „Statistics“ alati), možemo da primetimo da klijenat sa MAC adresom 8A:B4:18:9E:29:36 izgleda veoma aktivno na mreži i češto komunicira sa access point-om mreže.

Međutim, većina informacija nam je i dalje nedostupna (nemamo pristup sadržaju komunikacije između rutera i klijenta) zato što je fajl kriptovan.

Za dekripciju fajla sa podacima o paketima koristićemo airdecap-ng alat, pa pokrećemo komandu, kojoj kao parametre prosleđujemo heksadecimalnu vrednost dobijenog ključa, kao i fajl sa podacima o paketima:

# airdecap-ng -w 706F706F7669636C35362A3132 pentesting-01.cap

Nakon izvršenja komande, u terminalu dobijamo informacije o broju dekriptovanih WEP paketa:

Informacije o statusu dekripcije enkriptovanog mrežnog saobraćaja upotrebom airdecap-ng alata

A kada dekriptovani fajl otvorimo u alatu Wireshark, sada imamo pristup i „prepisci“ koju razmenjuju ruter i klijenti, njihovim IP adresama, kao i samim paketima prilikom komunikacije:

Dekriptovan mrežni saobraćaj prikazan u alatu Wireshark

Zatim pristupamo komunikaciji između uređaja čiju smo MAC adresu ranije zapamtili i access point-a:

Analiza konverzacije između klijenata i access-point-a u Wireshark alatu

ARP spoofing

ARP spoofing je tehnika kojom napadač šalje lažne ARP (Address Resolution Protocol) poruke na lokalnu mrežu. Najčešće, cilj je da se napadačeva MAC adresa poveže sa IP adresom nekog drugog uređaja, čime se sav saobraćaj namenjen toj IP adresi umesto toga šalje napadaču. ARP spoofing omogućava napadaču da presretne okvire podataka na mreži, modifikuje saobraćaj ili zaustavi sav saobraćaj.

Koncept ARP spoofing-a

Ako želite da saznate više o ARP Spoofing tehnici i njenom značaju u svetu mrežne bezbednosti, pogledajte naš članak ARP spoofing.

Naši preostali ciljevi u toku ovog napada jesu da lažiramo (spoof-ujemo) jedan od endpoint-a i napadnemo konverzaciju koju smo u prethodnom koraku zabeležili, a onda i da presretnemo podatke namenje klijentu koji učestvuje u konverzaciji .

Omogućavnje prosleđivanja IP paketa

Prosleđivanje IP adresa je sposobnost operativnog sistema da prihvati dolazne mrežne pakete na jednom interfejsu, prepozna da nisu namenjeni samom sistemu, već da treba da budu prosleđeni drugoj mreži, i zatim ih prosledi kako treba.

https://cacm.acm.org/magazines/2021/6/252822-securing-internet-applications-from-routing-attacks/fulltext Napadi korišćenjem rutiranja i IP forwarding-a

Da bismo uspeli da redirektujemo saobraćaj sa klijenta na našu mašinu, moramo da omogućimo IP forwarding.

Počećemo tako što se prvo povežemo na mrežu koju napadamo uz pomoć ključa koji smo izvukli ranije. Ta mreža mora da ima omogućen DHCP servis. Većina ih ima.

Pokrećemo Wireshark i puštamo ga da „prisluškuje“ naš wireless interfejs, tj. da beleži sve pakete i komunikaciju koja se odvija preko tog interfejsa.

Sada pingujemo IP adresu klijenta koju smo zabeležili u prethodnim koracima i koji učestvuje u konverzaciji koju napadamo:

Testiranje komunikacije između napadnutog klijenta i rutera

Vidimo da se odvija komunikacija između access point-a i uređaja koji ćemo napasti, a da se svakako koristi ARP protokol. Slaćemo lažne ARP poruke na mrežu u cilju povezivanja klijentove IP adrese na našu MAC adresu.

Omogućavamo IP forwarding komandom:

# sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Spoofing

Sada možemo koristiti arpspoof alat da prevarimo endpoint koji šalje podatke u konverzaciji, da te podatke pošalje nama umesto endpoint-u kome su ti podaci zapravo namenjeni. Mi onda prosleđujemo podatke dalje (komunikacija između rutera i klijenta se sada odvija preko nas, tj. mi imamo uvid u sve te podatke, pa okidamo komandu:

# -s arpspoof -i wlp3s0 -t 192.168.1.7 192.168.1.1

kojoj kao parametre prosleđujemo wireless interfejs, IP adresu „mete“ koju napadamo i čiji saobraćaj želimo da preusmerimo na našu mašinu, i na kraju IP adresu access point-a.

Izvođenje ARP napada

Pokretanjem ove komande izvodimo ARP prevaru, gde se saobraćaj od 192.168.1.7 (IP adresa klijenta kog napadamo) preusmerava na uređaj sa MAC adresom f8:28:19:d8:ee:9b (uređaj sa kojeg vršimo napad). Primenom odgovarajućeg Wireshark filtera:

(arp.src.hw_mac == 8a:b4:18:9e:29:36 or arp.dst.hw_mac == 8a:b4:18:9e:29:36) or (ip.src == 192.168.1.7 and ip.dst == 192.168.1.1) or (ip.src == 192.168.1.1 and ip.dst == 192.168.1.7)

Dobijamo pakete iz komunikacije između napadnutog klijenta i rutera:

Analiza mrežnog saobraćaja nakon ARP napada u Wireshark alatu

Analizom konverzacija dobijamo uvid kako teče razmena podataka:

Analiza izolovane konverzacije napadnutog klijenta i rutera nakon ARP napada

Klijent sa MAC adresom 8a:b4:18:9e:29:36 šalje pakete, misleći da ih šalje ruteru sa adresom 34:da:b7:b1:58:3b. Međutim, kako smo izveli spoofing, ti paketi stižu na našu mašinu sa adresom f8:28:19:d8:ee:9b. Sada možemo te pakete da menjamo ili samo da ih prosledimo pravom ruteru.

Zaključak

Bavili smo se praktičnim eksperimentima vezanim za bezbednost bežičnih mreža. Kroz niz koraka, imali smo priliku da bolje razumemo ranjivosti i potencijalne napade.

U prvoj fazi, proučavali smo razlike između sigurnosnih protokola WEP i WPA2, sa posebnim naglaskom na slabosti WEP-a koje ga čine lakom metom za napadače. Kroz ovu analizu, postalo je jasno da je WEP zastareo i neadekvatan za osiguranje savremenih bežičnih mreža. Da biste zaštitili svoje podatke i privatnost, ne zaboravite da pređete na sigurniju i moderniju opciju kao što je WPA2-AES.

Nastavljajući sa analizom, koristili smo alate poput Wireshark-a i arpspoof-a kako bismo se praktično upustili u izvođenje ARP spoofing napada. Ova tehnika nam je omogućila da preusmerimo saobraćaj, prateći komunikaciju između različitih uređaja. Kroz korake kao što su provera preusmerenog saobraćaja i analiza paketa, dobili smo uvid u način na koji se ovakav napad može izvesti i kako može uticati na komunikaciju.

Konačno, ova vežba nam je pružila dublje razumevanje ranjivosti i tehnika zaštite bežičnih mreža. Naučili smo kako različiti sigurnosni protokoli funkcionišu, kao i kako se neke od tih tehnika mogu iskoristiti u napadima. Važno je naglasiti da su ovi eksperimenti obavljeni u kontrolisanom okruženju i u svrhu učenja, i da se pravilno razumevanje i primena ovih tehnika mora obavljati uz puno poštovanje zakona i etičkih principa.

Korisni linkovi

Autor: Lazar Popovic

Student završne godine osnovnih studija Informatike na Prirodno-matematičkom fakultetu u Kragujevcu.

Lazar Popovic

Student završne godine osnovnih studija Informatike na Prirodno-matematičkom fakultetu u Kragujevcu.