最初,为了知识和隐私,我与 DNS 泄漏作斗争,最终,我的计算机向 FAI 盒询问位于其范围之外的本地地址(另一个网络)......我花了几个小时试图了解其原因。
我想要的是 wlan1 检查 IP 是否在其范围内,或者(如果提供了主机名)使用 dnsmasq 检查主机名是否存在,在这种情况下,解析并告诉我它无法继续。相反,wlan1 继续检查并询问 FAI 框...
网络部分:
- 主计算机
- 一台 eeePC,运行我的 Web 开发
可以让我访问互联网的 FreeBox
- EEPC 未连接到 FreeBox
- 主计算机连接到FreeBox(
wlan1
) - 主计算机连接到 EEPC(
eth1
) - 主计算机运行
DnsMasq
于:53
首先我将其设置eth1
为静态自动 eth1
iface eth1 inet static
address 192.168.1.42
netmask 255.255.255.0
network 192.168.1.0
其次我remove
编辑--purged
并最终手动删除了(因为做得不好)与resolvconf
包相关的所有内容。
第三个我已经chattr +i /etc/resolv.conf
。该文件包含:
nameserver localhost
nameserver 84.200.69.80 84.200.70.40
我已经将strict-order
指令添加到/etc/dnsmasq.conf
最后我连接到了 WEP 安全的 WiFi:
wlan1 IEEE 802.11bgn ESSID:"***************"
Mode:Managed Frequency:2.417 GHz Access Point: ******
Bit Rate=9 Mb/s Tx-Power=16 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:**********
Power Management:off
Link Quality=40/70 Signal level=-70 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:132 Missed beacon:0
Ip 的wlan1
值为192.168.0.26
(DhCP
已获得);
eeePC 具有静态 IP:192.168.1.2
主计算机看到eePC上的正确界面:
ping -I eth1 eeepc
PING eeepc.dev (192.168.1.2) from 192.168.1.42 eth1: 56(84) bytes of data.
64 bytes from eeepc.dev (192.168.1.2): icmp_seq=1 ttl=64 time=0.554 ms
64 bytes from eeepc.dev (192.168.1.2): icmp_seq=2 ttl=64 time=0.178 ms
64 bytes from eeepc.dev (192.168.1.2): icmp_seq=3 ttl=64 time=0.171 ms
64 bytes from eeepc.dev (192.168.1.2): icmp_seq=4 ttl=64 time=0.158 ms
^C
--- eeepc.dev ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
但疯狂的是:
ping -I wlan1 192.168.1.2
PING 192.168.1.2 (192.168.1.2) from 192.168.0.26 wlan1: 56(84) bytes of data.
From 192.168.0.254 icmp_seq=1 Destination Host Unreachable
From 192.168.0.254 icmp_seq=2 Destination Host Unreachable
From 192.168.0.254 icmp_seq=3 Destination Host Unreachable
From 192.168.0.254 icmp_seq=4 Destination Host Unreachable
^C
--- 192.168.1.2 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3002ms
最差:
ping -I wlan1 eeepc
PING eeepc.dev (192.168.1.2) from 192.168.0.26 wlan1: 56(84) bytes of data.
From Freebox-Server.local (192.168.0.254) icmp_seq=1 Destination Host Unreachable
From Freebox-Server.local (192.168.0.254) icmp_seq=2 Destination Host Unreachable
From Freebox-Server.local (192.168.0.254) icmp_seq=3 Destination Host Unreachable
From Freebox-Server.local (192.168.0.254) icmp_seq=4 Destination Host Unreachable
^C
--- eeepc.dev ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3002ms
主计算机结束请求 FreeBox 解析 eeePC。我担心这是 DNS 泄漏。但最重要的是,我感觉我完全错过了一些东西……
答案1
好吧,我不同意您的 ping 输出代表 DNS 泄漏,因为 ping 不太可能真正尝试使用您的公共服务器解析私有 IP。首先请注意,.local 和 .dev 地址是使用本地资源(hosts 文件或 zeroconf 查找接口)解析的。没有证据表明您的任何地址被发送到公共服务器。他们永远不会用 .dev 或 .local 响应进行响应。
除此之外,攻击者实际上无法对您执行 ping 错误的接口,因为即使他们正在监视 DNS 服务器,以查找可能提供有关其信息的来自您的网络的请求,他们也只能得到他们输入的内容,因此不会发现任何内容。如果您没有对错误的网络执行 ping,那么 ping 就不可能将有关您的 LAN 的信息泄露给 DNS 服务器。
最后,如果存在问题,则问题出在 ping 本身上,并且没有办法改变其查找意愿,除非-n
在运行时使用它。DNS 泄漏发生在应用程序中,如果应用程序无法通过网络配置进行配置,则无法轻松修复。在您的案例中,您的网络布局旨在通过强制 eeepc 使用主 PC dnsmasq 来防止此类问题,因此来自 eeepc 的任何内容都是隐藏的,但如果您像本例中那样滥用主 PC,则可以绕过这些保护。
总之,您已经找到了一种绕过所设置的保护措施的方法,我不相信您实际上在这次测试中公开了任何信息,而且,除了您正在测试的特定场景之外,我不相信攻击者可以使用这种方法绕过任何保护措施,除非他们已经对主 PC 进行了强大的控制。