Pyrit 已经老旧,过时,且仍基于 Python2。我目前正在尝试从头重写它,所以感谢所有的星标,但请留意 Python3 版本。

Pyrit 允许你通过时空权衡创建包含预计算 WPA/WPA2-PSK 认证阶段的大型数据库。 通过利用多核 CPU 以及其他平台(如 ATI-Stream、Nvidia CUDA 和 OpenCL)的计算能力, 它目前是对世界最常用安全协议之一进行攻击的最强大手段。
WPA/WPA2-PSK 是 IEEE 802.11 WPA/WPA2 的一个子集,它通过为每个参与方分配相同的 预共享密钥,跳过了密钥分发和客户端认证的复杂任务。 这个 主密钥 源自管理员用户预配置(例如在他的笔记本电脑和接入点上)的密码。当笔记本电脑与接入点建立连接时,会从 主密钥 派生一个新的 会话密钥,用于加密和认证后续流量。 使用单一 主密钥 代替 每用户密钥 的“捷径”简化了家庭和小型企业中受 WPA/WPA2 保护网络的部署,但代价是使协议容易受到针对其密钥协商阶段的暴力破解攻击; 这最终可能揭示保护网络的密码。这一漏洞必须被视为异常灾难性,因为协议允许大量密钥派生过程被预计算,使得简单的暴力破解攻击对攻击者更具诱惑力。 更多背景信息请参见项目 博客 上的 这篇文章 (已过时)。
作者并不鼓励或支持使用 Pyrit 侵犯他人的通信隐私。 此处讨论的技术探索与实现本身具有其目的;这通过开放开发、严格的源码分发和“copyleft”许可得到了体现。
Pyrit 是自由软件——自由即言论自由。每个人都可以在 GNU 通用公共许可证 v3+ 下检查、复制或修改它,并分享衍生作品。 它可以在多种平台上编译和运行,包括 FreeBSD、MacOS X 和 Linux 作为操作系统,以及 x86、alpha、arm、hppa、mips、powerpc、s390 和 sparc 处理器。
通过暴力破解攻击 WPA/WPA2 归结为尽可能快地计算 成对主密钥。 每个 成对主密钥 相当于一兆字节的数据经过 PBKDF2-HMAC-SHA1 处理。 反过来,每秒计算 10,000 个 PMK 相当于每秒用 SHA1 哈希 9.8 GB 的数据。
以下示例展示了多个计算节点如何通过 Pyrit 提供的各种方式访问单个存储服务器:
详细信息请参见 CHANGELOG 文件。
Pyrit 在 Linux、MacOS X 和 BSD 上编译和运行良好。我不关心 Windows;如果你能让 Pyrit 工作而不复制 GNU 的一半……请给我留言(阅读:补丁)。 在你的系统上安装 Pyrit 的指南可以在 wiki 中找到。还有一份 教程 和 参考手册 用于命令行客户端。
如果你对将 Pyrit 移植到新硬件平台感兴趣,可以阅读 这个 wiki 条目。 贡献或错误报告请 提交 Issue。