WIFI被蹭引发的DNS欺骗

阅读本文大概需要 2 分钟

首先在这里祝各位 2022 新年快乐!

元旦三天假,今天一个人在家舒舒服服的看斗破。

WIFI被蹭引发的DNS欺骗

看着看着视频突然变得一卡一卡的,每过一会儿就显示加载中。我心想不应该啊,以我的网速,看个 1080p 是不可能卡的,况且我也没有在下东西。

难道是被人蹭网了?于是我登录路由器一看,果然有一台陌生的设备。想起之前图方便,WIFI 密码设置的是弱口令,估计是被人试出来了。

WIFI被蹭引发的DNS欺骗

原本想着直接拉黑便是,忽然又灵机一动,决定调戏这个蹭网者一番。然后决定给他整个 DNS 欺骗。

DNS(Domain Name Server)即域名服务器。正常情况下,当我们在浏览器输入网址时,会先向域名服务器请求该网址对应的 IP 地址,然后域名服务器便会返回 IP 地址,接着我们的机器就通过该 IP 与远程服务器建立连接,最终成功访问到目标网站。

以百度为例,浏览器输入 www.baidu.com,域名服务器就会返回百度服务器的 IP 地址 163.177.151.110

使用 Wireshark 抓包可以清楚的看到整个过程。我首先向域名服务器也就是我的网关 192.168.0.1 询问了百度的 IP,接着它便给我返回了百度的 IP。如下图。

WIFI被蹭引发的DNS欺骗

而 DNS 欺骗,便是攻击者冒充域名服务器。当你向域名服务器请求域名对应的 IP 时,请求到了攻击者的服务器,这时他就给你返回一个假的的 IP 地址(一般是攻击者自己的服务器 IP),你拿着攻击者给你的 IP 地址去访问,然后就导致你最终访问的网站和你实际想访问的网站不一致。

举个栗子,你听说附近有一家餐馆很好吃,想去尝一下。于是你打开地图,跟着地图到了附近,但是找不到餐馆的具体位置。于是你打算问一下路人,万万没想到的是,这个路人是其他餐馆派来的托,然后他一通瞎指挥,你就被坑到别的餐馆去了。

WIFI被蹭引发的DNS欺骗

上面的栗子中,这个路人就类似网络中的域名服务器,如果是正常的路人,肯定会告诉你正确的地址,如果不是,那你就会被坑了。

基本概念讲完了,那么接下来我就开始攻击了,Kali Linux,启动!

WIFI被蹭引发的DNS欺骗

使用 Ettercap 对目标进行 DNS 欺骗,在此之前,先编辑一下 Ettercap 的 DNS 文件。

vim /etc/ettercap/etter.dns

添加一行内容,设置所有域名地址的 IP 查询都返回 192.168.0.104 这个地址,而这个地址正是我的 Kali Linux 的 IP 地址。

WIFI被蹭引发的DNS欺骗

退出并保存,接下来需要使用 Nginx 在本地开启一个网站。首先在 /var/www/html 下放入提前写好的网页。

WIFI被蹭引发的DNS欺骗

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 了。

WIFI被蹭引发的DNS欺骗

原来是配置不对,我是以 root 运行的 Nginx,但是配置文件 /etc/nginx/nginx.conf 中配置的用户是 www-data,将其改为 root 后使用 nginx -s reload 命令重启 Nginx 就可以了。成功访问如下。

WIFI被蹭引发的DNS欺骗

接着打开 Ettercap,选择网卡,点击右上角的对勾确认,进入软件主界面。

WIFI被蹭引发的DNS欺骗

首先扫描一波在线主机,找到对方的机器。

WIFI被蹭引发的DNS欺骗

点击查看扫描到的主机列表。

WIFI被蹭引发的DNS欺骗

根据 IP 可知 103 为目标机器,点击网关 192.168.0.1,Add to Target 2,点击目标机器 192.168.0.103,Add to Target 1。

打开 Current targets 视图。

WIFI被蹭引发的DNS欺骗

可以看到已经添加进去了。

WIFI被蹭引发的DNS欺骗

因为 DNS 欺骗是基于 Arp 欺骗的,所以首先开启 Arp 欺骗。

WIFI被蹭引发的DNS欺骗

接着开启 DNS 欺骗插件。

WIFI被蹭引发的DNS欺骗

双击 dns_spoof ,将其激活。激活后可以看到插件名前面有个 * 号。

WIFI被蹭引发的DNS欺骗

最后一步,点击开始攻击。

WIFI被蹭引发的DNS欺骗

不出意外的话,对方访问任何网站都会是下面这个样子。

WIFI被蹭引发的DNS欺骗

打开 Wireshark 开始抓包。

WIFI被蹭引发的DNS欺骗

弄完之后,我就干饭去了。干完饭回来登录路由器一看,果然已经没有别人的设备了,看来是被我吓跑了。

查看 Wireshark 的抓包历史,也可以看到,随便一个域名,所返回给对方的 IP 都是我的 IP 地址,说明此次 DNS 欺骗是生效的。

WIFI被蹭引发的DNS欺骗

又可以继续愉快的看斗破了!

WIFI被蹭引发的DNS欺骗

上一篇:Linux就该这么学课后题(下)


下一篇:linux – libpcap setfilter()函数和丢包