bit4woo / Passmaker
Licence: gpl-3.0
可以自定义规则的密码字典生成器,支持图形界面 A password-generator that base on the rules that you specified
Stars: ✭ 363
Programming Languages
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Passmaker
mopass
A OpenSource Clientless & Serverless Password Manager
Stars: ✭ 40 (-88.98%)
Mutual labels: password-generator, password, password-safety
Kaonashi
Wordlist, rules and masks from Kaonashi project (RootedCON 2019)
Stars: ✭ 353 (-2.75%)
Mutual labels: rules, password, password-safety
password-list
Password lists with top passwords to optimize bruteforce attacks
Stars: ✭ 174 (-52.07%)
Mutual labels: password-generator, password, password-safety
Go Password
A Golang library for generating high-entropy random passwords similar to 1Password or LastPass.
Stars: ✭ 317 (-12.67%)
Mutual labels: password, password-generator
Bewgor
Bull's Eye Wordlist Generator - Does your password rely on predictable patterns of accessible info?
Stars: ✭ 333 (-8.26%)
Mutual labels: password, password-safety
OormiPass
Free open source cross platform password manager
Stars: ✭ 50 (-86.23%)
Mutual labels: password-generator, password
LAPSforMac
Local Administrator Password Solution for Mac
Stars: ✭ 29 (-92.01%)
Mutual labels: password-generator, password
lockd
Generate strong passwords and save them in Keychain. Made with SwiftUI
Stars: ✭ 38 (-89.53%)
Mutual labels: password-generator, password
laravel-pwned-passwords
Simple Laravel validation rule that allows you to prevent or limit the re-use of passwords that are known to be pwned (unsafe). Based on TroyHunt's Have I Been Pwned (https://haveibeenpwned.com)
Stars: ✭ 67 (-81.54%)
Mutual labels: password, password-safety
PasswordGenerator
A simple C# helper class for ASP.NET Core to generate a random password with custom strength requirements: min length, uppercase, lowercase, digits & more
Stars: ✭ 27 (-92.56%)
Mutual labels: password-generator, password
laravel-password-history-validation
Prevent users from reusing recently used passwords
Stars: ✭ 69 (-80.99%)
Mutual labels: rules, password
webpassgen
Simple web-based password generator
Stars: ✭ 111 (-69.42%)
Mutual labels: password-generator, password
PasswordX
Offline password manager for iOS/macOS
Stars: ✭ 26 (-92.84%)
Mutual labels: password-generator, password
Passky-Server
API and Database for Passky (password manager)
Stars: ✭ 77 (-78.79%)
Mutual labels: password-generator, password
moac
Generate passwords and analyze their strength given physical limits to computation
Stars: ✭ 16 (-95.59%)
Mutual labels: password-generator, password
diceware
Improved diceware passphrases
Stars: ✭ 16 (-95.59%)
Mutual labels: password-generator, password
MasterPassX
A deterministic stateless password generator.
Stars: ✭ 21 (-94.21%)
Mutual labels: password-generator, password
passmaker
项目地址:https://github.com/bit4woo/passmaker
运行环境:python 2.7.*
0x0、目的
该脚本的主要目标是根据定制的规则来组合生成出密码字典,主要目标是针对企业,希望对安全人员自查“符合密码策略的弱密码”有所帮助。
0x1、规则
使用的核心是密码规则的指定,程序将根据你指定的规则来生成密码。比如:
- domain+常规弱密码(666666、88888888)
- domain+键盘弱密码(11qaz2wsx 、zxcv)
- domain+特殊字符([email protected]#$)+常规弱密码 (666666、88888888)
- domain+特殊字符([email protected]#$)+年份(2017、2018)
- 等等其他规则
0x2、使用
下载项目源码
git clone https://github.com/bit4woo/passmaker
cd passmaker
python passmaker.py #方法一,需先修改配置文件,要求一定的python基础知识
python passmaker.py -i #方法二,命令行交互方式
python passmaker.py -g #方法三,通过图形界面方式,MAC OS下可能会有问题
方法一:通过config.py
通过修改config.py中的参数,然后直接运行python passmaker.py
来生成密码字典。
其实详细说明已经写在配置文件的注释中了,如下:
#第一步,定义种子(seed),密码的基本组成部分,必须是字典类型
domain= ["baidu.com","badidu"]
year = ["2015","2016","2017"]
special_letter = ["!","@","#","$","%",]
keyboard_walk = open('./seed/4_keyboard_walk.txt').readlines()
common_number = open('./seed/common_number.txt').readlines()
chinese_last_name = open('./seed/Chinese_last_name_top100.txt').readlines()
common_english_name = open('./seed/english_name.txt').readlines()
#第二步,定义密码的组成规则,这里用到的seed字段,都必须在第一步中定义好,而且是字典类型
#rule_list = ["domain+special_letter+year","domain+special_letter+keyboard_walk","domain+special_letter+common_number","domain+year","topic+special_letter+year","topic+special_letter+keyboard_walk","topic+special_letter+common_number","topic+year"]
rule_list = ["domain+special_letter+year"]
keep_in_order = True #以上的规则,是否保持原顺序,如果为False 将对每个规则中的seed进行排列组合后生产密码。
#第三步,对以上生成的密码再进行一些变形处理,变形后的密码不会覆盖之前的记录,而是新增一条。
capitalize = False #是否进行首字母大写处理
leet = False #是否进行变形处理
leet2num = {"a":"4",
"i":"1",
"e":"3",
"t":"7",
"o":"0",
"s":"5",
"g":"9",
"z":"2"}
leet2string ={
"O" : "()",
"U" : "|_|",
"D" : "|)",
"W" : "\/\/",
"S" : "$",
}
leet_rule = leet2num #这个配置参数会被用于程序中,上面leet2num、leet2string是为了供你参考
#第四步,将一些常规的,可直接使用的密码字典合入最终的文件中。
additional_list = ["weak_pass_chinese.txt","weak_pass_top100.txt"]
#第五步,也是最后一步,根据以下密码规则约束,对以上生成的密码进行过滤处理,删除不满足条件的
#常见的密码要求:大写字母、小写字母、特殊符号、数字,四种包含三种
enable_filter = False
min_lenth = 1
filter_rule = {"Upper_letter": False, "Lower_letter": True, "Special_char": False, "Nummber": False}
kinds_needed = 3 # 四者包含其三
方法二:命令行交互
通过运行python passmaker.py -i
来通过交互模式配置其中参数,然后生成密码字典。
方法三:图形界面
通过运行python passmaker.py -g
来启用图形界面配置其中参数,然后运行生成密码字典。
0x3、作者
如果有好的建议,欢迎通过issue提交给我,谢谢!
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].