mrpear.net logo osobní web jednoho ajťáka
► ČESKY | ENGLISH |
twitter icon twitter icon google plus icon flickr icon 500px icon linkedin icon

Prolomení WPA/WPA2-PSK přes WPS snadno a rychle (teorie)

Dostatečně zabezpečená wifi síť by měla být samozřejmostí všude tam, kde není žádoucí vytvářet veřejně dostupné přístupové body pro náhodné kolemjdoucí. Ten, kdo se zajímá o zabezpečení wifi sítí alespoň trošku, ví, že WEP stojí za starou bačkoru a nasazuje WPA či WPA2 se sdíleným klíčem. A také ví, že dostatečně silné heslo ho ochrání před prolomením sítě útokem hrubou silou, což je doposud zatím jediný známý způsob, jak WPA prolomit. Jenže, co když se do sítě nebudeme probourávat přes opancéřované dveře, ale jednoduše tam vlezeme přes okno z papíru? Dovolte, abych Vám představil WPS!
Na začátku si pojďme ujasnit pojmy a ukažme na hodného a na toho zlého. Z nadpisu by se mohlo zdát, že se objevil způsob prolomení WPA bez nutnosti použít hrubou sílu (brute-force attack). To ale není úplně pravda, samotné WPA se totiž stále drží dobře a opravdu jediný doposud známý způsob prolomení WPA je použití hrubé síly. Takže vhodně zvolené heslo, tedy dostatečně dlouhé a silné, zaručuje praktickou neprolomitelnost wifi sítě WPA spolehlivě.
To, co podlamuje WPA nohy, je WPS (Wifi Protected Setup). Standard vyvinutý po boku WPA, který usnadňuje spárování dvou zařízení (např. router — PC) uživatelům, kteří nechtějí vstupovat do tajů šifrování a od svých chytrých krabiček očekávají, že prostě budou fungovat. Přesněji: ukolem WPS je zajistit bezpečné spárování dvou zařízení bez nutnosti zadávat dlouhá a případně i komplikovaná hesla. Samotný standard byl představen v roce 2007 a většina dnešních moderních routerů jej podporuje. Podporují jej i koncová zařízení, jakou jsou chytré mobilní telefony (např. Android od verze 4.1 nativně) nebo operační systémy, takže služba je v praxi velmi rozšířená a snadno použitelná.

WPS jako dobrý sluha

Idea WPS určitě není špatná. Jako úplný laik si koupíte router s přednastaveným šifrováním WPA(2)-PSK a s přednastaveným dostatečně silným heslem (náhodná čísla, písmena, znaky, ...). Nebo, pokud je router z výroby otevřen bez šifrování, necháte si jednorázově router dobře zabezpečit někým zdatnějším, ale podrobnosti o nastavení šifrování a hesla nemusíte nijak řešit. Router pak pouze zapojíte podle náčrtu (ADSL, WAN port) a všechna potřebná zařízení si spárujete pomocí WPS.
Standard WPS byl navržen s ohledem na využití v domácích sítích a nabízí několik metod párování — zadáním PIN (osmimístné číslo), stisknutím tlačítka (fyzického na routeru či virtuálního v operačním systému), pomocí NFC (přiložením dvou zařízení k sobě) a pomocí USB zařízení. Celkem tedy čtyři metody, z nichž se v praxi nejčastěji používají první dvě a poslední (pomocí USB) dnes standard nedoporučuje používat. Jednotlivé způsoby zde nebudeme rozebírat detailně, velice podstatné je ale to, že metoda párování s pomocí PIN je povinnou součástí implementace standardu a v praxi jej tak musí podporovat všechna zařízení, která WPS implementují. Což je celkem problém, protože slabina WPS je právě v metodě párování pomocí PIN, takže všechna zařízení podporující WPS jsou teoreticky (a v podstatě i prakticky) zranitelná.

WPS jako špatný pán

V prosinci roku 2011 upozornil Stefan Viehböck na slabinu v návrhu WPS, která, podpořena v praxi nedokonalou implementací výrobci routerů, dělá WPS prolomitelné hrubou silou — a teď pozor — se stoprocentní úspěšností v řádu několika hodin. A to bez ohledu na složitost hesla k WPA, protože WPS jako takový s WPA nesouvisí, slouží pouze pro výměnu informací a klíčů před navázáním šifrovaného spojení WPA. Výsledkem prolomení WPS je nejen odhalení PINu WPS, ale také hesla k síti chráněné WPA(2)-PSK.

V praxi...

Dle informací dostupných na internetu trvá v praxi prolomení WPS typicky něco mezi dvěmi až čtyřmi hodinami. To můžu z vlastní zkušenosti potvrdit, protože moje vlastní heslo se mi podařilo prolomit během hodiny a půl. Takhle rychle jsem nebyl úspěšný ani u prolomení WEP!
Navíc se mi hacking WPS zdá v porovnání s hackingem jiných wifi technologií z uživatelského hlediska jednodušší — není potřeba zachytávat žádný provoz (WEP), vynucovat si a chytat výměnu wpa handshake (WPA)... Prostě se jen neustále dokola zkouší jeden PIN za druhým (to samozřejmě dělá software), dokud se ten správný netrefí. Pouze je třeba zajistit alespoň trošku kvalitní signál, tzn. nebýt od routeru příliš daleko.

Slabina WPS

Pojďme se teď podrobněji podívat na slabinu v návrhu WPS. Jak už jsem psal dříve, slabina je v návrhu párování s využitím PIN kódu. PIN kód je nastaven v routeru buď natvrdo, nebo jej lze měnit například přes webové rozhraní routeru, což není ale až tak podstatné.
Návrh WPS trpí v podstatě dvěma slabinami — méně závažné je, že jej obecně lze prolomit brute-force útokem. Více závažné ale je, že vzhledem k okolnostem výměny informací mezi routerem a klientem lze optimalizovat algoritmus útoku tak, že lze dramaticky snížit maximální nutný počet pokusů úspěšného útoku.
Pojďme si to rozebrat konkrétněji. WPS PIN je 8 místné číslo. Teoreticky tedy existuje 108 variant PIN kódu, tedy až 100.000.000 pokusů nutných k prolomení WPS útokem hrubou silou. To není málo, vezmeme-li v potaz to, že proces ověření jednoho PIN kódu trvá zhruba 3 sekundy a neexistuje možnost, jak jej v praxi nějak výrazněji urychlit.
PIN se ale během procesu ověřování rozpadá na dvě části. Každou část tvoří čtyři číslice, druhá část se navíc rozpadá na tři číslice plus poslední číslice tvoří kontrolní součet. A největší slabina: díky specifické odpovědi routeru je klient schopen odvodit, zda byla první a poté i druhá část použitého PINu správná. Se znalostí této vlastnosti je možné optimalizovat algoritmus útoku hrubou silou tak, že se redukuje maximální počet potřebných pokusů na 104 + 103, tedy 10.000 + 1.000 = 11.000 pokusů. Jedenáct tisíc pokusů, dramaticky mnohem méně než původních sto milionů, to je při frekvenci 3 sec/PIN nanejvýš něco kolem 9 hodin, které k prolomení WPS se 100% úspěšností potřebujeme.
Hacknuté WPS za 93 minut.
Hacknuté WPS za 93 minut.

Špatný návrh a k tomu nic moc implementace

Vražedná kombinace špatného návrhu a špatné implementace dělá zranitelná všechna zařízení s podporou WPS. Co je myšleno špatnou implementací? Problém je v tom, že výrobci neimplementují do WPS žádné detekční mechanismy, které by útoku hrubou silou zabránily, resp. dostatečně by jej stížily. Nutno ale podotknout, že standard WPS nic takového nevyžaduje, těžko lze tedy vinit pouze výrobce z daného průšvihu. A samozřejmě v době, kdy se o slabině (asi) nevědělo, by byla implementace dodatečných mechanismů nad rámec cílové skupiny, kam WPS patří — domácnosti a malé podniky.
Problém slabiny WPS je řešitelný detekcí útoku hrubou silou a blokováním WPS na dostatečně dlouhý interval po daném počtu neúspěšných pokusů. Například: po patnácti neúspěšných pokusech blokuj WPS na 60 minut — maximální doba útoku by se prodloužila v tomto případě až na více jak 30 dní. To útok už dostatečně prodlužuje a tím komplikuje úspěšnost jeho provedení. V kombinaci s reportovací službou (přes e-mail) by bylo možné útok na WPS včas odhalit a adekvátním způsobem zakročit. Nicméně představa, že si domácí uživatel konfiguruje zasílání e-mailů z routeru je trošku naivní, navíc ve spojení s WPS, které cílí opravdu na uživatele laiky.

Ochrana proti útoku

Účinná ochrana v praxi neexistuje. Tedy existuje — vypnout WPS, nebo ještě lépe mít router BEZ podpory WPS. Problém některých routerů je totiž ten, že i přes jeho deaktivaci (pomocí webového rozhraní) zůstalo WPS aktivní.
Pokud je pro daný router k dispozici aktualizace firmware, která slabinu WPS řeší (nejspíš detekcí brute-force útoku), je možné problém částečně vyřešit aktualizací firmware zařízení. Dokud se ale do praxe nedostane následník WPS (WSC 2.0), tedy standard vyžadující implementaci detekce útoku hrubou silou, bude používání této technologie párování značně rizikové. Já osobně doporučuji WPS, pokud jej opravdu nepotřebujete a s láskou nevyužíváte, vypnout.

Nástroje pro útok na WPS

Pokud máte router s podporou WPS (nebo QSS, tak jak tuto službu nazývá TP-Link), není na škodu si otestovat průstřelnost implementace WPS právě ve vašem routeru. Konkrétnímu návodu se budu věnovat v některém z dalších příspěvků, každopádně na začátek poskytnu dvě důležité indicie: BackTrack Linux – Penetration Testing Distribution a Reaver. Happy hacking!
UPDATE: Praktická ukázka útoku viz související příspěvek.

Související příspěvky

Reklama

Komentáře

22. 1. 2013 21:56:10, Tomáš
Konkrétní návod jen nemůžu najít, nebo tu ještě není, jak je slíbeno v závěru článku?
22. 1. 2013 21:58:50, mrpear
[Tomáš] Ještě jsem ho nesepsal. Polepším se :).
25. 1. 2013 21:43:54, mrpear
Tak jsem se pustil do psaní a konkrétní návod už je k dispozici.
9. 6. 2013 17:34:33, Majk
A opravdu to funguje ? To není možný!...xD mít nějaký starý laptop...:(
12. 6. 2013 15:27:24, mrpear
[Majkl] Jo, funguje ;).
7. 8. 2013 20:58:01, michal-metasploit
Kali Linux
reaver -i mon0 -b 00:11:22:33:44:55 -vv
No tady mas jeden strucnej navod trvato cca 10 az 12 hodin
9. 1. 2014 0:00:19, hroman
dnes a denně se učíme.Veškeré informace o bezpečnosti sítě jsou velmi důležité.Děkuji
26. 4. 2014 17:25:46, Peter
Obohacující článek, doufám, že si i v blízké době ověřím článek 'praxe' :-)
Hah, krása musí být, činit podobné 'overovani' ze smarth phonu
22. 7. 2014 21:58:40, svent
Ahoj, prolomit a ziskat pin k wps se mi za pomoci aplikace reaver z tveho navodu zadarilo priblizne za pet a pul hod, poradil bys mi prosim postup jak za pomoci tohoto pinu zjistim hoslo k wifi. Doky za moznou odpoved..
12. 8. 2014 9:55:15, lída
Ahoj soused má zabespečení WPA2 WPS Chtěla jsem se zeptat jak zjistím jeho heslo?Bydlim přímo naproti němu signál super ale nevim prostě jak se tam dostat.Mám tablet a od operátora mám simku na internet.Je to strašně pomalé zrušit to ale nemůžu protože jsem se upsala na dva roky.Tak prosím o radu díky.
12. 8. 2014 10:47:56, mrpear
[lída] Co odpovědět na to, že se chceš nabourat sousedovi na wifi a nevíš jak na to... Jednak se to nemá a určitě bych to nedělal a pak jsem se praktické stránce věnoval tady na webu dost podrobně. To s tou SIMkou mě ale fakt pobavilo :-D.
20. 9. 2014 22:30:06, JUDGE DREED
Ahoj :-))
Potřeboval bych pomoct ale spíše radu .-))Neni to tak dávno co se mi do pc naboural nějakej "H" - a ja ho nemužu dostat s pc bohužel jsem takový vemeno že tomu nerozumim .dostal se kemě přes jeden herni servr na kterej sem kdysi dávno chodil .
Prakticky řečeno už se chytám každého stebla co tady na internetu je na forech atd . Bohužel nikdo mi ještě neporadil jak nato .. ten dotyčný mi udělal v pc takovej B.. kterej sem už dlouho neviděl .. mimochodem stačila by jedna jedináá rada opravdu se v tom nevyznam a pokud by to šlo ??TAK sem ochotzen odměnit toho kdo mi stim píchne .. nee každý je takový expert jako ja ..
25. 9. 2014 21:28:32, JUDGE DREES
Tak už není třeba odpovídat na tu moji otázku :-)) Už vím co jsem potřeboval odjinud :-)
11. 10. 2014 19:48:27, nemehlo
Zdravím,potřebuju rozšifrovat heslo na wifi pod těma hvězdičkama...jsem na ní připojenej na kompu win.XP...jde to nějak? a do routeru šahat nemůžu,jinak by byl prúser... a ten typ nebo co to je,tak je WPA2-PSK . Za všechny rady dík..(duvod-přítel od mámy už mi nechce dát heslo znovu,budu si kupovat konečně po sto padesáti milionu let :-)) novej mobil (optimus l9 II) a mám Mobil CZ jenže nechci čerpat FUP zbytečně,když si budu stahovat hry nebo čekovat něco na youtube...) spěchá :-))
11. 10. 2014 20:02:33, mrpear
[nemehlo] Zrovna v XP to moc dobře nejde, vygoogluj si třeba utilitu Magic Jelly Bean.
7. 7. 2015 21:55:36, Ray
Ahoj. Článek je to sice zajímavý. Ale stejne se to tyka wifin ktere mate dostatecne blizko sebe. No a kolik jich je a jaky maji signal? Takze to je spis o nahode. Me by zajimalo jestli existuje nejaka mobilni aplikace na android ktera by kod prolomila ;) diky za odpovědi.
17. 9. 2016 15:06:44, Ivan Kryšenik
Ahoj,
jezdím po Evropě a často mimo dálnice hlavně v Itálii kde se dá připojit pouze na freewifi na velkých autogrillech,potřeboval bych se mnohokrát připojit na zabezpečené routery /je jich spoustu ale zaheslovaných/,platit datové připojení při roamingu si nemůžu dovolit.Používám tablet a tzv.chytrý telefon pro navigaci ale občas potřebuji najet na google nebo jinam abych našel firmu.Adresy a souřadnice od dispečerů končí občas v poli vedle průmyslové zony...
Prosím o info jak to vyřešit a předem moc děkuji
Ivan Kryšenik
19. 9. 2016 9:25:47, mrpear
[Ivan Kryšenik] Kup si ten datový roaming, nebo se teda můžeš pokoušet ty wifiny prolomit a trávit tím několik hodin a čekat, jestli se to vůbec povede :-D. Pokud by to šlo prolomit lusknutím prstu, nebavili by jsme se o zabezpečených routerech...
12. 11. 2016 15:11:47, Petra
ahoj, chci si stahnout nejake foto z meho telefonu do notebooku ale jaksi mi to nejde. =D odhaduju ze to bude pres add devices and printers ale chce to po me WPS PIN on my HT3... jako naprosty laik netusim kde toto najdu... =D mohl bys prosim poradit? Dekuju P.
15. 11. 2016 6:57:46, mrpear
[Petra] Fotky z telefonu bych určitě stahoval pomocí USB kabelu a na nějaké propojování přes wifi bych se vykašlal.

Co si o tom myslíte?

:
:
(nepovinné a neveřejné, slouží pro případ dalšího kontaktu přes e-mail)
: