WIFI被蹭引发的DNS欺骗
阅读本文大概需要 2 分钟
首先在这里祝各位 2022 新年快乐!
元旦三天假,今天一个人在家舒舒服服的看斗破。
![](https://img.haomeiwen.com/i7576234/a88adea7badb5abf.png)
看着看着视频突然变得一卡一卡的,每过一会儿就显示加载中。我心想不应该啊,以我的网速,看个 1080p 是不可能卡的,况且我也没有在下东西。
难道是被人蹭网了?于是我登录路由器一看,果然有一台陌生的设备。想起之前图方便,WIFI 密码设置的是弱口令,估计是被人试出来了。
![](https://img.haomeiwen.com/i7576234/4548f7c402c50c0d.png)
原本想着直接拉黑便是,忽然又灵机一动,决定调戏这个蹭网者一番。然后决定给他整个 DNS 欺骗。
DNS(Domain Name Server)即域名服务器。正常情况下,当我们在浏览器输入网址时,会先向域名服务器请求该网址对应的 IP 地址,然后域名服务器便会返回 IP 地址,接着我们的机器就通过该 IP 与远程服务器建立连接,最终成功访问到目标网站。
以百度为例,浏览器输入 www.baidu.com
,域名服务器就会返回百度服务器的 IP 地址 163.177.151.110
。
使用 Wireshark
抓包可以清楚的看到整个过程。我首先向域名服务器也就是我的网关 192.168.0.1 询问了百度的 IP,接着它便给我返回了百度的 IP。如下图。
![](https://img.haomeiwen.com/i7576234/b98167afbb513795.png)
而 DNS 欺骗,便是攻击者冒充域名服务器。当你向域名服务器请求域名对应的 IP 时,请求到了攻击者的服务器,这时他就给你返回一个假的的 IP 地址(一般是攻击者自己的服务器 IP),你拿着攻击者给你的 IP 地址去访问,然后就导致你最终访问的网站和你实际想访问的网站不一致。
举个栗子,你听说附近有一家餐馆很好吃,想去尝一下。于是你打开地图,跟着地图到了附近,但是找不到餐馆的具体位置。于是你打算问一下路人,万万没想到的是,这个路人是其他餐馆派来的托,然后他一通瞎指挥,你就被坑到别的餐馆去了。
![](https://img.haomeiwen.com/i7576234/2ada295c5abb00bc.png)
上面的栗子中,这个路人就类似网络中的域名服务器,如果是正常的路人,肯定会告诉你正确的地址,如果不是,那你就会被坑了。
基本概念讲完了,那么接下来我就开始攻击了,Kali Linux,启动!
![](https://img.haomeiwen.com/i7576234/0ec7b30dc84dba28.jpg)
使用 Ettercap
对目标进行 DNS 欺骗,在此之前,先编辑一下 Ettercap
的 DNS 文件。
vim /etc/ettercap/etter.dns
添加一行内容,设置所有域名地址的 IP 查询都返回 192.168.0.104 这个地址,而这个地址正是我的 Kali Linux 的 IP 地址。
![](https://img.haomeiwen.com/i7576234/d52fbf10e4a97b36.png)
退出并保存,接下来需要使用 Nginx
在本地开启一个网站。首先在 /var/www/html
下放入提前写好的网页。
![](https://img.haomeiwen.com/i7576234/fd1ed01c22a5c699.png)
index.html 文件内容如下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hack</title>
</head>
<body>
<p>朋友,乱蹭别人WIFI是不好的。</p>
<p>还是自己老老实实办个宽带吧!</p>
<img src="1.png"/>
</body>
</html>
开启 Nginx
服务器。
nginx
访问一下试试,结果居然 403 了。
![](https://img.haomeiwen.com/i7576234/b284514028a3afde.png)
原来是配置不对,我是以 root 运行的 Nginx
,但是配置文件 /etc/nginx/nginx.conf
中配置的用户是 www-data,将其改为 root 后使用 nginx -s reload
命令重启 Nginx
就可以了。成功访问如下。
![](https://img.haomeiwen.com/i7576234/c410076de6c3f8b9.png)
接着打开 Ettercap
,选择网卡,点击右上角的对勾确认,进入软件主界面。
![](https://img.haomeiwen.com/i7576234/8619ea02f8c81ccc.png)
首先扫描一波在线主机,找到对方的机器。
![](https://img.haomeiwen.com/i7576234/40aea7bdc9c562aa.png)
点击查看扫描到的主机列表。
![](https://img.haomeiwen.com/i7576234/d4f2d1ff587376d0.png)
根据 IP 可知 103 为目标机器,点击网关 192.168.0.1,Add to Target 2,点击目标机器 192.168.0.103,Add to Target 1。
打开 Current targets 视图。
![](https://img.haomeiwen.com/i7576234/7a28967b76c38c67.png)
可以看到已经添加进去了。
![](https://img.haomeiwen.com/i7576234/82e9e7df0e7007cb.png)
因为 DNS 欺骗是基于 Arp 欺骗的,所以首先开启 Arp 欺骗。
![](https://img.haomeiwen.com/i7576234/304251cdb29289ab.png)
接着开启 DNS 欺骗插件。
![](https://img.haomeiwen.com/i7576234/29aaadca5db40cf4.png)
双击 dns_spoof ,将其激活。激活后可以看到插件名前面有个 * 号。
![](https://img.haomeiwen.com/i7576234/effa80996af8e8ba.png)
最后一步,点击开始攻击。
![](https://img.haomeiwen.com/i7576234/6f048a8f7374c611.png)
不出意外的话,对方访问任何网站都会是下面这个样子。
![](https://img.haomeiwen.com/i7576234/6122c9e3b8ee92dd.png)
打开 Wireshark
开始抓包。
![](https://img.haomeiwen.com/i7576234/92024f220eebcb5f.png)
弄完之后,我就干饭去了。干完饭回来登录路由器一看,果然已经没有别人的设备了,看来是被我吓跑了。
查看 Wireshark
的抓包历史,也可以看到,随便一个域名,所返回给对方的 IP 都是我的 IP 地址,说明此次 DNS 欺骗是生效的。
![](https://img.haomeiwen.com/i7576234/8180988788598533.png)
又可以继续愉快的看斗破了!
![](https://img.haomeiwen.com/i7576234/50af6fafa985e1bc.png)