Hacking DVD BackTrack, Linux, Hashe RSS Feed twitter airdump.cz BackTrack 3 4 5 6 CZ
Security a Tip
Donate a Sponzor

Sniffing šifrované komunikace SSL (Secure Sockets Layer)

Ettercap logo Jak na sniffing SSL komunikace? Všechny e-mail služby (seznam, google), Skype, Facebook… používají zabezpečené přihlášení. Jak postupovat při odchytávání zabezpečených hesel šifrováním (https komunikace obecně) tak, aby uživatel nebyl varován ohledně nedůvěryhodných certifikátů a nepojal podezření, že jsou jeho přihlašovací (a další) údaje zachycovány? Klasický způsob spočívá v použití aplikace Ettercap-ng, která je velmi snadno ovladatelná přes grafické rozhraní, čímž se stává ideálním nástrojem pro script kiddies. Článek seznamující s použitím tohoto nástroje naleznete zde. Nevýhodou této aplikace je, že podvrhne uživateli vlastní certifikát, na což jej prohlížeč upozorní.

To nebyla komplikace u starších verzí prohlížečů, které jen oznámily neplatný certifikát, a většina uživatelů intuitivně odklikla, že souhlasí a chce pokračovat (positive feedback system). V novějších verzích se oznamovací stránka změnila a jen málo uživatelů je ochotno se prokliknout na stránku přihlašování (negative feedback system). Navíc je pravděpodobné, že po takovémto varování bude uživatel kontaktovat správce sítě, čímž se zvyšuje pravděpodobnost odhalení. Zkusme zachytit zabezpečenou komunikaci elegantnějším způsobem s minimem varovných příznaků.

Připojení do cílové sítě

Prvním krokem, nezbytným k odchycení šifrovaných dat, je připojení se do cílové sítě. Nezáleží na tom, zda jde o síť drátovou, či bezdrátovou, postup je přibližně stejný. U bezdrátových sítí je však nutné mít dostatečně silný signál, který umožní bezproblémové provedení arpspoofingu a úspěšné zachytávání packetů. S integrovanou kartou příliš úspěchu nesklidíte, pokud nesedíte na obzvláště strategickém místě vůči APčku a victim stroji. Pokud je přístup do bezdrátové sítě chráněn heslem, je třeba hledat více na tomto serveru, manuálů na prolomení zabezpečených wi-fi sítí je zde více než dost.

Klíčový nástroj, který umožní odposlechnout šifrovanou komunikaci, se jmenuje SSLstrip. Lze ho získat z následující adresy.

Princip na jakém funguje SSLtrip

1. Provedení útoku Man in the middle. Pomocí arpspoofingu se postavíte mezi victim stroj a gateway, tudíž kontrolujete kompletní tok dat, který přes vás probíhá.
2. Nahrazení všech https odkazů http (na stránkách, které přeposíláte uživateli), přičemž informace o původních cestách jsou uloženy.
3. Komunikace mezi vámi a uživatelem (victim) probíhá pomocí http.
4. Komunikace mezi vámi a cílovým serverem probíhá přes původní linky pomocí https.
5. Komunikace je transparentně vedena přes náš stroj (MITM útok).
6. Dojem bezpečného připojení je vyvolán podhozením ikony „zámečku“ uživateli.
7. V případě úspěšného provedení jsou odchytávány a ukládány přihlašovací údaje uživatele, které posílá v nezašifrované podobě.

Není-li to na první pohled srozumitelné, snad pomůže následující schéma:

Obr. 1. Schéma narušení https spojení (zdroj: blackhat.com, upraveno)
SSL komunikace únos spojení

Postup pro zprovoznení SSLstrip

1. Nejprve je nutné si opatřit Python a stáhnout modul twisted-web

apt-get install python
apt-get install twisted-web

Jde jen o jeden z možných způsobů. V případě, že se vyskytnou problémy s instalací, lze pomocí Googlu najít alternativní návody.

2. Dále je nutné přepnout počítač (který bude fungovat jako proxy) do forwarding módu

sudo sh -c „echo 1 > /proc/sys/net/ipv4/ip_forward“

V diskuzích lze nalézt mnohé modifikace tohoto příkazu, většina ostatních ovšem způsobuje problémy špatnou syntaxí příkazu sudo (nutnost správného použití uvozovek).

MITM útok – ARP spoofing

3. Nyní je čas spustit arpspoofing (MITM útok). Lze to provést dvěma způsoby – první je využití příkazu arpspoof, druhý spočívá ve využití funkcionality Ettercapu. Osobně preferuji druhý způsob, protože umožňuje mnoho doplňkových funkcí, a hlavně v případě, že spadne SSLstrip (což se občas stává), zůstává zapnutý sniffing, čili odchytáváte hesla. Bohužel, uživatel je již o neplatných certifikátech informován. Takže: a)

arpspoof -i eth0 -t 192.168.1.6 192.168.1.1

eth0 – síťové rozhraní
192.168.1.6 – IP adresa uživatele
192.168.1.1 – IP adresa gatewaye

pokračujeme b) Spustíme Ettercap (jako root),
Options – Set netmask zadáme masku sítě (zjistíme příkazem ifconfig u příslušného síťového rozhraní)
Sniff – Unified sniffing, vybereme síťové rozhraní
Start – Start sniffing
Hosts – Scan for hosts
Hosts – Hosts list (zde vybereme uživatele jako target 1 a gateway jako target 2)
MITM – ARP poisoning (zaškrtnout Sniff remote connections)
Dále přes Plugins – Manage the plugins lze vybrat plugin chk_poison, který zkontroluje, zda se ARP poisoning zdařil.
Celý tento postup lze najít v článku, na nějž je odkazováno v prvním odstavci. Níže si můžete prohlédnout výstup z úspěšně provedené seance v Ettercapu:

Obr. 2. Výstup Ettercapu
SSL sniff Ettercap

Redirect pomocí IPtables

4. Nyní musíme zajistit přesměrování portů pomocí IPtables. Port 80 (http) přesměrujeme na port, na kterém naslouchá SSLstrip (defaultně 10000).

sudo iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-ports 10000

SSLtrip v akci

5. Nejvyšší čas spustit samotný SSLstrip, který má již pro práci vše potřebné. Přepneme do adresáře, do kterého jsme SSLstrip nainstalovali, a spustíme:

sudo python sslstrip.py -w log

log zde určuje název logovacího souboru, do kterého se ukládají zachycené údaje. Celý postup (kromě spuštění Ettercapu) pak v praxi vypadá takto:

Obr.3. Command line
SSL trip BackTrack

Dále již nezbývá nic jiného, než čekat, až uživatel zavítá na přihlašovací stránku a odevzdá nám své údaje. Ty pak nalezneme v logovacím souboru, případně je vypíše v dolním okně Ettercap. Doporučuji ještě před začátkem odchytávání spustit Wireshark, který umožní uložit do jednoho souboru kompletní přehled komunikace. Taktéž pokud nějaké heslo SSLstripu nebo Ettercapu unikne, lze ho pomocí Wiresharku dohledat.

Vzhledem k možným dopadům, složité prevenci a poměrně nízké možnosti odhalení útočníka (minimálně ze strany uživatele) jde o mocný nástroj v rukách hackera, který může nepozorovaně odposlouchávat přihlašovací údaje. Nejde ovšem o nekomplikovaný útok, což ze hry vyřazuje hackery zvyklé na použití předpřipravených „klikacích“ nástrojů pro rychlý úspěch.
Sám Moxie Marlinspike, autor SSLstripu, během testu za 24 hodin nasbíral 16 čísel kreditních karet, 7 paypal loginů a více než 300 dalších zabezpečených přihlašovacích údajů. I přes tato působivá čísla je SSLstrip stále v rané fázi vývoje a ne vždy je jeho použití bez problémů. Pokud tedy něco nebude fungovat, zkuste experimentovat. Sám jsem úspěšně SSLstrip výše popsaným způsobem vyzkoušel na několika sítích a mohu jen potvrdit, že poté co vyladíte počáteční nemoci, dostáváte do rukou šikovný nástroj schopný vykouzlit zděšený výraz ve tváři nejednoho uživatele.

Diskuze Sniffing SSL

Pozn: Výše uvedený článek je určen pro studijní účely a postup v něm popsaný by měl být aplikován výhradně se souhlasem administrátora cílové síťové infrastruktury, jinak se čtenář vystavuje hrozbě legislativních postihů. Článek byl publikován díky podpoře uživatelů vrámci projektu donate.
Pro AMP sepsal Kerry.

Kam dál?



Přihlásit / Odhlásit odběr novinek

Počet přihlášených k odběru novinek

    2573