如何使用m4ngl3m3基于字符串列表生成常见密码模式

2023-11-29 12:59:37 浏览数 (1)

关于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

0 人点赞