Stavo cercando di utilizzare dnsspoof ma non ha funzionato come previsto. Questi sono i passi che ho seguito:
- Imposta l'IP forward nel kernel su 1
-
arpspoof -i eth0 -t 192.168.1.39 -r 192.168.1.1
earpspoof -i eth0 -t 192.168.1.1 -r 192.168.1.39
. Controllato conarp -a
e funziona - Crea un file.txt con:
137.222.0.38 *.hello.com
-
dnsspoof -i eth0 -f file.txt
Dal computer vittima 192.168.1.39
Sfoglia fino a www.hello.com
e viene reindirizzato al sito reale. L'output da dnsspoof
è:
dnsspoof: listening on eth0 [udp dst port 53 and not src 192.168.1.35]
192.168.1.39.1113 > 8.8.8.8.53: 3864+ A? www.hello.com
192.168.1.39.1113 > 8.8.8.8.53: 3864+ A? www.hello.com
Ho controllato Wireshark
e sembra che la vittima stia ricevendo risposte dallo stesso IP con il router MAC (prima) e con l'attaccante MAC (secondo). Ho svuotato il DNS e provato nuove richieste, anche se ciò non dovrebbe essere necessario in teoria. Le mie domande sono:
1) Perché non funziona? Qualcuno ha suggerito di usare iptables
per bloccare i pacchetti dal router, ma sembra strano che dnsspoof
non fallo da solo e nessuna delle esercitazioni che ho controllato ( 1 , 2 , 3 , 4 ) richiede questo passaggio. Inoltre, non riesco a ottenere la giusta regola iptables
per fare in modo che funzioni correttamente.
2) Molti tutorial sembrano utilizzare dnsspoof
senza arpspoof
. È davvero necessario quest'ultimo? Dico perché una volta (per caso) la parodia del DNS sembrava funzionare su un altro computer che non era "arpspoofed".
3) Come funziona dnsspoof
? Solo ascoltando le richieste DNS nell'intera LAN e poi restituendo la risoluzione?
Modifica
Con il comando iptables
iptables -D FORWARD --match string --algo kmp --hex-string '|68 65 6c 6c 6f|' --jump DROP
il router non viene interrogato e viene inviato solo il DNS falsificato. Tuttavia, il browser delle vittime continua a caricarsi per sempre e alla fine dice che non può accedere al sito (?). Senza il comando iptables
sono in grado di vedere come la richiesta va in questo modo:
victim --> attacker --> router
e risposta: router --> attacker --> victim
E subito dopo l'attaccante invia due volte il DNS falsificato alla vittima. Ancora una volta, sono ancora confuso da questo comportamento e non ho ancora risposto a nessuna delle mie tre domande. Credo che la risposta per (2) sia che dnsspoof
ha spoofed l'intera rete, ma solo se hai fatto arpspoof
prima di poter garantire che il pacchetto spoofed arriverà alla vittima prima del legittimo. Tuttavia, nel mio caso, questo non funziona perché la petizione viene inoltrata.
Modifica
Questa è un'acquisizione di rete con lo stesso esempio su un'altra rete (10.10.10.0). Il DNS legittimo viene inoltrato per primo e, successivamente, il DNS falsificato. In questo esempio, ci sono state altre petizioni nel mezzo di entrambe le risposte, ma abbastanza spesso ottengo i pacchetti uno dopo l'altro.