3个不稳定版本
0.2.0 | 2023年10月29日 |
---|---|
0.1.1 | 2022年6月3日 |
0.1.0 | 2022年6月2日 |
在 身份验证 中排名第 134
8KB
112 行
PWFuzz-RS
基于Rust的密码突变器,用于暴力攻击
免责声明
此工具可用,但主要是一个实验。请不要期望它频繁更新。
关于
所以你在暴力破解Web应用或其他目标。当然你有一个单词列表,甚至可能是一个大的,但关于变体呢?在上面添加感叹号或年份数字?添加随机数字?有一个简单的方法来突变现有的密码列表以添加变体将非常好。Hashcat有基于规则的攻击,但对于非哈希密码怎么办呢?
这就是pwfuzz-rs要解决的问题。
安装
在发布中提供了Linux和Windows的二进制文件。
当然,您可以从源代码构建,但是,嘿,这是一个Rust工具,所以您也可以简单地使用 cargo install pwfuzz-rs
!
用法
pwfuzz-rs -w wordlist.txt -r rules.json [-i iterations]
pwfuzz-rs
接受以下参数
-w --wordlist
:单词列表路径-r --rules-file
:JSON规则文件路径-i --iterations
:运行突变的迭代次数-h --help
:帮助
输出将到stdout,但您可以使用任何您喜欢的Unix工具来重定向它!
规则
让我们谈谈规则。
pwfuzz-rs
支持以下规则
Append [string]
:添加给定的字符串Prepend [string]
:添加给定的字符串Upper
:将单词转换为大写Lower
:将单词转换为小写Insert [字符串] [idx]
:插入指定的字符串
和索引idx
(索引失败时跳过)AppendRandom [范围]
:追加0-范围
之间的随机数Prepend [范围]
:追加0-范围
之间的随机数
规则文件
规则文件是一个JSON文件,它期望有一个author
键和一个rules
键。此示例显示了所有规则变体。
{
"author": "Your Name <Your Email>",
"rules": [
{
"Append": "!"
},
{
"Prepend": "1"
},
"Upper", // no args means no object needed
"Lower",
{
"Insert": ["%", 4] // inserts "%" at index 4
},
{
"AppendRandom": 100
},
{
"PrependRandom": 100
}
]
}
给定列表
letmein
iamgod
password
这些规则会产生
letmein
iamgod
password
letmein!
iamgod!
password!
1letmein
1iamgod
1password
LETMEIN
IAMGOD
PASSWORD
letmein
iamgod
password
letm%ein
iamg%od
pass%word
letmein20
iamgod17
password79
18letmein
97iamgod
65password
迭代次数
但如果我们想在规则上应用规则再应用规则呢?
我懂你的意思。
通过传递 -i
,你可以迭代地将规则应用于新生成的突变。所以如果我们将 -3
传递给上面的列表,我们就会得到1500个唯一的密码!
依赖项
~1.8–2.7MB
~53K SLoC