WiFi攻击进阶版——Deauth攻击

一、背景介绍:

在之前我们做过Wi-Fi定位劫持实验,其实有关Wi-Fi的攻击方式还有很多,而且其中的大多数需要的设备和操作都很简单。今天就再介绍一种破坏性更强、隐蔽性更高的攻击方式——取消验证洪水攻击。
首先了解一下什么是取消验证洪水攻击:国际上称之为De-authentication Flood 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病毒扩散事件也可以看出,很多时候不是协议或系统漏洞未能修复导致的安全隐患,而是由于用户安全意识不足,未能及时更新固件、补丁或是开启安全选项导致安全问题的产生。及时升级固件、打补丁是必要的。

原文地址:http://blog.51cto.com/13620939/2074636

时间: 2024-10-31 14:15:32

WiFi攻击进阶版——Deauth攻击的相关文章

HID攻击进阶——WHID injector

前言 HID是Human Interface Device的缩写,意思是人机接口设备.它是对鼠标.键盘.游戏手柄这一类可以操控电脑设备的统称.延伸出的WHID代表基于Wi-Fi的HID注射器,即对HID攻击进行无线化攻击时的一种注入工具.本次实验采用的攻击原理如下图: 攻击者使用ESP8266作为AP,在自己的电脑创建客户端连接AP.在客户端键入命令发送到ESP8266,它再转发给Arduino Leonardo.利用Arduino中的Keyboard库就可以使用传输的命令控制目标主机的键盘.

Azure上Linux VM DDOS攻击预防: 慢速攻击

在上篇博客(http://www.cnblogs.com/cloudapps/p/4996046.html)中,介绍了如何使用Apache的模块mod_evasive进行反DDOS攻击的设置,在这种模式中,主要预防的是对http的volume attack,然而DDOS的攻击方式,各种工具非常多,随便搜一搜就知道了,我们回过头来看看,什么叫DOS/DDOS,看看维基百科: "拒绝服务攻击(Denial of Service Attack,缩写:DoS)亦称洪水攻击,是一种网络攻击手法,其目的在于

java集合框架小结(进阶版)之HashMap篇

基本概念: Hash(哈希):hash一般也译作“散列”.事实上,就是一个函数,用于直接定址.将数据元素的关键字key作为变量,通过哈希函数,计算生成该元素的存储地址. 冲突:函数是可以多对一的.即:多个自变量可以映射到同一函数值.一般而言,不同的key的hash值是不同的.在往hash表中映射的时候,不同的hash值可能映射到同一存储地址,这种情况被称为冲突. 解决冲突的方法: 1. 链表法:将冲突的各个元素用一个一维数组来维护.(java源码实现) 2. 开发寻址法:具体的有线性探测法.二次

java集合框架小结(进阶版)之HashSet篇

建议先看下:java集合框架小结(进阶版)之HashMap篇 基本概念: hashSet: 根据java集合框架小结(初级版)图示,HashSet是AbstractSet的一个子类,是基于Hash算法的Set接口的实现,顾名思义.允许添加null. --------------------------------------↑ 以上都是扯淡 ↑,↓ HashSet完全是在挂羊头卖狗肉 ↓------------------------------------------- 何谓挂羊头卖狗肉?大家

层序遍历及其进阶版

输入为:abd##eh###cfi##j##g## 1.普通层序遍历:输出为一行 2.进阶版1:输出每一层,从左向右依次输出 3.进阶版2:S型输出每一层,即从右向左和从左向右交替输出 #include<iostream> #include<vector> using namespace std; template<class T> struct BiNode { T data; BiNode<T>* leftchild,*rightchild; }; te

ES系统封装教程 高级进阶版 提供Wind7,xp系统下载

 ES系统封装教程 高级进阶版,提供我自己封装的Wind7 x86&x64和XP三个版本的系统下载.这个教程不是为没有基础的人准备的,要想从头学起,我推荐几个基础的教程. 1.使用 VMware Player 创建适合封装的虚拟机 2.使用 Easy Sysprep v4 封装 Windows XP 基础篇 3.使用 Easy Sysprep v4 封装 Windows 7 凡是里面用到的的工具我都会提供下载地址. 虚拟机VM ware10 .系统补丁到2014年10月.系统运行库.封装用的

zip伪加密文件分析(进阶版)

作者近日偶然获得一misc题,本来以为手到擒来,毕竟这是个大家都讨论烂了的题,详情访问链接http://blog.csdn.net/ETF6996/article/details/51946250.既然作为进阶版,当然得对的起这括号里三个字,那道题我断断续续研究了两天,才勉强算是破解了.不废话了,直入主题. 对于普通的zip文件有了解的应该都认得下面这张图片: 对于其中各个字段的含义请大家访问首行提供的链接学习,对于了解过的小伙伴接着往下看,以下是题目中的截图: 仔细点研究会发现这里有五个50

Metasploit自动攻击和选择模块攻击详解

Author:魔术@Freebuf.com 0×1自动攻击 终端启动Metasploit,因为我现在Source Code,所以这样启动! 连接数据库 安装方法,执行以下命令即可(请用ROOT执行). deb http://ubuntu.mirror.cambrium.nl/ubuntu/ precise main universe 添加软件源 sudo apt-get install postgresql sudo apt-get install rubygems libpq-dev apt-

(简单母函数进阶版,暴力)hdu 2069 Coin Change

Coin Change Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14857    Accepted Submission(s): 5024 Problem Description Suppose there are 5 types of coins: 50-cent, 25-cent, 10-cent, 5-cent, and