写在前面
免责声明:本文章所涉及内容仅可用于学习交流,请在合法授权下使用,严禁利用文中技术进行违法行为,否则后果自负!
fluxion实现伪wifi和伪校园网钓鱼
一、简述过程
这里我首先实现fluxion对自己的热点破解。通过这个模拟我们掌握了破解一般wifi的方式。然后引入将自己的热点登录页面换成了校园网的登录页面,实现登录界面的创新。通过这个模拟我们掌握了如何搭设盗取校园账号和密码的钓鱼wifi。这种方式下fluxion只作为我们模拟ap,实现wifi钓鱼的发送,而抓包分析包,最后抓取关键信息将由我们自己完成(当然这些过程也并不复杂)
二、具体攻击的实现
(1)实现基本的fluxion钓鱼操作
在命令行里先打开fluxion,即先输入fluxion然后输入sudo ./fluxion.sh
进入fluxion
要实现fluxion的功能,就要先抓到wpa的握手协议包(这个握手包是验证后面用户在钓鱼网页输入key是否正确所需要的)
所以在这里我们先选择2
然后我们开始扫描附近的wifi,所以在这里选择3
这里我只显示我自己的热点
选择自己要入侵的wifi
这里选择2或者3(这里是在选择获得握手包的方式)
这里选择推荐(这里是在选择验证的方式)
然后进入这个抓取握手包的程序,只要有人连这个wifi,我们就能够实现监听握手包
左下角出现攻击成功之后我们就选择1,开始我们抓取真正的密码
我们已经回到首页,选择1
我们在这里因为已经抓到这个包,所以就打y就行了
这里应该选择刚刚那个监听功能的网卡我选择2(这里让wlan0去模拟假ap,然后eth0会自动攻击原来的wifi让其里面的用户全部自动掉线)
选推荐(选择ap的类型)
选1 用刚刚抓取到的hash包
选3(用推荐的hash验证方法)
选1创建ssl证书(让连接的用户没有连接的方式是https,也就是浏览器不会显示连接不安全等字样)
选1断开原网络(这里是关闭了网卡的转发功能,让连接的用户没办法上网)
这里我们可以选择用户输入密码的sites,就是说同名的公开wifi的网页登录界面的选择,这里我们选择chinese的通用网页即3
就会出现这六个画面,有dns分配,dhcp分配ip ,web服务器等信息
原理如下图
此wifi中的人就会发现原来的攻击目标wifi无法登录了,然后出现一个同名的wifi,一旦连接这个无锁的wifi我们就会登上一个我们刚刚选择的中文通用的网页
如果wifi一旦密码错误就会出现wifi的密码错误的界面(就是根据刚刚的wpa握手包来自动判断)
然后如果密码正确就会出现这个界面(但是客户还是上不了网)
至此实验用户已经上钩,我们实现了对wifi密码的抓取
这里完成之后我们就可以退出程序,在fluxion文件夹里attacks文件夹里captive portal里有pwdlog或者netlog点开(pwdlog会保存输错的密码,netlog只保存成功登录wifi的密码)
就能找到刚刚热点的密码
(2)用fluxion实现校园网界面的镜像wifi制作
下面我在保持fluxion完整性的条件下,增加校园网的钓鱼网页实验的制作
首先找到自己校园网的页面然后按ctrl s将这个网页保存到桌面,然后桌面上就会存在一个打包好的文件夹
在fluxion中存储模板sites的文件夹中找到一个你想要替换的网页(在这里我们可以根据我给的图片找到目录的绝对路径)
注意要将我们被替换的文件夹改名,把我们桌面上的文件夹改成这个被替换文件夹的原名(注意这个一点都不要错,那个被替换的文件可以随便改名)
重新基操一遍fluxion
然后我们在刚刚那个创造邪恶的双胞胎接入点时,选择sites的时候,选择这个被替换包的原名,那么之后实验中用户登录界面就会变成校园网的界面
注意这个攻击的网络最好不要选择校园网,可以自己创造一个同名的校园网id的热点,然后选择攻击这个我们创造的热点,最终实现的效果是一共出现三个wifi,一个是正常的校园网,一个是我们自己上了锁的同名热点wifi,最后一个是实现了监控的钓鱼wifi,一旦有用户连接这个wifi,我们就能实现数据监听,得到其账号和密码
但是因为我们替换了原来的界面,那么账号和key将无法存入attacks的文件夹中,并且无法完成账号密码的正确性检验,那我们应该如何实现监听呢?
目前我能想到的方法就是tcpdump,将所有与这个钓鱼网页有关的数据全部抓包,然后再进行过滤得到账号密码(由于无法验证账号和key的正确性,我们应该相对抓包时间延长,不求全部账号密码正确,只求能得到正确的账号和key)通过直接打开wireshark实现实时抓包同样可以实现。
具体操作实现方法如下:
在开启镜像网页之后输入以下命令
sudo tcpdump tcp port 80 -w rasul.cap
后面这个.cap之前的名字就是保存的包名可以任意改
之后就考验大家分析的能力了,用wireshark点开之后我们看看筛选查看账号和key(我觉得我们可以自己试着登录自己的钓鱼界面,然后找到一个有特征的筛选方法)
比如在这里通过筛选条件,我找到了实验时自己登录时输入的账号和密码
至此,我们完成了对校园网钓鱼网站实验的所有内容,其实十分容易实现。思路就是把fluxion给的标准的登录sites换成校园网的登录网址,实现进一步迷惑用户,达到钓取账号和密码的意图。
三、原理分析
扫描和选择目标 AP:首先,Fluxion 会扫描周围可用的无线接入点,并允许用户选择一个特定的目标 AP 进行攻击。
抓取握手包:然后,Fluxion 尝试捕获目标 AP 和客户端之间的四元组信息,这些信息通常包含在一个称为“握手包”的数据包中。这个握手包是 WPA/WPA2 协议的一部分,在客户端与 AP 建立连接时进行交换,用于验证客户端提供的密码是否正确。
启动虚假 AP:接下来,Fluxion 会创建一个虚假的无线接入点(Fake AP),其 SSID、MAC 地址等参数都与目标 AP 相同,这样就可以欺骗附近的设备连接到伪造的 AP 而不是真实的 AP。
Web 接口诱骗:当设备连接到假 AP 后,Fluxion 会提供一个伪造的认证界面,模仿真实的登录页面,诱使用户输入他们的 Wi-Fi 密码。这个页面通常是一个 HTTPS 网站,使用自签名证书以避免浏览器警告。
密码验证:一旦受害者在伪造的登录页面上输入了他们的密码,Fluxion 就会收到这个信息,并尝试用它去解密之前捕获的握手包。如果密码正确,握手包应该能够被成功解密,从而证明密码已经被窃取。
恢复网络:最后,Fluxion 会关闭虚假的 AP,并将受影响的设备重新连接回原来的网络。
四、防范
用Ettercap和set中间人攻击和钓鱼
一、确定攻击目标
当我们破解了密码之后,我们对局域网内的其他机器还能进行什么操作呢,我们可以尝试对局域网内的其他目标实现监控和欺骗。怎么达到这个效果?通过arp欺骗和dns欺骗我们可以实现对目标主机监控,让目标主机的界面呈现出我们想要提供的网页。这里我们用到的工具是ettercap和set
二、具体攻击实现
我们可以将这个过程分为两个部分,一个是实现对网络里的主机的arp欺骗也就是让其他主机认为我的主机是网关,网关认为我是其他主机,让我的主机成为传递信息的中间人,在传递信息的时候我们就能对信息进行监控
先看看我们的网关和自己的ip(第一个是攻击主机的ip 第二个是目标主机的ip)
我们知道 目标尾缀是45 网关是.1
然后用ettercap扫描一下
可以看到有这么多主机在这个局域网中,我们将.1加入target1 .45加入target2
然后点击arp poisoning就可以开启arp欺骗了(这个时候我们开启wireshark抓包工具就能获取主机的活动记录)就是说通过工具,第一个监控功能实现了。
然后我们现在尝试dns欺骗到我们自己的钓鱼网页里去,首先要做的就是将ettercap的配置文件改一下,让所有的url请求都到我们 指定的ip上
*是指让所有的网站都转换到192.168.3.198
然后我们用set工具将这个ip开放一个钓鱼网
我们选择的是谷歌登录的模板,set工具支持将部分网站克隆
这个时候我的主机访问kali的ip就变成了
输入的密码在kali上可以自动捕获
然后我们试着用ettercap将我们的目标ip进行dns欺骗
也就是先将这个我的主机进行arp欺骗操作
然后将我们刚刚配置的文件激活
现在在我的主机尝试ping一下百度
可以看到目标的ip地址已经变成了kali的ip地址192.168.3.198(但是连接不太稳定)
但是在登录网站的时候还是出现的是百度的网站,这是什么原因?
是因为百度dns有缓存
这个时候因为我的主机有dns的缓存所以将浏览器的dns刷新一下
可以看到浏览器已经被欺骗,将www的网站全部转到192.168.3.198中了
这里我们看到网址输入的是csdn的网站但是已经被转到了我们预设的钓鱼网站中(域名没有改变)
可以找到通过的路由只有我们的攻击主机
三、原理分析
中间人攻击(Man-in-the-Middle Attack,MITM)是一种网络安全攻击,其中攻击者秘密地插入自己作为通信双方之间的代理。他们能够拦截、读取、修改或伪造消息,并且在许多情况下,受害方甚至不会意识到存在这种攻击。ARP欺骗和DNS欺骗是两种常见的用于实现中间人攻击的技术。
ARP欺骗
ARP(Address Resolution Protocol)欺骗是利用ARP协议的弱点来改变网络设备上的ARP缓存表项的一种攻击方式。ARP协议负责将IP地址映射到物理(MAC)地址。每个主机都会维护一个本地的ARP缓存表,用于快速查找目的IP对应的MAC地址。
ARP欺骗原理:
攻击者首先通过发送虚假的ARP应答数据包来欺骗目标计算机,使其相信攻击者的MAC地址就是网关的MAC地址。
受害机收到arpReply数据包后,更新它自己的ARP表为[ip1,mac3],即把网关的IP地址与攻击者的MAC地址关联起来。
于是原本正常的网络请求变成这样:主机将外网请求包发送给攻击者,而不是真正的网关;攻击者截获这些数据包,然后可以查看、篡改或重定向它们,然后再转发给真正的网关。
DNS欺骗
DNS(Domain Name System)欺骗是一种欺骗技术,攻击者试图改变域名解析过程,使受害者访问错误的网站或者服务器。DNS是一个分布式数据库系统,负责将易于记忆的域名转换为IP地址。
DNS欺骗原理:
攻击者会创建一个恶意的DNS服务器,这个服务器对特定的查询提供错误的答案。
当受害者尝试访问特定的网址时,他们的电脑会询问攻击者的恶意DNS服务器该网址的IP地址。
攻击者返回一个假的IP地址,通常是攻击者控制的一个服务器。
受害者浏览器根据错误的IP地址连接到攻击者的服务器,而非原始的目标服务器,从而导致信息泄露或被引导至恶意站点。
总的来说,ARP欺骗和DNS欺骗都是通过操纵网络中关键的数据传输机制来进行中间人攻击的。要保护自己免受此类攻击,最重要的是保持操作系统和网络设备的更新,使用最新的安全实践,并定期进行安全审计。
四、防范
防范ARP欺骗:
使用静态ARP绑定,手动配置ARP表项。
使用ARP防护软件或防火墙规则阻止非法ARP请求。
更新系统和路由器固件以修复已知漏洞。
防范DNS欺骗:
使用安全的DNS服务,如DNSSEC(DNS Security Extensions)。
使用HTTPS加密所有网页浏览,这使得即使DNS被劫持,也能确保用户与正确网站之间的通信内容不被窃听或篡改。
定期检查系统是否有恶意软件或病毒,因为它们可能篡改系统的DNS设置。
使用Hosts文件锁定常用网站的IP地址,防止DNS欺骗。