了解WiFi接入点安全性渗透测试工具。
-安德烈·埃塞尔
越来越多的设备通过无线传输连接到互联网,广泛可用的WiFi接入点为攻击者攻击用户提供了许多机会。通过欺骗用户连接到虚假的WiFi接入点,攻击者可以完全控制用户的网络连接,这将使攻击者能够嗅探和篡改用户的数据包,将用户的连接重定向到恶意网站,并通过网络发起其他攻击。
为了保护用户,告诉他们如何避免危险的在线操作,安全审计人员和安全研究人员必须评估用户的安全实践能力。用户经常在没有确认WiFi接入点安全的情况下连接网络。安全审计人员和研究人员需要了解这背后的原因。可以审计WiFi安全性的工具有很多,但是没有一个可以测试大量不同的攻击场景,也没有一个工具可以和其他工具很好的集成。
邪恶双生框架(ETF)用于解决WiFi审计过程中的这些问题。审计人员可以使用ETF集成各种工具,测试WiFi在不同场景下的安全性。本文将介绍ETF的框架和功能,然后提供一些案例来说明如何使用这个工具。
交易所交易基金的架构
ETF的框架是用Python写的[2],因为这种开发语言的代码非常易读,也方便其他开发人员为这个项目贡献代码。另外,很多ETF库,比如Scapy[3],都是针对Python开发的,所以很容易在ETF中使用。
ETF的架构(图1)分为不同的交互模块。框架设置写在一个单独的配置文件中。用户可以通过配置管理器类中的用户界面来验证和修改这些配置。其他模块只能读取这些设置并根据它们运行。
图1:1:邪恶双胞胎的框架
ETF支持各种与框架交互的用户界面。当前的默认界面是一个交互式控制台界面,类似于Metasploit[4]。图形用户界面(GUI)和命令行界面(CLI)正在开发,供桌面/浏览器使用,移动界面也是未来的替代选择。用户可以使用交互式控制台界面修改配置文件中的设置(最终使用图形用户界面)。用户界面可以与这个框架中存在的每个模块进行交互。
无线模块(AirCommunicator)用于支持各种无线功能和攻击类型。该框架定义了无线通信的三个基本支柱:数据包嗅探、自定义数据包注入和创建接入点。WiFi通信模块主要有三个:AirScanner、AirInjector和AirHost,分别用于数据包嗅探、数据包注入和接入点创建。这三个类封装在主WiFi模块AirCommunicator中,AirCommunicator在启动这些服务之前读取它们的配置文件。任何类型的WiFi攻击都可以通过使用这些核心功能中的一个或多个来构建。
为了使用MITM攻击(这是一种常见的攻击WiFi客户端的方式),ETF有一个名为efitm(中间邪恶双胞胎框架)的集成模块,用于创建一个网络代理来拦截和修改HTTP/HTTPS数据包。
许多其他工具也可以利用交易所交易基金创造的MITM效应。通过其可扩展性,ETF可以支持它们,而无需单独调用它们。您可以通过扩展Spawner类将这些工具添加到框架中。这使得开发人员和安全审计人员能够使用框架中预先配置的参数字符来调用程序。
扩展ETF的另一种方法是通过插件。有两种插件:无线插件和MITM插件。MITM插件是一个可以在MITM代理运行时执行的脚本。代理将HTTP请求和响应传递给可以记录和处理它们的插件。WiFi插件遵循一个比较复杂的执行过程,但对于想要参与开发并使用自己插件的贡献者来说,它仍然提供了一个相对简单的API。WiFi插件可以进一步分为三类,每一类对应一个核心WiFi通信模块。
每个核心模块都有一些触发响应插件执行的特定事件。例如,空气扫描器有三个定义的事件,它的响应可以被编程。事件通常对应于服务开始运行之前的设置阶段、服务运行时的中间执行阶段以及服务完成后的卸载或清理阶段。因为Python允许多重继承,一个插件可以继承多个插件类。
上面的图1是框架架构的总结。从ConfigurationManager指向的箭头表示模块将从中读取信息,指向它的箭头表示模块将写入/修改配置。
使用交易所交易基金的例子
ETF可以通过各种方式对终端用户的WiFi网络安全或WiFi安全意识进行渗透测试。下面的例子描述了这个框架的一些渗透测试功能,比如接入点和客户端检测,使用WPA和WEP类型的协议攻击接入点,创建邪恶的双接入点。
这些例子是使用ETF和允许无线数据捕获的无线网卡设计的。他们还在ETF设置命令中使用了以下缩写:
◈接入点SSID
◈大学学士学位
◈接入点信道
◈ CMClient MAC地址
在实际的测试场景中,确保使用正确的信息来替换这些缩写。
在取消身份验证攻击后捕获WPA四次握手数据包。
这个场景(图2)考虑了两个方面:反认证攻击和捕获WPA四次握手数据包的可能性。该场景从启用了WPA/WPA2的接入点开始,该接入点具有连接的客户端设备(在本例中为智能手机)。其目的是让客户端通过传统的去认证攻击(LCTT翻译:类似于拒绝服务攻击)与无线网络断开连接,然后在客户端尝试重新连接时捕获WPA握手包。一旦连接断开,就会手动重新连接。
图2:反认证攻击后捕获WPA握手包的场景
这个例子需要考虑的是ETF的可靠性。目的是确认工具是否总能捕获WPA握手数据包。每个工具都将被用来多次重现这个场景,以检查它们在捕获WPA握手数据包时的可靠性。
使用ETF捕获WPA握手数据包的方法不止一种。一种方法是使用空气净化器和空气喷射器的组合。另一种方法是只使用空气喷射器。以下场景使用两个模块的组合。
ETF启用AirScanner模块,分析IEEE 802.11数据帧,找到WPA握手包。然后,AirinJet CTO可以使用取消身份验证攻击来强制客户端断开连接并重新连接。要实现上述目标,必须在ETF上执行以下步骤:
1.进入空气净化器配置模式:配置空气净化器
2.设置空气扫描器不跳转频道:配置空气扫描器
设置通道嗅探通过WiFi接入点通道的数据(APC):设置固定_嗅探_通道=
使用凭证嗅探器插件启动空气扫描器模块:用凭证嗅探器启动空气扫描器
从被嗅探的接入点列表中添加目标接入点的bssid(接入点):添加接入点,其中ssid =
6.启用空气喷射器模块。默认情况下,它将启用取消身份验证攻击:启动空气喷射器
这些简单的命令设置使ETF能够在每次测试中执行成功有效的反身份验证攻击。ETF还可以在每次测试时捕获WPA握手数据包。下面的代码可以让我们看到ETF的成功执行。
███████╗████████╗███████╗
██╔════╝╚══██╔══╝██╔════╝
█████╗██║█████╗
██╔══╝██║██╔══╝
███████╗██║██║
╚══════╝╚═╝╚═╝
[+]您想加载旧的会话吗?[是/否]:否
[+]在2018年8月2日创建新的临时会话
[+]输入所需的会话名称:
ETF[ETF/air communicator/]::& gt;配置空气净化器
ETF[ETF/air communicator/air scanner]::>;listargs
嗅探_接口= wlan1(var)
探针=真;(var)
信标=真;(var)
hop _ channels = false(var)
fixed _ sniffing _ channel = 11(var)
ETF[ETF/air communicator/air scanner]::>;用启动空气清洗器
ARP replayer caffelatte credentialssniffer packet logger selfishwifi
ETF[ETF/air communicator/air scanner]::>;用credentialsniffer启动空气净化器
[+]成功添加了凭证嗅探器插件。
[+]在接口' wlan1 '上启动数据包嗅探器
[+]将固定通道设置为11
ETF[ETF/air communicator/air scanner]::>;添加aps,其中ssid =CrackWPA
ETF[ETF/air communicator/air scanner]::>;启动空气喷射器
ETF[ETF/air communicator/air scanner]::>;[+]开始身份验证攻击
-1000次1包脉冲
-1不同的数据包
[+]Injectonattacks已完成执行。
[+]开始后期注射方法
[+]注射后方法完成
[+]WPA握手为客户' 70:3e:ac:bb:78:64 '和网络' CrackWPA '
利用ARP重放攻击破解WEP无线网络
以下场景(图3)将重点关注地址解析协议[5](ARP)重放攻击的效率和捕获包含初始化向量(IVs)的WEP数据包的速度。同一个网络可能需要破解不同数量的捕获IVs,所以这个场景中IVs的上限是50000。如果网络在第一次测试中捕获50000个IVs之前崩溃,实际捕获的IVs数量将成为下一次测试中网络的新上限。我们用空气追踪来破解数据包。
测试场景从一个通过WEP协议加密的WiFi接入点和一个知道其密钥的离线客户端设备开始。为了测试方便,密钥使用12345,但可以是更长更复杂的密钥。一旦客户端连接到WEP接入点,就会发送不必要的ARP数据包。这是要捕获和重放的数据包。一旦捕获的包含IVs的数据包数量达到设定的上限,测试就结束了。
图3:反认证攻击后捕获WPA握手包的场景
ETF使用Python的Scapy库进行包嗅探和包注入。为了最大限度地解决Scapy中已知的性能问题,ETF对一些低级库进行了微调,大大加快了包注入的速度。对于这个特定的场景,ETF使用tcpdump作为后台进程,而不是Scapy来进行更有效的嗅探,Scapy用于识别加密的ARP数据包。
这种情况需要在ETF上执行以下命令和操作:
1.进入空气清洗器设置模式:配置空气清洗器
2.设置空气扫描器不跳转频道:设置跳转频道=假
将通道设置为嗅探通过接入点通道的数据(APC):设置固定_嗅探_通道=
4.进入ARPReplayer插件设置模式:配置arpreplayer
设置WEP网络目标接入点的bssid (APB):设置target _ AP _ bssid
6.用ARPReplayer插件启动AirScanner模块:用arpreplayer启动airscanner
执行这些命令后,ETF会正确识别加密的ARP数据包,然后成功执行ARP重放攻击,从而破坏网络。
使用全方位的蜜罐
图4中的场景使用相同的SSID来创建多个接入点。对于那些可以检测但无法访问的WiFi网络,这种技术可以找到网络的加密类型。通过使用所有安全设置启动多个接入点,客户端将自动连接到与本地缓存的接入点信息相匹配的接入点。
图4:身份验证攻击后捕获WPA握手数据包。
用ETF可以设置hostapd配置文件,后台启动程序。Hostapd支持通过在一个无线网卡上设置虚拟接口来开放多个接入点,并且由于支持各种类型的安全设置,所以可以设置一个完整的通用蜜罐。对使用WEP和WPA(2)-PSK的网络使用默认密码,对使用WPA(2)-EAP的网络配置“全部接受”策略。
对于这种情况,必须在ETF上执行以下命令和操作:
1.进入启动程序设置模式:配置启动程序
设置目标接入点的ssid (APS):设置ssid =
将APLauncher设置为接收到的所有蜜罐:将catch _ all _蜜罐设置为true
4.启动AirHost模块:启动air host
有了这些命令,ETF就可以启动一个包含所有类型安全配置的完整的通用蜜罐。ETF还可以自动启动DHCP和DNS服务器,让客户端保持与互联网的连接。ETF提供了一个更好、更快、更完整的解决方案来创建一个通用的蜜罐。下面的代码可以看到ETF的成功执行。
███████╗████████╗███████╗
██╔════╝╚══██╔══╝██╔════╝
█████╗██║█████╗
██╔══╝██║██╔══╝
███████╗██║██║
╚══════╝╚═╝╚═╝
[+]您想加载旧的会话吗?[是/否]:否
[+]2018年8月3日创建新的cxzw临时会议
[+]输入所需的会话名称:
ETF[ETF/air communicator/]::& gt;config aplauncher
ETF[ETF/air communicator/air host/aplauncher]::& gt;setconf ssid CatchMe
ssid = TracMe
ETF[ETF/air communicator/air host/aplauncher]::& gt;setconf catch_all_honeypot true
catch _ all _蜜罐=true
ETF[ETF/air communicator/air host/aplauncher]::& gt;启动airhost
[+]killing已经开始处理和启动网络服务
[+]停止nsmasq和ostapd服务
[+]访问点停止...
[+]运行插件预启动
[+]启动hostapd后台进程
[+]开始nsmasq服务
[+]运行插件post_start
[+]接入点已成功启动
[+]开始nsmasq服务
结论和今后的工作
这些场景使用常见和众所周知的攻击来帮助验证ETF测试WIFI网络和客户端的能力。这一结果也证明了该框架可以基于平台现有功能的优势开发新的攻击向量和功能。这样会加快新WiFi渗透测试工具的开发,因为已经写了很多代码。另外,将WiFi技术集成到单一工具中,会使WiFi渗透测试更加简单高效。
ETF的目标不是取代现有工具,而是对其进行补充,为安全审计人员在进行WiFi渗透测试、增强用户安全意识时提供更好的选择。
ETF是GitHub上的开源项目[6],欢迎社区为其发展贡献力量。这里有一些你可以帮助的方法。
目前WiFi渗透测试的一个局限是测试过程中不能记录重要事件。这使得报告已识别的漏洞变得更加困难和不准确。这个框架可以实现一个记录器,每个类都可以访问它并创建一个渗透测试会话报告。
ETF工具的功能涵盖了WiFi渗透测试的方方面面。一方面,使得WiFi目标侦察、漏洞挖掘和攻击阶段更加容易。另一方面,它没有提供方便的报告功能。增加会话的概念和会话报告的功能,比如记录会话期间的重要事件,将大大增加这个工具对于真实渗透测试场景的价值。
另一个有价值的贡献是扩展框架,推广WiFi模糊测试。IEEE 802.11协议非常复杂,考虑到它在客户端和接入点都有很多实现。可以假设这些实现包含bug甚至安全漏洞。这些缺陷可以通过对IEEE 802.11协议的数据帧进行模糊测试来发现。因为SCAPY允许自定义包创建和包注入,所以可以通过Scapy实现一个模糊测试器。
途经:https://opensource.com/article/19/1/evil-twin-framework
这篇文章最初是由LCTT编译的
1.《replayer Evil-Twin 框架:一个用于提升 WiFi 安全性的工具 | Linux 中国》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《replayer Evil-Twin 框架:一个用于提升 WiFi 安全性的工具 | Linux 中国》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/tiyu/1249890.html