Pwnagotchi: Nástroj pro zachytávání Wi-Fi handshaku navržený přímo pro etické hackery
Svět penetračního testování se často točí kolem zachytávání a analýzy Wi-Fi handshake. Nástroje jako Aircrack-ng, Bettercap a Kismet se staly základními pomůckami etických hackerů, penetračních testerů anebo red teamerů při testování bezpečnosti Wi-Fi sítí. Nicméně, malý, ale výkonný nástroj s názvem Pwnagotchi způsobil revoluci v pasivním zachytávání handshake a učinil ho přístupným, přenosným a — co je nejdůležitější — autonomním. V tomto článku se ponoříme do detailů nástroje Pwnagotchi: jeho původu, nastavení, funkcí a důvodů, proč může být nápomocnou pomůckou pro etické hackery.
Co to vlastně ten Pwnagotchi je?
Pwnagotchi je open-source projekt vytvořený vývojářem evilsocket (autorem Bettercapu)(https://www.evilsocket.net/), navržený jako uměla inteligence, která se učí optimalizovat zachytávání WPA/WPA2 handshake ve Wi-Fi sítích. Základním kamenem je nástroj Bettercap a vlastním AI modelem, který analyzuje své okolí a přizpůsobuje strategie pro získání co nejpřínosnějších a nejcennějších dat z Wi-Fi sítí.
Název „Pwnagotchi“ je inspirován Tamagotchi — virtuálním mazlíčkem z 90. let. Stejně jako Tamagotchi má i Pwnagotchi roztomilou, interaktivní osobnost a přívětivý displej, na kterém zobrazuje emoce podle svého prostředí (například smutný, když je neaktivní, nebo šťastný, když zachytává handshaky). Za tímto hravým designem se však skrývá mocný nástroj pro penetrační testování nebo red teaming, který je schopný získávat přístupové údaje z Wi-Fi sítí.
Hardwarové požadavky
Pro vytvoření vlastního zařízení Pwnagotchi budete potřebovat následující vybavení:
- Raspberry Pi Zero W nebo výkonnější a novější variantu Raspberry Pi Zero 2W (https://rpishop.cz/raspberry-pi-zero/4311-raspberry-pi-zero-2-w.html)
- E-ink (e-paper) displej (např. Waveshare) pro interaktivní uživatelské rozhraní (https://dratek.cz/arduino/48214-waveshare-2.13-212x104-e-paper-displej-hat-3-barvy.html?gad_source=1&gclid=Cj0KCQiAyoi8BhDvARIsAO_CDsBhdWRHD1BFmiftBnkxq1R4dpqMWSv9wBs2FwO-AGZ2Vol4HfpUWQMaAu5bEALw_wcB)
- MicroSD kartu (minimálně 8 GB místa)
- Přenosnou powerbanku s USB-A nebo baterii pro příslušný model Raspberry (https://rpishop.cz/sprava-napajeni-a-ups/3896-waveshare-ups-hat-pro-rpi-zero-stabilni-vystupni-napeti-5-v.html?utm_source=google&utm_medium=cpc&utm_campaign=CZ-Pmax-Ostatn%C3%AD&utm_id=19583508861&gad_source=1&gclid=Cj0KCQiAyoi8BhDvARIsAO_CDsBOgtUzmrg5raHKLf6rl2Vla_THt7dw9YD3TKKn9PDjaucmAjKJq5saAmLlEALw_wcB)
- Přídavnou anténu pro lepší dosah (https://rpishop.cz/wi-fi-anteny/3099-raspberry-pi-cm4-antenna-kit.html?utm_source=google&utm_medium=cpc&utm_campaign=CZ-PMax-Raspberry%20Pi&utm_id=19691368073&gad_source=1&gclid=Cj0KCQiAyoi8BhDvARIsAO_CDsCZNa91WIxF_6qwh86VeZc8FLb14ewEEYTPdjhpvx-xXgGMIoTpq5waAiZ7EALw_wcB)
Toto je mnou ověřené příslušenství. Pwnagotchi systém může běžet i na jiných libovolných zařízeních.
Externí anténu pro lepší dosah jsem testoval i antény připojené přes USB, avšak operační systém, na kterém Pwnagotchi běží v sobě nemá žádné předinstalované ovladače a doinstalovat příslušné ovladače je složité, jednodušší řešení je na desku připájet výše zmíněnou anténu dělanou přímo pro tento typ Raspberry.
Instalace Pwnagotchiho
- Nejprve je potřeba stáhnout obraz z oficiálního úložiště - https://github.com/evilsocket/pwnagotchi/releases (taktéž je možné použít neoficiální obrazy, ale zde může být riziko neoprávněného zásahu nebo škodlivé úpravy v samotním obrazu)
- Dále je potřeba zapsat obraz na MicroSD kartu pomocí nástrojů jako Raspberry Pi Imager nebo Etcher.
- Poté upravit soubor config.toml, aby obsahoval vaše Wi-Fi nastavení, konfiguraci displeje a zvolených pluginů (detailní návod, jak to udělat, je na oficiálních stránkách).
- A v neposlední řadě už jen spustit Raspberry Pi, a Pwnagotchi zahájí svou činnost (v automatickém režimu, který se později přepne do AI režimu, jednotlivé režimy jsou vysvětleny později).
Toto je pouze stručné vysvětlení. Kompletní návod včetně všech detailů a FAQ je na oficiálních stránkách - https://pwnagotchi.ai/installation/.
Obal na zařízení je možné si vytisknout na 3D tiskárně. Existuje celá řada 3D modelů, vytvořených komunitou - https://www.yeggi.com/q/pwnagotchi/. Zde poté záleží na použitých komponentách, aby vše pasovalo do vytištěné krabičky.
Jak Pwnagotchi funguje
Pwnagotchi pracuje v těchto třech hlavních režimech:
1. Manuální režim (Manual Mode)
Tento režim se zapíná automaticky s připojeným USB kabelem. V tomto režimu zařízení neposlouchá na žádném kanálu, nevyhledává žádné zařízení, ani nesbírá data. Tento režim je vhodný pro konfiguraci.
2. Automatický režim (Automatic Mode)
Pwnagotchi v tomto režimu pracuje samostatně. Automaticky vyhledává sítě, přepíná kanály, monitoruje provoz a zachytává handshaky bez zásahu uživatele. Avšak toto dělá na základě statického algoritmu.
3. Režim AI (AI Mode)
Tento režim využívá umělou inteligenci k analýze okolního prostředí. Do tohoto prostředí se zařízení přepne po načtení neuronové sítě. Pwnagotchi se učí, jaké taktiky nejlépe fungují v různých podmínkách, a optimalizuje své chování tak, aby maximalizoval úspěšné zachytávání handshake při minimálním zásahu nebo detekci.
Nástroj je vhodný pouze pro zachytávání handshaků, které je poté možné cracknout (prolomit heslo). Jelikož během připojování do Wi-Fi sítě přes protokoly WPA/WPA2, není přímo posíláno heslo pro připojení, ale jeho hash, je potřeba tento hash ještě prolomit. Samotný HW není dostatečně výkonný, aby vykonával i tuto operaci.
Konfigurace
Pro konfiguraci zařízení, je potřeba zařízení připojit přes redukce (MicroUSB na USB-A a poté USB na ethernet) do sítě, kde dostane IP adresu z DHCP serveru od routeru a poté je možné se připojit přes SSH port 22 na zařízení s výchozími přihlašovacími údaji (IP adresu je potřeba zjistit přímo z rozhraní DHCP serveru/routeru a výchozí přihlašovací údaje jsou „pi:raspberry“).
Ukázka zapojení:
Samotná konfigurace SW se nachází v souboru „/etc/pwnagotchi/config.toml“:
Zachycené handshaky jsou ve složce „/root/handshakes“, odkud je možné si je stáhnout přes SSH nebo případně přes webové rozhraní (bude popsané níže):
Pro rozšíření konfigurace je možné použít komunitní pluginy anebo si napsat vlastní pluginy v Python jazyce. Tyto pluginy jsou poté uloženy a načítány ze složky „/usr/local/src/pwnagotchi/pwnagotchi/plugins/default“:
Existuje celá řada již napsaných pluginů - https://pwnagotchi.ai/plugins/.
Samotná aplikace běží na osekaném operačním systému Debian 10 (buster):
Webové rozhraní
Na webové rozhraní je možné se přihlásit přes prohlížeč a výchozí přihlašovací údaje „pwnagotchi:pwnagotchi“ (jméno a heslo je možné změnit v konfiguračním souboru):
Zde je poté možnost přepínat automatický a manuální režim (režim AI se zapíná automaticky z režimu AUTO poté, co se načte neuronová síť, restartovat zařízení, vypnout anebo přidat a aktivovat nové pluginy:
Zde je ukázka pluginu „handshakes-dl“, který umožnuje stahovat zaznamenané handshaky ze zařízení ve formátu „*.pcap“:
Jak cracknout handshake
Nejdříve je potřeba stažený „*.pcap“ soubor převést na formát, který podporuje hashcat (a tím tak vyparsovat i hash na craknutí). To je možné udělat přes online nástroj https://hashcat.net/cap2hashcat/:
A vyparsování hash poté cracknout přes hashcat s přílusným slovníkem (případně využít bruteforce, který avšak může být dost časově náročný, jelikož minimální délka hesla u Wi-Fi sítí je 8 znaků):
„hashcat -m 22000 *.hc22000 wordlist.txt“.
Podrobnější dokumentaci je možné najít přímo na stránkách hashcat nástroje - https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2.
Výhody využití Pwnagotchi nástroje
1. Přenositelnost a nenápadnost
Pwnagotchi běží na přenosných zařízeních, jako je Raspberry Pi Zero W, což z něj dělá lehký a snadno skrytelný nástroj. Můžete ho nosit v kapse nebo dokonce připevnit na dron pro letecké Wi-Fi audity. Tato nenápadnost je obzvlášť užitečná při operacích red teamu.
2. Autonomní zachytávání handshake
Na rozdíl od manuálních nástrojů, které vyžadují aktivní zásah uživatele, Pwnagotchi autonomně skenuje, deautentizuje a zachytává WPA/WPA2 handshake. Jeho strategie řízená AI umožňuje zachytit více handshake za kratší dobu.
3. Komunita a integrace
Pwnagotchi je postaven na Bettercapu a podporuje další nástroje pro penetrační testování, jako jsou hcxdumptool a Aircrack-ng. Díky silné komunitní podpoře zůstává vysoce přizpůsobitelný i pro pokročilé scénáře. Obsahuje celou řadu předpřipravených pluginů a možnost rozšiřitelnosti vlastními pluginy.
4. Učení založené na umělé inteligenci
Vestavěný systém umělé inteligence se časem zlepšuje, protože se učí optimálně chovat v různých prostředích. To snižuje šum zbytečných deautentizací a zvyšuje efektivitu při zachytávání handshake.
Omezení Pwnagotchi
I když je Pwnagotchi mocným nástrojem, má své limity:
1. Závislost na okolním prostředí
Pwnagotchi je účinný pouze v oblastech s dostatečnou hustotou Wi-Fi sítí. V odlehlých nebo málo frekventovaných lokalitách jeho výkon rapidně klesá.
2. Výkon hardwaru
Běží na malých zařízeních, jako je Raspberry Pi Zero 2 W, což omezuje jeho výpočetní výkon. Například zpracování více sítí nebo složitých úloh může být pomalé.
3. Nedokonalost AI modelu
I když má Pwnagotchi zabudovaný AI systém, není dokonalý. Může provádět zbytečné deautentizace nebo být neefektivní při sběru handshake v určitých situacích (zejména pokud se zrovna učí).
4. Omezení podpory pásma
Pwnagotchi je nejvíce efektivní na pásmu 2,4 GHz, ale při práci s 5 GHz může být omezený, zejména pokud použité Wi-Fi dongle nepodporují širší pásma.
5. Detekce
Pokud není správně nastaven, může být jeho aktivita (například deautentizační pakety) detekována nástroji pro monitorování sítě, což může upozornit správce na jeho přítomnost.
6. Omezení u WPA3
- WPA3 využívá protokol SAE (Simultaneous Authentication of Equals), který je navržen tak, aby odolával útokům slovníkem a bruteforce útokům. Zachytávání handshake je téměř nemožné, pokud síť nepoužívá přechodový režim s WPA2.
- Bez přechodového režimu je Pwnagotchi neefektivní proti sítím WPA3.
7. Omezení u WPA2-Enterprise
- WPA2-Enterprise používá protokol 802.1X a dynamické šifrovací klíče, což činí handshake pro lámání hesel nevyužitelným.
- Autentizační metody jako EAP-TLS nebo PEAP přidávají další vrstvy ochrany, které Pwnagotchi nemůže obejít.
Příklady použití Pwnagotchi v reálném světě
1. Audity bezpečnosti Wi-Fi sítí
Penetrační testeři mohou nasadit Pwnagotchi během auditů Wi-Fi sítí k zachytávání handshaku pro následné lámání hesel. Díky automatizaci se mohou testeři soustředit na další úkoly.
2. Operace red teamu
Red teameři mohou využít Pwnagotchi pro nenápadné zachytávání handshaku bez přitahování pozornosti. Jeho malé rozměry jsou ideální pro dlouhodobé, nepozorované nasazení.
3. Zachytávání ve velkém měřítku
V prostředích s více sítěmi může Pwnagotchi nepřetržitě skenovat a optimalizovat svou strategii, čímž zajistí komplexní sběr handshake pro detailní analýzu.
Závěr
Pwnagotchi představuje skvělý nástroj pro penetrační testování Wi-Fi sítí. Jeho schopnost autonomně zachytávat handshaky a současně se učit a přizpůsobovat dělá z tohoto nástroje nepostradatelného pomocníka pro etické hackery. Kombinace strategie řízené umělou inteligencí, přenositelnosti a rozšiřitelnosti zajišťuje, že je skvělým nástrojem pro moderní bezpečnostní audity.
Nasazením Pwnagotchi mohou penetrační testeři provádět efektivnější, nenápadné a automatizované bezpečnostní audity Wi-Fi sítí, čímž šetří čas a zlepšují celkové výsledky. Ať už jste zkušený člen red teamu, nebo začátečník, který chce rozšířit svou sadu nástrojů, Pwnagotchi nabízí jedinečnou kombinaci automatizace a inovace.