为什么即使DNS服务器是伪造的,NSlookup仍会返回IP地址?

Lu Wei

最初在新闻组中被要求提供完整日志:https : //groups.google.com/forum/#!topic/ microsoft.public.windowsxp.general/ Ll32NWComwY

在此处输入图片说明

快照显示DNS答案是由伪造服务器真正返回的。

汤姆·颜

没有任何“事实”。如果您的ISP希望对DNS查询执行MITM(中间人)攻击,则很容易将查询重定向到另一个目标而不通知您(至少不仅仅基于回复的源IP地址) 。

这是概念证明。以下是局域网中主机的防火墙规则:

*nat

-A PREROUTING -p udp --dport 53 -m limit --limit 20/minute -j ACCEPT
-A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.1.1
-A POSTROUTING -p udp --dport 53 -j SNAT --to-source 192.168.1.110

COMMIT

这些规则基本上意味着,如果平均而言,如果存在多个以上的DNS查询,则将查询重定向到特定的主机(在这种情况下,它只是一个“正常”的DNS转发器/服务器,因为它本身不会伪造结果);否则,接受它(即“按原样”路由)。

最后一条规则导致答复首先被路由回它(通过伪装源本身),以便防火墙可以对原始来源的答复源(以及原始来源的答复目标)执行“反向NAT”源)。

这是当我在局域网中的另一台主机上以“中间人”主机作为不存在的DNS服务器的网关进行DNS查询时的结果:

[tom@archlinux ~]$ ssh 192.168.1.143
Last login: Fri Oct 25 14:32:11 2019 from 192.168.1.110
[tom@alarm ~]$ ip r get 200.100.200.100
200.100.200.100 via 192.168.1.110 dev eth0 src 192.168.1.143 uid 1000 
    cache 
[tom@alarm ~]$ while true; do timeout 1 nslookup www.google.com 200.100.200.100; if [ $? -eq 0 ]; then sleep 5; else echo "timeout!"; fi; done

timeout!

timeout!

timeout!

timeout!

timeout!

timeout!

timeout!
Server:     200.100.200.100
Address:    200.100.200.100#53

Non-authoritative answer:
Name:   www.google.com
Address: 172.217.26.132
Name:   www.google.com
Address: 2404:6800:4005:805::2004


timeout!

timeout!
Server:     200.100.200.100
Address:    200.100.200.100#53

Non-authoritative answer:
Name:   www.google.com
Address: 172.217.26.132
Name:   www.google.com
Address: 2404:6800:4005:805::2004


timeout!

timeout!

timeout!
Server:     200.100.200.100
Address:    200.100.200.100#53

Non-authoritative answer:
Name:   www.google.com
Address: 172.217.26.132
Name:   www.google.com
Address: 2404:6800:4005:805::2004

^C

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么要用路由器的IP地址作为dns服务器的地址?

为什么即使使用代理服务器,我的真实IP地址仍然可见?

Google为什么使用本地DNS服务器的IP地址来定位我?

除了IP地址,DNS服务器还映射什么?

为什么nslookup结果总是来自服务器127.0.0.1

DNS服务器系统上的IP地址

nslookup为什么返回“ DNS请求超时”

Ubuntu 服务器有两个 IP 地址,不知道为什么

为什么“ nslookup com”返回此IP?

为什么即使服务器上没有运行这样的服务,getaddrinfo也会返回服务端口?

Android DHCP分配伪造的DNS服务器

为什么Ubuntu Mate使用Google DNS服务器?

为什么 ipconfig 显示多个 DNS 服务器?

为什么Ping和Dig提供的IP地址与nslookup不同?

路由器设置需要我的IP地址,DNS服务器和网关吗?

为什么在C语言的套接字编程中我们需要服务器本身的IP地址

为什么我在VirtualBox中的所有16.04服务器都具有相同的IP地址(10.0.2.15)?

仅在arp表中看到默认网关,而在dns服务器ip中看不到,为什么?

为什么要在Ubuntu服务器上安装DNS服务器?

ISP DNS服务器为什么不与根服务器同步?

Kuebrnetes Pod在minikube上获得错误的DNS名称服务器IP地址

“ DNS服务器不是有效的IP地址”错误

DNS服务器IP地址未写入resolv.conf

在所有正向查找区域中查询特定 IP 地址的 DNS 服务器?

使用 IP 地址而不是 DNS 的身份服务器 .well-known/openid-configuration

SSM文档中的Active Directory DNS服务器IP地址列表

使用其他DNS服务器可以影响一个IP地址吗?

如何将本地DNS服务器转换为IP地址?

组织DNS服务器如何跟踪主机名=> IP地址映射?