rsmangler使用教程

rsmangler 是一款强大的密码变异工具,主要用于对初始词表进行各种变形处理,生成更丰富的密码候选列表。它通过对输入的基础单词应用多种变换规则(如大小写转换、反向、添加后缀、替换特殊字符等),模拟用户创建密码时的常见习惯,从而生成更贴近实际使用场景的密码字典,提高密码破解的成功率。

与传统词表生成工具相比,rsmangler 的核心优势在于能够模拟人类设置密码的思维模式(如将 "password" 变形为 "Password123!"、"P@ssw0rd" 等),特别适合对基础词表进行扩展,生成针对性更强的变异密码集。

二、工具参数说明

参数 中文说明
--help, -h 显示帮助信息
--file, -f 输入文件路径,使用 - 表示从标准输入读取
--output, -o 输出文件路径,使用 - 表示输出到标准输出
--max, -x 最大单词长度
--min, -m 最小单词长度
--perms, -p 对所有单词进行排列组合(默认开启,添加此参数关闭)
--double, -d 重复每个单词(如 "test" → "testtest",默认开启,添加此参数关闭)
--reverse, -r 反转单词(如 "test" → "tset",默认开启,添加此参数关闭)
--leet, -t 转换为 l33t 语(如 "e"→"3″,"a"→"@",默认开启,添加此参数关闭)
--full-leet, -T 生成所有可能的 l33t 变异(默认开启,添加此参数关闭)
--capital, -c 将单词首字母大写(如 "test"→"Test",默认开启,添加此参数关闭)
--upper, -u 将单词全部转为大写(如 "test"→"TEST",默认开启,添加此参数关闭)
--lower, -l 将单词全部转为小写(如 "TEST"→"test",默认开启,添加此参数关闭)
--swap, -s 交换单词大小写(如 "Test"→"tEST",默认开启,添加此参数关闭)
--ed, -e 在单词末尾添加 "ed"(如 "test"→"tested",默认开启,添加此参数关闭)
--ing, -i 在单词末尾添加 "ing"(如 "test"→"testing",默认开启,添加此参数关闭)
--punctuation 在单词末尾添加常见标点符号(如 "test"→"test!"、"test@" 等,默认开启,添加此参数关闭)
--years, -y 在单词首尾添加 1990 年至当前年份(默认开启,添加此参数关闭)
--acronym, -a 根据输入单词生成首字母缩写并添加到词表(默认开启,添加此参数关闭)
--common, -C 在单词首尾添加常见单词(admin、sys、pw、pwd,默认开启,添加此参数关闭)
--pna 在单词末尾添加 01-09(默认开启,添加此参数关闭)
--pnb 在单词开头添加 01-09(默认开启,添加此参数关闭)
--na 在单词末尾添加 1-123(默认开启,添加此参数关闭)
--nb 在单词开头添加 1-123(默认开启,添加此参数关闭)
--force 不检查输出文件大小
--space 在单词之间添加空格
--allow-duplicates 允许输出列表中存在重复项

注意:所有变换选项默认开启,添加参数表示关闭该功能(例如 --reverse 表示关闭反转单词功能)。

三、使用教程

1. 基础使用方法

rsmangler 的基本语法为:

复制代码
rsmangler [选项]

工具需要输入一个基础词表(可通过文件或标准输入提供),并应用多种变换规则生成变异词表。

2. 常用命令示例

(1)基础词表变异(默认所有规则)

复制代码
rsmangler --file base_words.txt --output mangled_words.txt

功能 :读取 base_words.txt 中的基础单词(如 "password"、"admin"),应用所有默认变换规则,将结果保存到 mangled_words.txt

输出示例(以 "test" 为例):

复制代码
test
Test
TEST
tEST
tset(反转)
testtest(重复)
t3st(leet)
test01
01test
test123
...(更多变异形式)

(2)从标准输入读取并输出到终端

复制代码
echo "hello" | rsmangler -f - --output -

功能:以 "hello" 为基础词,通过管道输入 rsmangler,直接在终端显示所有变异结果

适用场景:快速测试单个单词的变异效果

(3)限制单词长度

复制代码
rsmangler --file names.txt --min 6 --max 10 --output filtered.txt

功能:只保留长度为 6-10 位的变异结果

优势:过滤过短或过长的密码,符合常见密码长度策略

(4)关闭特定变换规则

复制代码
rsmangler --file base.txt --output no_leet.txt --leet --years

功能:生成变异词表时,关闭 l33t 转换和年份添加功能(保留其他默认规则)

适用场景:已知目标密码不包含特殊字符或年份

(5)添加空格和允许重复

复制代码
rsmangler --file words.txt --space --allow-duplicates -o with_spaces.txt

功能:在单词之间添加空格(如 "user pass"),并允许结果中存在重复项

适用场景:针对可能包含空格的密码(如某些系统允许空格作为密码字符)

(6)生成最小化变异词表(仅保留必要规则)

复制代码
rsmangler --file key.txt --output minimal.txt --perms --double --reverse --full-leet

功能:仅保留基础变换(关闭排列组合、重复、反转和全 l33t 变异),生成精简词表

优势:减少词表体积,适合快速破解

3. 典型应用场景

(1)扩展企业名称词表

以企业名称(如 "acme")为基础,生成可能的密码变异:

复制代码
echo "acme" | rsmangler -f - -o acme_passwords.txt

生成结果包括 "Acme123!"、"ACMEadmin"、"aCm32023" 等,贴近员工可能使用的密码习惯。

(2)结合其他工具使用

将 cewl 生成的网站相关词表通过 rsmangler 变异,再用于破解:

复制代码
cewl https://example.com -w site_words.txt
rsmangler --file site_words.txt -o site_mangled.txt
hashcat -m 0 hashes.txt site_mangled.txt

4. 使用注意事项

  • 词表膨胀风险:
    • 基础词表数量较多时,变异后可能生成极大的词表(GB 级),建议先用 --min/--max 限制长度
    • 可通过关闭不必要的规则(如 --full-leet)减少输出量
  • 去重处理:
    • 默认情况下工具会自动去重,如需保留重复项(如特殊测试场景),可使用 --allow-duplicates
    • 大型词表建议事后用 sort -u 进一步去重:sort -u mangled.txt -o unique_mangled.txt
  • 规则组合策略:
    • 针对不同目标调整规则(如金融系统可能更多使用年份,技术类系统可能更多使用 l33t 字符)
    • 结合目标信息(如已知员工常用姓名+生日)定制基础词表,再进行变异
  • 性能考虑:
    • 处理大量基础单词时,建议使用 --force 跳过大小检查,但需确保磁盘有足够空间
    • 复杂规则组合可能耗时较长,可分阶段生成(先基础变异,再针对性添加规则)
相关推荐
星幻元宇VR7 小时前
VR心理健康学习机|沉浸式心理教育新模式
科技·学习·安全·vr·虚拟现实
薛定猫AI8 小时前
【深度解析】终端里的免费 AI 编程助手 Freebuff:多代理架构、模型路由与安全使用实战
人工智能·安全·架构
夏日听雨眠14 小时前
LInux(逻辑地址与物理地址的区别,文件描述符,lseek函数)
linux·运维·网络
无心水16 小时前
【Hermes:安全、权限与生产环境】40、运行 Hermes 前的生命线:安全审计清单与 11 个必须检查的配置项
人工智能·安全·mcp协议·openclaw·养龙虾·hermes·honcho
qq_5425154116 小时前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位16 小时前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
小麦嵌入式16 小时前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
皮卡蛋炒饭.17 小时前
传输层协议UDP
linux·网络协议·udp
syagain_zsx18 小时前
Linux指令初识(实用篇)
linux·运维·服务器
王木风18 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js