关于m4ngl3m3
m4ngl3m3是一款功能强大的常见密码模式生成工具,该工具可以帮助广大研究人员使用字符串列表来生成常见的密码模式。
工具安装&运行
由于该工具基于纯Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone https://github.com/localh0t/m4ngl3m3.git
代码语言:javascript复制
然后切换到项目目录中,运行下列命令即可启动m4ngl3m3:
代码语言:javascript复制cd m4ngl3m3
./main.py
代码语言:javascript复制
工具使用帮助
代码语言:javascript复制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)
设置希望脚本迭代年份的起止时间,输出样例:
代码语言:javascript复制password2017
[...]
password2018
[...]
password2019
--short-year (-sy)
迭代年份时,可以添加两位数的短格式年份,输出样例:
代码语言:javascript复制password17
[...]
password18
[...]
password19
--numbers-file (-nf)
我们可以选择一个文件,其中包含了人们经常添加到密码中的数字,生成的输出样例如下:
代码语言:javascript复制password1
[...]
password123
[...]
password1234
--symbols-file (-sf)
这个选项可以选择一个包含人们经常添加到密码中符号的文件,生成的输出样例如下:
代码语言:javascript复制password123!
[...]
password2018?
[...]
password1234.
代码语言:javascript复制
--custom-file (-cf)
在这里,我们可以添加所知道的关于目标的任何其他信息,可以是公司首字母缩写、出生日期、特殊日期……到特定年份、短关键字等。这个自定义字符串将以与年份/数字相同的方式处理生成的输出样例如下:
代码语言:javascript复制passwordABC
[...]
password01011980!
[...]
password.admin
MUTATION_MODE(变异模式)
代码语言:javascript复制suffix-mode:后缀模式,例如password2018!;
prefix-mode:前缀模式,例如!2018password;
dual-mode:双模式运行;
工具使用演示
使用演示一
代码语言:javascript复制$ ./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 ...
(向右滑动,查看更多)
输入文件:
代码语言:javascript复制admin
companyname
输出文件:
代码语言:javascript复制admin
admin!
[...]
Admin2017!
Admin!2017
[...]
COMPANYNAME1234!
COMPANYNAME!1234
[...]
c0mp4nyn4m32018@
c0mp4nyn4m3@2018
[...]
使用演示二
代码语言:javascript复制$ ./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 ...
(向右滑动,查看更多)
输入文件:
代码语言:javascript复制password
example
输出文件:
代码语言:javascript复制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:
https://github.com/localh0t/m4ngl3m3
https://github.com/digininja/CeWL