本文作者: 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 的网络即可
service networking restart
完成之后,再次使用 ifconfig 查看虚拟机当前 ip 地址
可以看到,此时虚拟机的 ip 地址已经和物理机 ip 地址位于同一网段内,测试下当前虚拟机是否可以正常上网
ok,可以正常访问百度
接下来我们插入 usb 网卡,这里我选择的是某品牌的随身 WiFi(别问我什么品牌,问就是不知道),可以切换成网卡模式,最主要的是足够便宜并且好用
插入之后,选择 kali 虚拟机接入
接入之后,我们再次使用 ifconfig
命令,可以看到多出了一个 wlan0
网卡
由于我们之后需要配置 dhcp
服务,所以我们需要给虚拟网卡 eth0
设置一个静态 ip 地址
gedit /etc/network/interfaces
配置如下:
auto eth0 #指定网卡
iface eth0 inet static#说明配置静态地址
address 192.168.43.226#静态ip设置
netmask 255.255.255.0#子网掩码
gateway 192.168.43.1#网关
ctrl+s 保存之后退出,之后重启 kali 使配置生效
roboot
重启之后,使用命令可以看到虚拟机的地址已经变成了 226
之后我们将网卡 wlan0
设置为监听模式,当然,这里必须要先将网卡关闭之后再进行模式设置
ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up
之后我们启动这个网卡,可以看到因为有进程占用,所以启动失败,直接按照提示 kill 掉相关进程即可
airmon-ng start wlan0
启动网卡之后,我们继续使用命令,去创建 WiFi,这里 wifi 的名字我命名为 freewifi
,值得注意的是,网卡启动之后,名称已经变化,多了 mon
后缀
airbase-ng -e freewifi -c 11 wlan0mon
这个命令行保持进程,我们新开一个命令行,首先我们为 wifi 配置网关,这里我们使用 wifi
创建时,新建的 at0
虚拟网卡做网关,首先启动 at0
ifconfig at0 up
启动 at0 之后,可以看到它现在没有 ipv4 地址,所以我们需要分配一个地址,再次前往地址配置文件,输入这些关于 at0 的命令,保存退出
gedit /etc/network/interfaces
auto at0
iface at0 inet static
address 192.168.1.1
netmask 255.255.255.0
之后再次重启 kali 的网络,可以看到现在 at0
已经拥有 ip 地址了
一个 wifi 必不可少的当然是 dhcp
服务,如果没有的话,手机还是不能够连接 wifi 的,所以我们通过这条命令来安装 dhcp 服务,kali 自身默认没有这个服务
apt-get install isc-dhcp-server
安装完成之后,我们需要对 dhcp 做一些配置
gedit /etc/dhcp/dhcpd.conf
配置如下:
subnet 192.168.1.0 netmask 255.255.255.0{
range 192.168.1.100 192.168.1.150;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.150.222;#这里注意替换
}
这里设置了一下网段,子网掩码,ip 分配范围,网关地址,默认 dns 服务器地址, dns
服务器地址是我当前 kali 的 ip 地址,这个问题之后解释,然后我们再打开另一个配置文件,将 at0 指定为 dhcp 请求的网卡
gedit /etc/default/isc-dhcp-server
现在, dhcp
服务就配置完毕了,我们需要启动 dhcp
服务
service isc-dhcp-server restart
值得注意的是,kali 的一个缺点是,启动服务时有些异常并不会报,需要使用 status 去查看一下服务是否真正的正常运行了,当然,报错的时候,也可以使用 status 去查看具体的报错信息
service isc-dhcp-server status
这里绿色的 active 告诉我们,服务一切正常
到目前为止,我们实现了哪些功能?
创建 WiFi,并且可以让用户正常连接,如果刚刚 dhcp
的 dns
设置为 114.114.114.114
。现在已经可以正常连接 wifi 并正常进行 dns
解析了,但钓鱼 wifi,肯定要在 dns 做一些处理操作
所以下一步,我们需要搭建自己的 dns
服务,将绝大多数域名解析转发给正常的 dns
服务器,而我们需要钓鱼的域名地址解析到本地即可
这里我使用到的 dns
软件是 dnsmasq
,参考文章:
还是先需要 apt 安装一下,kali 自身并不携带
apt-get install dnsmasq
打开配置文件,添加这些配置
resolv-file=/etc/resolv.conf #设置resolv目录
strict-order #严格按照从上到下选择dns
listen-address=192.168.12.130 #这个ip是你当前机器的ip,如果只想本地访问可以改为127.0.0.1
address=/hello.me/127.0.0.1 #重要!!!泛解析在这里自己设置
#我这里设置的就是将hello.me域名指向127.0.0.1
server=8.8.8.8 #设置google dns为第一指向dns
server=114.114.114.114
/etc/resolv.conf
我们来看一下具体内容
可以看到其中的 ip 地址是默认网关地址,这个配置指向的是 dns
服务器的 ip 地址,而我们的 dns 服务器就是建立在 kali 上面的,所以需要将其修改为 kali 虚拟机 ip 地址
我们去查一下 baidu.com 和 csdn.net 的 dns 解析
在这里将 csdn 的域名解析到百度的 ip 地址上
全部改完之后,启动 dns 服务即可
service dnsmasq restart
查询 dns 解析,可以看到,百度域名正常解析,csdn 的已经被我解析到了 baidu 的 ip 地址
测试手机连入 wifi,还是不可以正常上网,为什么?因为我们还需要进行流量转发, wifi
所在网段不能连接互联网
首先打开 linux 内核的转发模块,
echo 1 > /proc/sys/net/ipv4/ip_forward
使用命令看到 iptables 目前没有任何规则
使用 iptables 进行规则编写,进行流量转发
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 192.168.43.226
之后就可以手机连入 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 是否一直显示是安全的!
作者能力有限,文中如有错误,欢迎指正~