如何使用m4ngl3m3基于字符串列表生成常见密码模式
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
关于m4ngl3m3
m4ngl3m3是一款功能强大的常见密码模式生成工具,该工具可以帮助广大研究人员使用字符串列表来生成常见的密码模式。
工具安装&运行
由于该工具基于纯Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/localh0t/m4ngl3m3.git
然后切换到项目目录中,运行下列命令即可启动m4ngl3m3:
cd m4ngl3m3 ./main.py
工具使用帮助
usage: main.py [-h] [-fy FROM_YEAR] [-ty TO_YEAR] [-sy] [-nf NUMBERS_FILE] [-sf SYMBOLS_FILE] [-cf CUSTOM_FILE] [-sbs] [-sap] [-mm MUTATION_METHODS] MUTATION_MODE STRINGS_FILE OUTPUT_FILE Common password pattern generator using strings list positional arguments: MUTATION_MODE 要执行的变异模式(prefix-mode | suffix-mode | dual-mode) STRINGS_FILE 要执行变异的字符串文件 OUTPUT_FILE 写入变异字符串的文件路径 optional arguments: -h, --help 显示工具帮助信息和退出 -fy FROM_YEAR, --from-year FROM_YEAR 要迭代的起始年份 (默认: 2015) -ty TO_YEAR, --to-year TO_YEAR 要迭代的终止年份 (默认: 2020) -sy, --short-year 在迭代时添加年份短格式 (默认: False) -nf NUMBERS_FILE, --numbers-file NUMBERS_FILE 数字前缀/后缀文件 (默认: ./files/numbers/numbers_set2.txt) -sf SYMBOLS_FILE, --symbols-file SYMBOLS_FILE 符号前缀/后缀文件 (默认: ./files/symbols/symbols_set2.txt) -cf CUSTOM_FILE, --custom-file CUSTOM_FILE 自定义单词/日期/字符串等文件 (默认: None) -sbs, --symbols-before-suffix 在年份/数字前插入自定义符号 (默认: False) -sap, --symbols-after-prefix 在年份/数字后插入自定义符号 (默认: False) -mm MUTATION_METHODS, --mutation-methods MUTATION_METHODS 要执行的变异方法 (默认:normal,uppercase,firstup,replacevowels)
工具参数使用
--from-year (-fy), --to-year (-ty)
设置希望脚本迭代年份的起止时间,输出样例:
password2017 [...] password2018 [...] password2019
--short-year (-sy)
迭代年份时,可以添加两位数的短格式年份,输出样例:
password17 [...] password18 [...] password19
--numbers-file (-nf)
我们可以选择一个文件,其中包含了人们经常添加到密码中的数字,生成的输出样例如下:
password1 [...] password123 [...] password1234
--symbols-file (-sf)
这个选项可以选择一个包含人们经常添加到密码中符号的文件,生成的输出样例如下:
password123! [...] password2018? [...] password1234.
--custom-file (-cf)
在这里,我们可以添加所知道的关于目标的任何其他信息,可以是公司首字母缩写、出生日期、特殊日期……到特定年份、短关键字等。这个自定义字符串将以与年份/数字相同的方式处理生成的输出样例如下:
passwordABC [...] password01011980! [...] password.admin
MUTATION_MODE(变异模式)
suffix-mode:后缀模式,例如password2018!; prefix-mode:前缀模式,例如!2018password; dual-mode:双模式运行;
工具使用演示
使用演示一
$ ./main.py --from-year 2017 --to-year 2018 --symbols-before-suffix suffix-mode strings.txt output.txt (or, shorter version) $ ./main.py -fy 2017 -ty 2018 -sbs suffix-mode strings.txt output.txt [!] Starting... [+] Normal-Mangling mutation method done on string: admin [+] UpperCase-Mangling mutation method done on string: admin [+] FirstUp-Mangling mutation method done on string: admin [+] ReplaceVowels-Mangling mutation method done on string: admin --- [+] Normal-Mangling mutation method done on string: companyname [+] UpperCase-Mangling mutation method done on string: companyname [+] FirstUp-Mangling mutation method done on string: companyname [+] ReplaceVowels-Mangling mutation method done on string: companyname --- [!] All done! [!] Strings read: 2 [!] Strings written: 888 [!] Exiting ...
输入文件:
admin companyname
输出文件:
admin admin! [...] Admin2017! Admin!2017 [...] COMPANYNAME1234! COMPANYNAME!1234 [...] c0mp4nyn4m32018@ c0mp4nyn4m3@2018 [...]
使用演示二
$ ./main.py -fy 2016 -ty 2019 -sy -nf ./files/numbers/numbers_set1.txt -sf ./files/symbols/symbols_set1.txt -sbs -sap -mm normal,firstup,doubleandfirstup,basicleet dual-mode strings.txt output.txt [!] Starting... [+] Normal-Mangling mutation method done on string: password [+] FirstUp-Mangling mutation method done on string: password [+] DoubleAndFirstUp-Mangling mutation method done on string: password [+] BasicLeet-Mangling mutation method done on string: password --- [+] Normal-Mangling mutation method done on string: example [+] FirstUp-Mangling mutation method done on string: example [+] DoubleAndFirstUp-Mangling mutation method done on string: example [+] BasicLeet-Mangling mutation method done on string: example --- [!] All done! [!] Strings read: 2 [!] Strings written: 1288 [!] Exiting ...
输入文件:
password example
输出文件:
password password! password@ [...] !2018PasswordPassword !18PasswordPassword 2018!PasswordPassword 18!PasswordPassword [...] p455w0rd$1 p455w0rd123 p455w0rd123! p455w0rd!123 [...] Example!2019 Example!19 [...]
许可证协议
本项目的开发与发布遵循Creative Commons BY-NC-SA 4.0开源许可证协议。
项目地址
m4ngl3m3:【GitHub传送门】
参考资料
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录