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)
(向右滑动,查看更多)
设置希望脚本迭代年份的起止时间,输出样例:
password2017
[...]
password2018
[...]
password2019
迭代年份时,可以添加两位数的短格式年份,输出样例:
password17
[...]
password18
[...]
password19
我们可以选择一个文件,其中包含了人们经常添加到密码中的数字,生成的输出样例如下:
password1
[...]
password123
[...]
password1234
这个选项可以选择一个包含人们经常添加到密码中符号的文件,生成的输出样例如下:
password123!
[...]
password2018?
[...]
password1234.
在这里,我们可以添加所知道的关于目标的任何其他信息,可以是公司首字母缩写、出生日期、特殊日期……到特定年份、短关键字等。这个自定义字符串将以与年份/数字相同的方式处理生成的输出样例如下:
passwordABC
[...]
password01011980!
[...]
password.admin
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:
https://github.com/localh0t/m4ngl3m3
https://github.com/digininja/CeWL