måndag 1 februari 2010

Kort guide till sslstrip

Jag har kört Moxie Marlinspikes sslstrip vid några demon och tänkte jag skulle dela med mig av hur man enkelt sätter upp det. Det är ett verktyg som bygger om en https-sida till http on the fly och tillåter en attackerare att läsa och manipulera trafik som egentligen skulle skickas krypterat.

Installera sslstrip på en virtuell Ubuntu
Installera en virtuell Ubuntu. På den hämtar du hem senaste sslstrip och packar upp på valfritt ställe. Ställ dig i den uppackade sslstrip-katalogen och prova att starta:
> sudo python sslstrip.py -h

Det kan hända att du behöver ta hem ytterligare Python-paket, t ex webbservern Twisted Web:
> sudo apt-get install python-twisted-web

Starta IP forwarding
I filen sysctl.conf finns konfiguration för kärna och nätverksstack. Säkerhetskopiera nuvarande konfiguration:
> sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak

Öppna konfigurationen:
> sudo emacs /etc/sysctl.conf

Leta reda på raden som säger "#Uncomment the next line to enable packet forwarding for IPv4" och gör som den säger, dvs ta bort kommentarstecknet '#' på nästa rad. Spara och stäng.

Starta sslstrip
Starta sslstrip:
> sudo python sslstrip.py --listen=8080 --favicon

Kolla sslstrips logg (från sslstrip-katalogen):
> tail sslstrip.log

Den bör vara tom just nu men kommer att innehålla alla postade fomulär som borde gått över https. Gå tillbaka och kör tail igen när du har postat till någon https-sida enligt nedan.

Kolla den virtuella maskinens IP-nummer:
> ifconfig | grep 'inet addr'

Konfigurera proxy på värdmaskinen
På din värdmaskin, Firefox, gå till Inställningar -> Avancerat -> Nätverk -> Inställningar.
Välj Manuell proxykonfiguration och skriv in den virtuella maskinens IP-nummer samt port 8080. Klicka OK.

Sniffa trafiken till din bank
Nu kan du i Firefox surfa till exempelvis din bank, klicka på "logga in" och se hur sslstrip bygger om https-sidan till http! Logga in på banken och kolla sen sslstrips logg för att se hur den sniffar trafiken.

Det här är alltså exempel på en Man-In-the-Middle-attack. Det krävs att man hamnar mellan klient och server, t ex genom ARP spoofing. Men när jag demar så "fuskar" jag mha Firefox proxyinställningar.

1 kommentar:

Jon sa...

Provade att kombinera detta med airbase-ng och dess -P flagga till ett skolprojekt i våras, lagom otäckt.