Marfil 是 Aircrack-ng 套件的一个扩展工具,被用于 WiFi 网络安全的评估测试。利用它,我们可以实现在多台计算机之间,进行分布式的爆破任务。
我们都知道 Aircrack-ng 套件,为我们提供了许多用于无线破解的工具。其中 aircrack-ng 工具,就是一个专门用于 802.11 WEP 和 WPA / WPA2-PSK 密钥破解的程序。由于无线的保护力度不断加大,现在市面上大多数无线都采用 WPA / WPA2-PSK 的方式进行加密 。因此我们想要破解密码,则必须使用字典或单词列表。这些字典越大,则我们所需的破解时间就越长。这还得看你的硬件配置如何,如果配置较低,破解任务可能需要几天或几个星期不等。或许此时你的旁边有一些额外的硬件设备,原本可以帮你共同来完成任务。但你无法使用 aircrack-ng 让他们之间实现分布式破解。那么你只能选择其中一个速度较快的设备,而白白浪费了另外的破解资源。Marfil 就是为了解决这个困扰,而被开发出来的。
Marfil 是一个基于 php 语言开发的工具,它能在不同节点之间实现分布式破解。它的实现原理也非常简单:将原本非常大的字典进行拆分,并将其分布在其余节点上。而不是像原本那样,只使用一个节点来破解单个 .cap 文件。过程如下:
1.在服务器节点中配置使用字典。
2.客户端节点向服务器发送破解请求。(包括.cap文件和目标网络的 BSSID)
3.客户端请求服务器开始工作。
4.开始工作后,服务器向客户端响应 .cap 文件 和 BSSID 以及字典片段。
5.客户端自行执行破解,并在完成后返回结果。
6.服务器根据结果更新破解请求状态。
7.最终,.cap 文件将针所有未成功,或找到密码部分的字典进行处理。
Aircrack-ng 扩展要求
1.aircrack-ng 套件
2.PHP >= 5.5.9
3.PHP5 SQLite 模块(只有服务器端需要)
4.Composer (依赖管理工具,需要时可安装)
Marfil 目前仅在 Linux 系统上进行了测试。但它的使用方式及工具,都是相对独立于平台的。因此,它也应该能在 Windows 或 Mac上工作。
Aircrack-ng 扩展: Marfil 设置
初始设置和字典配置
1.下载最新的发行版 Marfil 文件。
2.在所有节点(服务器和客户端)中解压缩它。
3.在所有客户端上安装 PHP5 及 aircrack-ng 套件。如果你是 Debian Linux ,则安装命令如下:
sudo apt-get install php5 aircrack-ng
4.在服务器上安装 PHP5 的 SQLite 模块。如果你是 Debian Linux,则安装命令如下:
sudo apt-get install php5-sqlite
5.在服务器节点上,启动一个Web服务器。使用 PHP 的内置 Web 服务器,将根目录设置为 Marfil 目录中的公用目录。可以通过在 Marfil 目录中,运行以下命令来完成:
php -S 0.0.0.0:8080 -t public
您可以通过在服务器节点上的浏览器,中访问 http://localhost:8080 来测试此操作是否成功执行,并查看空列表的破解请求是否发出。
6.请确保您可以通过在客户端的浏览器中访问 http://你的服务器IP地址:8080 。
7.将字典放在 storage/app/dictionaries 目录下。如果你没有字典,可在网上搜索一些字典文件。
8.在 Marfil 目录中执行此命令,将字典拆分为多个部分,并准备字典数据库(取决于字典的大小,可能需要一段时间):
php artisan marfil:refresh-dictionaries
添加破解请求并处理它们
1.为了成功添加破解请求,我们需要具有完整的 WPA 四步握手包数据,以及目标的 BSSID 的 .cap 文件。这可以通过 Web 服务器接口 或 在任何节点的 Marfil 目录中,执行以下命令来完成请求:
php artisan marfil:crack 你的服务器IP地址:8080 path/to/file.cap 01:23:45:67:89:AB
2.任何成功发出的破解请求,都会显示在 Web 服务器界面中。
3.任何节点都可以被当成一个工作客户端。为了这样做,只需在 Marfil 目录中,运行以下命令:
php artisan marfil:work 你的服务器IP地址:8080
此命令将会使客户端每 60 秒发出一次请求。当服务器发出响应后,客户端将会下载所需要的破解文件,并以此来破解 .cap 文件。
4.我们可以通过 Web 界面查看到实时的破解进度。
Marfil 下载地址:https://github.com/pupi1985/marfil