为什么即使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查询时的结果:

[[email protected] ~]$ ssh 192.168.1.143
Last login: Fri Oct 25 14:32:11 2019 from 192.168.1.110
[[email protected] ~]$ 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 
[[email protected] ~]$ 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地址仍然可见?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android DHCP分配伪造的DNS服务器

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

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

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

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

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

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

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

DNS服务器系统上的IP地址

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

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

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

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

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