BetterCAP je moderní framework pro útoky na síť technikou
Man in the middle (MITM). Standardně je obsažen třeba v Kali Linuxu a jeho použití je velmi jednoduché.
Příkazem
bettercap
se spustí základní režim bettercap který pomocí ARP dotazů oskenuje síť a nabídne seznam IP adres možných obětí.
Méně agresivní je pasivní odposlech, kdy jen "visíme" na lokálním subnetu:
bettercap -X --no-spoofing
Samozřejmě, daleko účinější je aktivní sniffing. Útok na oběť 192.168.X.Y se spustí příkazem
bettercap -T 192.168.X.Y --proxy -P POST
kdy vytvoříme falešnou výchozí bránu a tu pomocí nevyžádané ARP zprávy pošleme naší oběti (tzv. ARP spoofing). Oběť si ničeho nemusí všimnout, protože IP adresa výchozí brány (kterou pravděpodobně dostala z DHCP serveru) se nemění, mění se jen MAC adresa z té legitimní na naši falešnou.
Ukázka ARP tabulky na straně oběti 192.168.88.254:
První výpis
arp -a ukazuje tabulku před útokem. IP adresa 192.168.88.1 má přiřazenou legitimní MAC adresu výchozí brány. Druhý výpis
arp -a ukazuje situaci po spuštění útoku, kdy útočník se zařízením 192.168.88.252 zároveň vystupuje jako výchozí brána. Došlo tedy k modifikaci záznamu ARP tabulky na straně oběti.
Veškerý provoz oběti nyní prochází přes naši falešnou proxy dále do internetu. Vše je relativně nenápadné, protože oběť má "fungující internet" a nemá sebemenší podezření o našem konání. Nic už nebrání odchytávat nezabezpečené přenosy typu FTP, HTTP, POP3,...ale i HTTPS.
Následuje ukázka útoku s pomocí
SSLSTIPPu, kdy donutíme uživatele k přechodu ze zabezpečeného HTTPS na nezabezpečený HTTP protokol s cílem odposlechnout jeho přihlašovací údaje.
Standardní otevření www.idnes.cz v prohlížeči:
iDNES.cz nemá automatické přesměrování na HTTPS na úvodní stránce. To se děje, až když klikneme na Přihlásit vpravo nahoře. To by byl standardní průběh. Ale, díky tomu, že vystupujeme jako falešná
transparentní proxy, BetterCAP použije funkci SSLSTRIPP a místo HTTPS
vrátí oběti nezabezpečenou stránku. To je v Chromu indikováno vlevo
nahoře v adresním řádku všeříkajícím "Nezabezpečeno". (Kdo z běžných
uživatelů si toho ale všimne?)
Nyní uživatel zadá svoje přihlašovací údaje a v domnění, že je posílá na server iDNESu je nezabezpečeně odešle:
V konzoli BetterCAPu se následně objeví odchycené údaje z těla HTTP požadavku:
Podobně funguje útok například na Google Images. Standardní výsledek vyhledávání s HTTPS:
Stejný výsledek hledání, ale se zapnutou MITM proxy:
A na straně útočníka lze pomocí
příkazu
driftnet -i eth0
rovnou vidět i odchycené obrázky:
Další pokusy na webech Seznam.cz a Facebook.com byly neúspěšné. U Seznamu se BetterCAP nedokázal vypořádat se zpětným přesměrováním při přihlašování. U Facebooku se nedařilo docílit přesměrování na HTTP i přes zjevně aktivní SSLSTRIPPing. Podvrhnout přihlášení do Google účtu se také nepodařilo, protože Google využívá HTTP Strict Transport Security (HSTS), kdy prohlížeč od serveru přijme informaci, že vzájemná komunikace bude využívat HTTPS a nic jiného.
Obranou proti MITM na lokální síti je například ARP inspekce na síťových přepínačích. Cisco tomu říká Dynamic ARP Inspection. Ve zkratce řečeno, switch si udržuje vazbu port-MAC adresa-IP adresa a tím zamezí situaci, kdy port na kterém není legitimní MAC adresa brány přijde podvržená ARP odpověď s MAC adresou falešné brány.