多图预警,建议wifi
下阅读文章~~~
前言
钓鱼wifi相信大家都听说过,但你是否真的懂得钓鱼wifi的原理呢?是否真的能动手去搭建一个移动钓鱼WiFi?是否能想到几点关于钓鱼WiFi的防御手段呢?
希望通过这篇文章分享,能够帮你解答一些上面的疑惑
环境需求
- 手机热点
- kali虚拟机
- 移动网卡
选用手机热点而不选用一般的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解析,配置如下:
最终效果:
演示效果到这里就结束了
我们再来聊聊怎么去防范钓鱼wifi,我个人总结了以下几点:
- 不轻易连接公共场所的wifi
- 连接wifi能够上网之后,请将dhcp改为静态地址,自行设置dns服务器,如114.114.114.114
- 如果上网遇到特别卡的情况,建议断开网络,有可能你的流量遭到了拦截改包
- 一定要注意浏览器上面的https是否一直显示是安全的!
作者能力有限,文中如有错误,欢迎指正~
整个文章的演示视频已经上传到我的b站,传送门,如果能点个关注,那就在好不过了
转载:https://blog.csdn.net/wy_97/article/details/102361191