博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WiFi攻击进阶版——Deauth攻击
阅读量:4043 次
发布时间:2019-05-24

本文共 1809 字,大约阅读时间需要 6 分钟。

一、背景介绍:

在之前我们做过Wi-Fi定位劫持实验,其实有关Wi-Fi的攻击方式还有很多,而且其中的大多数需要的设备和操作都很简单。今天就再介绍一种破坏性更强、隐蔽性更高的攻击方式——取消验证洪水攻击。

首先了解一下什么是取消验证洪水攻击:国际上称之为De-authenticationFlood Attack,全称为取消身份验证洪水攻击或验证阻断洪水攻击,通常被简称为Deauth攻击,是无线网络拒绝服务攻击的一种形式。它旨在通过欺骗从AP到客户端单播地址的取消身份验证帧来将客户端转为未关联/未认证的状态。下图是其攻击原理图:

 

通过这张图可以很直观地看出,攻击者向整个网络发送了伪造的取消身份验证报文,从而阻断了合法用户和AP之间的连接。当客户端试图与AP重新建立连接时攻击者还在继续向信道中发送取消身份验证帧,这将导致客户端和AP始终无法重连。

二、准备工作:

实验所用的设备是集成了ESP8266芯片的开发板NodeMCU。

它是一个开源的物联网平台,使用Lua脚本语言编程。在BadUSB安全实验中我们使用了Arduino IDE编程,它也同样可以支持NodeMCU,只需要添加驱动支持就可以了。

实验中下装到硬件设备的源码来自Stefan Kremser在Github(@spacehuhn)上的开源项目。

三、下装步骤:

安装好Arduino的编译器后需要对其进行相关设置。

在开发板管理器中下载NodeMCU配套使用的esp8266套件,并安装2.0.0版本。

更改好代码并设置好开发板的连接端口、闪存信息等后,用Arduino IDE将代码烧录进开发板。

四、攻击测试:

1)    设备通电后,使用手机或电脑连接节点发出的Wi-Fi网络“pwned”。连接成功后打开浏览器转到“192.168.4.1”。

2)    点击“I`VE READ AND UNDERSTOOD THE NOTICE ABOVE”后就可以看到AP扫描界面。

3)    搜索可攻击的网络,并选择要攻击的网络。

4)    点击上方的“Stations”可以扫描该网络下的设备,对特定设备进行攻击。

5)    点击上方“Attacks”,可以看到当未选择Station时Selected Station处显示FF:FF:FF:FF:FF:FF-BROADCAST即对网络下所有设备进行攻击。选择不同攻击方式点击“START”开始攻击。我们所使用的是Deauth的攻击方式。

五、测试结果:

目标主机ping通百度后对其进行攻击,可以看到请求超时,关闭攻击后恢复正常。

六、总结:

在被攻击后,客户端会尝试再次连接AP,但因为攻击者在持续攻击所以还是会被断开。因此在测试时也会发现同一网络下不同设备网卡对这种攻击方式的抵御能力也是不一样的,同理对不同路由器的影响也不相同。有的设备会产生直接断网的效果,有的设备则是短暂地断开连接。

除此之外我们总结了本次实验使用的攻击方式和硬件设备的一些特点和警示:

  • 综合攻击:

仅仅是下线所有客户端对攻击者而言是没有意义的,但这种攻击方式可以结合钓鱼Wi-Fi的应用,阻断你周围的可用网络后开出例如名为“CMCC”或“ChinaNet”的伪造节点,通过伪造节点盗取手机号、密码或验证码等信息。

  • 隐蔽性强:

之前的实验中我们有用到无线网络安全中的常用工具Aircrack-ng,这款工具的能力显然比我们今天使用的节点要更强大同时也能实现相同的功能,但是NodeMCU的便携性和隐蔽性更强,可以直接连接手机或者移动电源供电:

可以想象把它放入移动电源的盒中并使用手机供电的情况下是很难被发现的,其隐蔽性比带着电脑和天线出门要高得多。

  • 防范措施和警示:

  1. 经测试在5GHz频段上攻击效果不佳,如果路由器支持双频的话可以设置一个5GHz频段信道。
  2. 支持“Wi-Fi保护访问版本2”认证方式后设备就能抵御攻击,基于此可以去检查你的AP固件生产厂商的升级版本,在确保该版本是支持“管理帧保护”功能后,才能抵御“解除认证”攻击和“断开关联”攻击。Windows8和Windows8.1及以上版本已经支持该认证方式。
  3. 通过之前的WannaCry病毒扩散事件也可以看出,很多时候不是协议或系统漏洞未能修复导致的安全隐患,而是由于用户安全意识不足,未能及时更新固件、补丁或是开启安全选项导致安全问题的产生。及时升级固件、打补丁是必要的。
你可能感兴趣的文章
java自定义容器排序的两种方法
查看>>
如何成为编程高手
查看>>
本科生的编程水平到底有多高
查看>>
AngularJS2中最基本的文件说明
查看>>
从头开始学习jsp(2)——jsp的基本语法
查看>>
使用与或运算完成两个整数的相加
查看>>
备忘:java中的递归
查看>>
DIV/CSS:一个贴在左上角的标签
查看>>
Solr及Spring-Data-Solr入门学习
查看>>
Vue组件
查看>>
python_time模块
查看>>
python_configparser(解析ini)
查看>>
selenium学习资料
查看>>
<转>文档视图指针互获
查看>>
从mysql中 导出/导入表及数据
查看>>
HQL语句大全(转)
查看>>
几个常用的Javascript字符串处理函数 spilt(),join(),substring()和indexof()
查看>>
javascript传参字符串 与引号的嵌套调用
查看>>
swiper插件的的使用
查看>>
layui插件的使用
查看>>