staz0t/hashcatch

GitHub: staz0t/hashcatch

一款轻量的 WiFi 握手包自动捕获工具,通过解除认证攻击迫使客户端重连并捕获握手包,适用于便携式无线安全审计。

Stars: 776 | Forks: 86

# hashcatch Hashcatch 会对所有附近 WiFi 网络的已连接客户端进行解除认证(deauthenticate),并尝试捕获握手包。它可以在包括 Raspberry Pi 和 Nethunter 设备在内的任何 Linux 设备上使用,让你在遛狗时也能捕获握手包。 由 [@SivaneshAshok](https://twitter.com/sivaneshashok) 编写 #### hashcatch 概念验证(在范围内有几个 WiFi 网络的情况下运行) [![hashcatch PoC](https://asciinema.org/a/AQEzLSxo7teoxPzNSJfwn4UNQ.svg)](https://asciinema.org/a/AQEzLSxo7teoxPzNSJfwn4UNQ) #### 从源码安装 1. ```git clone https://github.com/staz0t/hashcatch``` 2. 安装前置依赖并确保它们工作正常 3. [可选] 将 hashcatch 目录添加到你的 PATH 中 4. ```./hashcatch --setup``` 5. 回答提示问题 6. 大功告成! #### 使用安装包安装 1. 从 [releases](https://github.com/staz0t/hashcatch/releases) 下载适合你发行版的软件包 2. 运行 ```sudo pacman -U ./hashcatch--1-any.pkg.tar.xz``` 或 ```sudo apt install ./hashcatch__all.deb``` 3. ```sudo hashcatch --setup``` 4. 回答提示问题 5. 大功告成! #### 前置条件 * aircrack-ng * hashcat-utils * hcxtools * jq #### 用法 ```sudo hashcatch``` 启动 hashcatch ```hashcatch --help``` 打印帮助界面 * Hashcatch 会无限期运行,直到发生键盘中断 * 捕获到的握手包将存储在 */usr/share/hashcatch/handshakes/* * 被捕获的 WiFi 网络的 BSSID 和 ESSID 将被添加到 */usr/share/hashcatch/db* * 如果你要针对某个 wifi 网络,请在该 wifi 范围内停留约 20 到 30 秒以确保捕获握手包 * [实验性] 如果你在捕获时连接到了互联网,以下数据也将被添加到 db 文件中 * latitude (纬度) * longitude (经度) * signal radius (信号半径) * time of record (记录时间) * 注意:感谢 [Alexander Mylnikov](https://www.mylnikov.org) 提供的 API,该 API 利用公共数据库返回路由器 MAC 地址的位置详情 #### 配置文件 * 配置文件位于 /etc/hashcatch/hashcatch.conf * 你可以稍后编辑 "interface" 字段来设置你选择的接口 * 你也可以添加一个 "ignore" 字段,注明你希望 hashcatch 在运行时忽略的 WiFi 网络 * 参考下面给出的示例,了解向配置文件添加条目的格式 * 格式 ```option name=option1,option2,option3``` * 选项名称、等号和选项之间没有空格 * 示例 ``` interface=wlan0 ignore=Google Starbucks,AndroidAP ``` #### 待添加功能 * 更多定位功能 * 自动上传到网站以开始破解握手包 #### 已知问题 1. [OSX] 根据用户提交的 issue,airodump-ng 在 OSX 上似乎无法正常工作。由于它是 hashcatch 的依赖项,OSX 用户可能无法运行 hashcatch。 注意:hashcatch 中不包含 PMKID 攻击,因为并非所有路由器都易受该攻击,因此检查该攻击会增加测试一个 AP 的时间。Pixiedust 攻击以及通过 WPS 收集信息虽然在定向攻击中有效,但同样会增加测试一个 AP 的时间,这不符合本工具尽可能快速的初衷。此外,根据我的测试,每 10 个 AP 中大约只有 1 个启用了 WPS 的路由器。因此,hashcatch 提供的结果将不一致,并且可能会错失捕获额外握手包的机会。因此,目前 hashcat 将继续采用传统的解除认证和捕获方法。 PS:尽管我在 [@evilsocket](https://twitter.com/evilsocket) 发布关于他的 [pwnagotchi](https://twitter.com/pwnagotchi) 的文章前几天就在研究 hashcatch,但他的工作绝对是这个项目的灵感来源!
标签:aircrack-ng, Cutter, Deauth攻击, DNS枚举, DOS头擦除, hashcat, hcxtools, NetHunter, Python安全脚本, Raspberry Pi, wardriving, WiFi安全, 中间人攻击, 内存执行, 安全工具库, 密码破解, 握手包捕获, 无线渗透, 无线网络审计, 网络嗅探, 网络安全工具, 被动侦察