本文作者:Sp4rkW(信安之路 2019 年度第二次投稿)
多图预警,建议wifi
下阅读文章~~~
钓鱼 wifi 相信大家都听说过,但你是否真的懂得钓鱼 wifi 的原理呢?是否真的能动手去搭建一个移动钓鱼 WiFi?是否能想到几点关于钓鱼 WiFi 的防御手段呢?
希望通过这篇文章分享,能够帮你解答一些上面的疑惑
环境需求
1、手机热点
2、kali 虚拟机
3、移动网卡
选用手机热点而不选用一般的 wifi,是因为想要搭建一个移动式钓鱼 wifi,一个手机热点就可以保障"移动",当然,手机热点可以不需要,但是一个钓鱼 wifi 如果不可以让用户正常上网,很容易就会被发现这个 wifi 有问题。
环境配置
好了,接下来我们开始吧
首先,我们需要对 kali 虚拟机做一些配置,将他的网络配置到物理机网段,如果你有 kali 物理机的话,这些步骤可以跳过。但是,如果不是专用,不建议使用 kali 做主系统~
使用ifconfig
查看虚拟机当前 ip 地址
再使用ipconfig
查看一下当前物理机实际 ip 地址,可以看到当前虚拟机和物理机不在一个网段
因为我们使用的是nat
模式,需要切换为桥接模式。我们找到编辑-虚拟网络编辑器,然后点击更改配置
选择桥接模式,并且手动将网卡调整为你当前笔记本无线网卡
笔记本网卡去哪里看呢?
打开控制面板,找到网络链接,这个显示 wlan 的就是你目前正在使用的无线网卡,至于网络,连接的当然是我的手机热点,右键选择属性,之后就可以看到这个网卡的名称了
这里还有一个需要注意的是,vmware bridge protocal
如果没有默认勾选,一定要勾选上
之后回到虚拟机,打开虚拟机设置,切换到网络适配器,接着更改为桥接模式
这一切设置好之后,重启 kali 的网络即可
代码语言:javascript复制
完成之后,再次使用 ifconfig 查看虚拟机当前 ip 地址
可以看到,此时虚拟机的 ip 地址已经和物理机 ip 地址位于同一网段内,测试下当前虚拟机是否可以正常上网
ok,可以正常访问百度
接下来我们插入 usb 网卡,这里我选择的是某品牌的随身 WiFi(别问我什么品牌,问就是不知道),可以切换成网卡模式,最主要的是足够便宜并且好用
插入之后,选择 kali 虚拟机接入
接入之后,我们再次使用ifconfig
命令,可以看到多出了一个wlan0
网卡
由于我们之后需要配置dhcp
服务,所以我们需要给虚拟网卡eth0
设置一个静态 ip 地址
配置如下:
代码语言:javascript复制
ctrl s 保存之后退出,之后重启 kali 使配置生效
代码语言:javascript复制
重启之后,使用命令可以看到虚拟机的地址已经变成了 226
之后我们将网卡wlan0
设置为监听模式,当然,这里必须要先将网卡关闭之后再进行模式设置
之后我们启动这个网卡,可以看到因为有进程占用,所以启动失败,直接按照提示 kill 掉相关进程即可
代码语言:javascript复制
启动网卡之后,我们继续使用命令,去创建 WiFi,这里 wifi 的名字我命名为freewifi
,值得注意的是,网卡启动之后,名称已经变化,多了mon
后缀
这个命令行保持进程,我们新开一个命令行,首先我们为 wifi 配置网关,这里我们使用wifi
创建时,新建的at0
虚拟网卡做网关,首先启动at0
启动 at0 之后,可以看到它现在没有 ipv4 地址,所以我们需要分配一个地址,再次前往地址配置文件,输入这些关于 at0 的命令,保存退出
代码语言:javascript复制
之后再次重启 kali 的网络,可以看到现在at0
已经拥有 ip 地址了
一个 wifi 必不可少的当然是dhcp
服务,如果没有的话,手机还是不能够连接 wifi 的,所以我们通过这条命令来安装 dhcp 服务,kali 自身默认没有这个服务
安装完成之后,我们需要对 dhcp 做一些配置
代码语言:javascript复制
配置如下:
代码语言:javascript复制
这里设置了一下网段,子网掩码,ip 分配范围,网关地址,默认 dns 服务器地址,dns
服务器地址是我当前 kali 的 ip 地址,这个问题之后解释,然后我们再打开另一个配置文件,将 at0 指定为 dhcp 请求的网卡
现在,dhcp
服务就配置完毕了,我们需要启动dhcp
服务
值得注意的是,kali 的一个缺点是,启动服务时有些异常并不会报,需要使用 status 去查看一下服务是否真正的正常运行了,当然,报错的时候,也可以使用 status 去查看具体的报错信息
代码语言:javascript复制
这里绿色的 active 告诉我们,服务一切正常
到目前为止,我们实现了哪些功能?
创建 WiFi,并且可以让用户正常连接,如果刚刚dhcp
的dns
设置为114.114.114.114
。现在已经可以正常连接 wifi 并正常进行dns
解析了,但钓鱼 wifi,肯定要在 dns 做一些处理操作
所以下一步,我们需要搭建自己的dns
服务,将绝大多数域名解析转发给正常的dns
服务器,而我们需要钓鱼的域名地址解析到本地即可
这里我使用到的dns
软件是dnsmasq
,参考文章:
https://sp4rkw.blog.csdn.net/article/details/101681716
还是先需要 apt 安装一下,kali 自身并不携带
代码语言:javascript复制
打开配置文件,添加这些配置
代码语言:javascript复制
/etc/resolv.conf
我们来看一下具体内容
可以看到其中的 ip 地址是默认网关地址,这个配置指向的是dns
服务器的 ip 地址,而我们的 dns 服务器就是建立在 kali 上面的,所以需要将其修改为 kali 虚拟机 ip 地址
我们去查一下 baidu.com 和 csdn.net 的 dns 解析
在这里将 csdn 的域名解析到百度的 ip 地址上
全部改完之后,启动 dns 服务即可
代码语言:javascript复制
查询 dns 解析,可以看到,百度域名正常解析,csdn 的已经被我解析到了 baidu 的 ip 地址
测试手机连入 wifi,还是不可以正常上网,为什么?因为我们还需要进行流量转发,wifi
所在网段不能连接互联网
首先打开 linux 内核的转发模块,
代码语言:javascript复制
使用命令看到 iptables 目前没有任何规则
使用 iptables 进行规则编写,进行流量转发
代码语言:javascript复制
之后就可以手机连入 wifi,正常上网了
到这里就结束了?其实思路已经结束了,但实际效果我就以我的校园网登陆页面再进行一个演示
回到物理机(win10),先使用 google 浏览器的插件将校园网页面整个扒下来
之后我们需要做的就是,启动 phpstudy_pro 构建一个页面
设置 apache 的页面允许局域网所有机器访问
再回到 kali 虚拟机修改 dns 解析,配置如下:
最终效果:
演示效果到这里就结束了,整个文章的演示视频已经上传到我的 b 站,传送门:
https://www.bilibili.com/video/av70386636/
我们再来聊聊怎么去防范钓鱼 wifi,我个人总结了以下几点:
1、不轻易连接公共场所的 wifi
2、连接 wifi 能够上网之后,请将 dhcp 改为静态地址,自行设置 dns 服务器,如 114.114.114.114
3、如果上网遇到特别卡的情况,建议断开网络,有可能你的流量遭到了拦截改包
4、一定要注意浏览器上面的 https 是否一直显示是安全的!
作者能力有限,文中如有错误,欢迎指正~