蹲到一个WiFi安全测试工具,这个可以有~

admin 2022年2月24日23:38:31评论142 views字数 2598阅读8分39秒阅读模式

介绍一款WiFi安全测试工具,可以帮助广大研究人员更轻松地执行Wi-Fi安全测试。

除此之外,我们还可以利用Wi-Fi Framework来创建模糊测试工具,设计新的测试方案,创建POC以验证漏洞,自动化渗透测试或开发其他的漏洞测试工具。

设置

该框架既可以在本地 Linux 安装上使用,也可以在虚拟机上使用。


安装

根据您的系统,安装的先决条件(例如 for hostap)通常如下:

apt-get update
apt-get install git make gcc python3-venv net-tools
apt-get install libdbus-1-dev libnl-3-dev libnl-genl-3-dev libnl-route-3-dev libssl-dev

您现在可以使用以下命令安装框架:

cd ../dependencies./build.shcd ../setup./pysetup.sh

这将首先编译我们定制的hostap扩展控制接口的版本。它还创建了一个虚拟 python 环境来管理框架的所有依赖项,并在这个虚拟 python 环境中安装所有需求。


Libwifi

libwifi库被跟踪为 git 子模块,您必须使用以下方法手动拉取它:

git submodule initgit submodule update

每次使用前

在每次使用之前,必须激活 python 环境:

source setup/venv/bin/activate

请注意,您可以通过执行deactivate.

如果您在使用 sudo 执行命令时遇到未使用 python 虚拟环境的问题,那么作为一种解决方法,您可以首先以 root 身份打开终端/bash 实例,然后以 root 身份加载虚拟环境。


模拟 Wi-Fi 网络接口

我们的框架可以通过使用mac80211_hwsim内核模块在模拟接口上运行,防止任何现实世界的影响或无线电干扰。您可以使用以下脚本轻松创建这些模拟无线接口:

./setup-hwsim.sh 4

这将创建四个模拟无线接口(当不提供参数时它会创建两个)。


运行工具并创建测试用例:

usage: run.py [-h] [--config CONFIG] [--binary BINARY] [--debug DEBUG] iface name

指定网络配置信息:

cd setup

ln -s supplicant-wpa3-personal.conf supplicant.conf


工具使用样例


假设我们现在需要测试客户端是否使用全零密钥去加密帧数据,而这种情况可能发生在密钥重新安装攻击期间。


那么在Wi-Fi Framework的帮助下,我们无需重新实现接入点的所有功能,只需编写以下测试用例即可:

class ExampleKrackZerokey(Test):

name = "example-krack-zero-key"

kind = Test.Authenticator

 

def __init__(self):

super().__init__([

# Replay 4-Way Handshake Message 3/4.

Action( trigger=Trigger.Connected, action=Action.Function ),

# Receive all frames and search for one encrypted with an all-zero key.

Action( trigger=Trigger.NoTrigger, action=Action.Receive ),

# When we receive such a frame, we can terminate the test.

Action( trigger=Trigger.Received, action=Action.Terminate )

])

 

 

def resend(self, station):

# Resend 4-Way Handshake Message 3/4.

station.wpaspy_command("RESEND_M3 " + station.clientmac )

 

 

def receive(self, station, frame):

if frame[Dot11].addr2 != station.clientmac or not frame.haslayer(Dot11CCMP):

return False

 

# Check if CCMP-encrypted frame can be decrypted using an all-zero key

plaintext = decrypt_ccmp(frame.getlayer(Dot11), tk=b"x00"*16)

if plaintext is None: return False

 

# We received a valid plaintext frame!

log(STATUS,'Client encrypted a frame with an all-zero key!', color="green")

return True


上面的测试用例将创建一个客户端能够连接的接入点。客户端连接后,它将向客户端发送4路握手消息。


接下来,易受攻击的客户端将开始使用全零加密来密钥,随后测试用例将会自动检测到这一情况。


我们也可以使用模拟Wi-Fi来运行上述测试用例:

./setup/setup-hwsim.sh 4

source setup/venv/bin/activate

./run.py wlan1 example-krack-zero-key


接入点和客户端守护程序

要轻松创建接入点或客户端,例如检查您的测试用例是否按预期工作,您可以使用以下包装器分别启动接入点或客户端:

./hostap.py wlan0 --ap./hostap.py wlan1

这个脚本的一般用法是:

usage: hostap.py [-h] [--config CONFIG] [--binary BINARY] [--debug DEBUG] [--ap] iface


下载地址


Wi-Fi Framework:https://github.com/domienschepers/wifi-framework

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及原作者不承担相应的后果.

学习更多渗透技能!供靶场练习技能

蹲到一个WiFi安全测试工具,这个可以有~

扫码领黑客视频资料及工具

蹲到一个WiFi安全测试工具,这个可以有~

原文始发于微信公众号(渗透师老A):蹲到一个WiFi安全测试工具,这个可以有~

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月24日23:38:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   蹲到一个WiFi安全测试工具,这个可以有~http://cn-sec.com/archives/801665.html

发表评论

匿名网友 填写信息