Disassembler

Artificial intelligence is no match for natural stupidity.
08září2012

Jak získat uložené heslo k Wi-Fi


Už se mi párkrát stalo, že jsem u zákazníka potřeboval k místní zabezpečené Wi-Fi síti připojit další zařízení. Po dotazu na heslo jsem však místo odpovědi obdržel jen nechápavý výraz doprovázený větou typu „Já žádné heslo nemám. Já prostě zapnu počítač a jsem na internetu.“, případně ještě častěji „Já heslo nevím, to ví <doplňte rodinného příslušníka nebo známého>“. A v případě že ani ten není k sehnání, nezbývá mi nic jiného, než se vrhnout po již připojeném zařízení a přesvědčit jej, aby mi heslo prozradilo.

Obecně


Heslo je zpravidla uloženo šifrovaně, takže vytřískat jej „jen tak“ může být občas problém. Většina moderních systémů vám heslo prozradí, pokud se prokážete administrátorským oprávněním, ale u starších se budete muset spolehnout na nějaký „vytahovací“ nástroj. Ještě předtím ale můžete jednoduše zkusit heslo vytřískat přímo z access pointu. Tedy za předpokladu, že přístup k němu zůstal ve výchozím stavu, což naštěstí u takových klientů většinou zůstává. Nějaký admin/admin nebo admin/1234 vás většinou do nastavení AP pustí a při troše štěstí se dá heslo vyčíst přímo v nastavení bezdrátu. V horším případě jej uvidíte zahvězdičkované, takže jej můžete změnit a v klientových zařízeních pak přenastavit. Pokud ale zásah do AP není možný, není ještě zdaleka vše ztraceno.

Windows


Ve Windows 7 lze jednoduše donavigovat do Ovládací panely\Síť a Internet\Spravovat bezdrátové sítě, zobrazit detail sítě a checkboxem nechat heslo zobrazit. U starších Windows už je třeba použít trochu hrubé síly, nejlépe v podobě utility WirelessKeyView od Nira Sofera, známého tvůrce všelijakých odheslovávadel. Nástroj je primárně určen pro Windows XP a Vista, ale při použití starší metody injektáže kódu do lsass.exe (Local Security Authentication Server) je možné s jistým rizikem nástroj použít i na Windows 7. Na Vistách a sedmičkách najdete soubory s informacemi o sítích a zašifrovaným heslem v

C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces\<interface GUID>

Na XP pak v registru

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces\<interface GUID>

U WinXP je ještě dobré zmínit, že WPA klíče jsou převáděny do hexadecimálního formátu, který ovšem při opětovném zadání do pole s heslem bez problému funguje.

Apple OS X


I Apple, kterého se štítím jako kupy hnoje, má zobrazování hesel k bezdrátu vyřešeno relativně snadno. Stačí se v Applications/Utilities proklikat do keychainu, kde se, podobně jako ve Win7, nalézá checkbox, který vám heslo povolí zobrazit. Tedy za předpokladu, že máte administrátorská oprávnění.

Linux - NetworkManager


Tak tohle je fakt třešnička. Když jsem zjistil, jak ukládá síťové klíče a vůbec informace o sitích NetworkManager, myslel jsem, že někoho z vývojářů vezmu lopatou. Pokud jste si mysleli, že vaše hesla jsou v bezpečí v hloubi vašeho keyringu, tak se šeredně pletete. Račte prosím navštívit

/etc/NetworkManager/system-connections/

A nakoukněte do souborů zde uložených. Nebo raději ne, pokud nechcete, aby vás klepla pepka. V tomto umístění jsou totiž soubory obsahující veškeré informace o bezdrátovém spojení, včetně hesel v plaintextu! Nechápu jaké pohnutky mohly vést k vývoji něčeho takového. Asi si vývojáři řekli, že dříve nebo později stejně přijde na to, jak jakékoliv zabezpečení prolomit, tak se o něj ani nepokoušeli.