密码字典生成工具主要有三种情况下使用,一种是已经获取了加密的密码,通过目前的在线网站查询后,未能破解。第二种情况是加密的密码需要单独的加密算法来进行解密。第三种情况,在渗透过程中需要对某个目标服务或者主机执行口令暴力攻击,需要手工生成字典。这个时候就需要手工生成字典。如果已经掌握目标的密码规律,可以根据规律来生成密码,这样的成功性更高。
早期用的比较多的一个字典工具“超级字典生成器”,可以生成数字,大小写字母,特殊字符,生日等,随着时间和思路的变化,对密码字典有更多的需求,因此出现了更多的密码字典生成工具,本文就目前一些常见的密码工具进行介绍,欢迎交流指正。
1.1dicttools
该工具是使用javaFX开发的基于信息收集进行组合生成密码字典的工具,可以快速组成密码字典。
https://github.com/kkbo8005/dicttools
java -jar dicttools-1.0-SNAPSHOT.jar
1.2用户名密码字典生成工具
https://github.com/abc123info/UserNameDictTools/releases
https://github.com/abc123info/BlueTeamTools网上有类似的字典生成工具,但是所采用的java库太老了,对于很多生僻汉字不支持,生成的结果也没有进行去重处理,而且还有编码乱码问题。于是ABC_123重写了一款“用户名字典生成工具”,用于将中文汉字姓名转换为拼音格式,支持多达11种拼音格式的转换。工具特点如下:1综合处理速度和准确度,选用了最新的拼音转换支持库。2支撑转成11种格式的用户名拼音(大家有什么好的建议,可以在公众号后台给我发消息留言)3对读入的中文汉字姓名列表文件进行编码识别,避免出现中文乱码问题。4对生成的字典进行文本去重,保证没有重复结果。5软件根目录放置了一个中文姓名字典,供大家使用。
1.3 super-password-dict(毒液超级密码字典)
https://github.com/z-bool/super-password-dict
1.模块打包```bash go mod tidy # 安装依赖库 go build . ``` 如果没有二开或自行打包需要的,可以直接从release下载打包好的文件即可2.使用说明此项目的开发初衷是在渗透测试过程中没有突破点时,可以根据信息收集下的密码生成字典来进行登录爆破,寻找新的突破口。这里是通过命令行输入生成所需要的参数来生成一个全面的字典。这里我们来看一下参数,这里我们看看图:
●职员姓名中文全称,如:王小明(比较少见) 【陈小海】 (中文名字+弱口令爆破)●公司花名,如:adai 【adai】 (小大写随便因为处理时候只有小写)●职员姓(首字母大写),如:Wang 【Chen】 (要求姓首字母是大写,后续小写处理代码处理)●驼峰命名法的名,如:XiaoMing 【XiaoHai】 (要求驼峰格式,下面名后面的小写因为代码不能区分断词断在何处)●名首字母大写,如:Xiaoming 【Xiaohai】 (要求名首字母大写,其余小写即可)●名首字母,如:xm 【xh】 (要求名的缩写,大小写不限制)●公司名拼音,如qiangshengkeji/qiangshen(强盛科技) 【tianrongxin】 (大小写不限制,如果公司名的拼音与根域名去掉.com这样的后缀一样的话,这个留空免得生成重复)●公司名简拼,如qs(强盛科技) 【trx】 (公司名简拼, 大小写随意,此处代码没做处理,自己视情况而定)●公司主域名,如baidu.com 【tsrc.com】 (输入一级域名即根域即可)3.字典规则●姓名全拼(小写) + 弱口令●姓名全拼(小写) + "@/#" + 弱口令●姓名全拼(小写) + 域名 ( + "!#." )●姓名全拼(小写) + "@/#" + 域名 ( + 弱口令 +"!#." )●姓名全拼(小写) + 域名前缀 ( + 弱口令 + "!#." )●姓名全拼(小写) + "@/#" + 域名前缀 ( + 弱口令 + "!#." )●姓名全拼(小写) + 公司全拼(小写) + ( + 弱口令+ "!#." )●姓名全拼(小写) + "@/#" + 公司全拼(小写) ( + 弱口令+ "!#." )●姓名全拼(小写) + 公司简拼(用户决定) ( + 弱口令+ "!#." )●姓名全拼(小写) + "@/#"+ 公司简拼(用户决定) ( + 弱口令 + "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + 弱口令●姓全称(首字母大写) + "@/#" + 名缩写(大小写各一次) + 弱口令●姓全称(首字母大写) + 名缩写(大小写各一次) + 域名 ( + "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + "@/#" + 域名 ( + 弱口令 +"!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + 域名前缀 ( + 弱口令 + "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + "@/#" + 域名前缀 ( + 弱口令 + "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + 公司全拼(小写) + ( + 弱口令+ "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + "@/#" + 公司全拼(小写) ( + 弱口令+ "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + 公司简拼(用户决定) ( + 弱口令+ "!#." )●姓全称(首字母大写) + 名缩写(大小写各一次) + "@/#"+ 公司简拼(用户决定) ( + 弱口令 + "!#." )●姓全称(小写) + 名缩写(大小写各一次) + 弱口令●姓全称(小写) + 名缩写(大小写各一次) + "@/#" + 弱口令●姓全称(小写) + 名缩写(大小写各一次) + 域名 ( + 弱口令 + "!#." )●姓全称(小写) + 名缩写(大小写各一次) + "@/#" + 域名 ( + 弱口令 +"!#." )●姓全称(小写) + 名缩写(大小写各一次) + 域名前缀 ( + 弱口令 + "!#." )●姓全称(小写) + 名缩写(大小写各一次) + "@/#" + 域名前缀 ( + 弱口令 + "!#." )●姓全称(小写) + 名缩写(大小写各一次) + ( + 弱口令+ "!#." )●姓全称(小写) + 名缩写(大小写各一次) + "@/#" + 公司全拼(小写) ( + 弱口令+ "!#." )●姓全称(小写) + 名缩写(大小写各一次) ( + 弱口令+ "!#." )●姓全称(小写) + 名缩写(大小写各一次) + "@/#"+ 公司简拼(用户决定) ( + 弱口令 + "!#." )●姓简称(大写) + 名全称(小写) + 弱口令●姓简称(大写) + 名全称(小写) + "@/#" + 弱口令●姓简称(大写) + 名全称(小写) + 域名 ( + "!#." )●姓简称(大写) + 名全称(小写) + "@/#" + 域名 ( + 弱口令 +"!#." )●姓简称(大写) + 名全称(小写) + 域名前缀 ( + 弱口令 + "!#." )●姓简称(大写) + 名全称(小写) + "@/#" + 域名前缀 ( + 弱口令 + "!#." )●姓简称(大写) + 名全称(小写) + 公司全拼(小写) + ( + 弱口令+ "!#." )●姓简称(大写) + 名全称(小写) + "@/#" + 公司全拼(小写) ( + 弱口令+ "!#." )●姓简称(大写) + 名全称(小写) + 公司简拼(用户决定) ( + 弱口令+ "!#." )●姓简称(大写) + 名全称(小写) + "@/#"+ 公司简拼(用户决定) ( + 弱口令 + "!#." )●姓简称(小写) + 名全称(小写) + 弱口令●姓简称(小写) + 名全称(小写) + "@/#" + 弱口令●姓简称(小写) + 名全称(小写) + 域名 ( + "!#." )●姓简称(小写) + 名全称(小写) + "@/#" + 域名 ( + 弱口令 +"!#." )●姓简称(小写) + 名全称(小写) + 域名前缀 ( + 弱口令 + "!#." )●姓简称(小写) + 名全称(小写) + "@/#" + 域名前缀 ( + 弱口令 + "!#." )●姓简称(小写) + 名全称(小写) + 公司全拼(小写) + ( + 弱口令+ "!#." )●姓简称(小写) + 名全称(小写) + "@/#" + 公司全拼(小写) ( + 弱口令+ "!#." )●姓简称(小写) + 名全称(小写) + 公司简拼(用户决定) ( + 弱口令+ "!#." )●姓简称(小写) + 名全称(小写) + "@/#"+ 公司简拼(用户决定) ( + 弱口令 + "!#." )●域名 + "@/#" + 姓名全拼(小写) ( + 弱口令 +"!#." )●域名 + "@/#" + 姓全称(首字母大写) ( + 弱口令 +"!#." )●域名 + "@/#" + 姓全称(小写) ( + 弱口令 +"!#." )●域名 + "@/#" + 姓简称(小写) + 名全称(小写) ( + 弱口令 +"!#." )●域名 + "@/#" + 姓简称(大写) + 名全称(小写) ( + 弱口令 +"!#." )●域名前缀 + "@/#" + 姓名全拼(小写) ( + 弱口令 +"!#." )●域名前缀 + "@/#" + 姓全称(首字母大写) ( + 弱口令 +"!#." )●域名前缀 + "@/#" + 姓全称(小写) ( + 弱口令 +"!#." )●域名前缀 + "@/#" + 姓简称(小写) + 名全称(小写) ( + 弱口令 +"!#." )●域名前缀 + "@/#" + 姓简称(大写) + 名全称(小写) ( + 弱口令 +"!#." )●公司全拼(小写) + "@/#" + 姓名全拼(小写) ( + 弱口令 +"!#." )●公司全拼(小写) + "@/#" + 姓全称(首字母大写) ( + 弱口令 +"!#." )●公司全拼(小写) + "@/#" + 姓全称(小写) ( + 弱口令 +"!#." )●公司全拼(小写) + "@/#" + 姓简称(小写) + 名全称(小写) ( + 弱口令 +"!#." )●公司全拼(小写) + "@/#" + 姓简称(大写) + 名全称(小写) ( + 弱口令 +"!#." )●公司简拼(用户决定) + "@/#" + 姓名全拼(小写) ( + 弱口令 +"!#." )●公司简拼(用户决定) + "@/#" + 姓全称(首字母大写) ( + 弱口令 +"!#." )●公司简拼(用户决定) + "@/#" + 姓全称(小写) ( + 弱口令 +"!#." )●公司简拼(用户决定) + "@/#" + 姓简称(小写) + 名全称(小写) ( + 弱口令 +"!#." )●公司简拼(用户决定) + "@/#" + 姓简称(大写) + 名全称(小写) ( + 弱口令 +"!#." )●域名 + 弱口令 ( + "!#." )●域名前缀 + 弱口令 ( + "!#." )●公司全拼(小写) + 弱口令 ( + "!#." )●公司简拼(用户决定) + 弱口令 (+ "!#." )
1.5passmaker
https://github.com/bit4woo/passmaker
可以自定义规则的密码字典生成器,支持图形界面git clonehttps://github.com/bit4woo/passmakercd passmakerpython passmaker.py #方法一,需先修改配置文件,要求一定的python基础知识python passmaker.py -i #方法二,命令行交互方式python passmaker.py -g #方法三,通过图形界面方式,MAC OS下可能会有问题
1.6 CUPPCUPP (Common User Password Profiler)
是一个用于生成针对特定用户的密码字典的工具。它通过收集用户提供的个人信息来创建可能的密码组合,从而帮助安全测试人员进行密码猜测攻击。
1.安装及医用CUPP
git clone https://github.com/Mebus/cupp.git
cd cupppython cupp.py -i
2.填写个人信息在交互式模式下,CUPP 会提示你输入一系列个人信息,包括但不限于:名字姓氏生日(年、月、日)重要日期(如结婚纪念日)宠物名字公司名称电话号码社交媒体用户名其他可能相关的关键词输入这些信息后,CUPP 会生成一个包含可能密码组合的字典文件。
3.命令行选项CUPP 提供了多个命令行选项来定制生成的密码字典。以下是一些常用的选项:-i: 启动交互式模式。-l: 包含小写字母。-u: 包含大写字母。-n: 包含数字。-s: 包含特殊字符。-w FILE: 从文件中读取关键词。-a: 生成所有可能的组合。-q: 快速模式,减少生成的密码数量。-v: 详细模式,显示更多信息。-h: 显示帮助信息。
4.示例命令(1)基本交互式模式python cupp.py -i(2)生成包含所有字符类型的字典python cupp.py -i -l -u -n -s从文件中读取关键词(3)python cupp.py -w keywords.txt(4)快速模式python cupp.py -i -q(5)详细模式python cupp.py -i -v1.6 cewlCEWL (Custom Word List Generator) 是一个用于生成自定义单词列表的工具,特别适用于针对特定网站或公司的密码猜测攻击。CEWL 通过抓取网页内容并提取其中的单词来生成密码字典,这使得生成的字典更加针对性和有效。
1.安装 CEWL(1)apt安装sudo apt-get updatesudo apt-get install cewl(2)手动安装git clonehttps://github.com/digininja/cewl.gitcd cewlgem build cewl.gemspecgem install cewl-*.gem
2.基本命令(1)命令行选项CEWL 提供了多个命令行选项来定制生成的单词列表。以下是一些常用的选项:-d DEPTH: 指定抓取的深度。例如,-d 2 表示抓取目标网站的两层链接。-m MIN_LENGTH: 指定最小单词长度。例如,-m 6 表示只提取长度为 6 或更长的单词。-w FILE: 指定输出文件。例如,-w wordlist.txt 将结果保存到 wordlist.txt 文件中。-e: 包含电子邮件地址。-b: 包括 HTML 注释中的文本。-i: 忽略某些常见的单词(如 "the", "and" 等)。-x EXTENSIONS: 指定要抓取的文件扩展名。例如,-x php,html 只抓取 .php 和 .html 文件。-s: 显示统计信息。-v: 显示详细信息。-h: 显示帮助信息。(2)生成单词列表cewlhttp://example.com> wordlist.txt这条命令会抓取http://example.com的内容,并将提取的单词保存到 wordlist.txt 文件中。
3.示例命令(1)获取某个网站关键字cewl
https://www.cmd5.com/-w wordlist.txt
本例中获取cmd5站上所有的关键字,如下图所示,执行完毕后可以看到获取的所有中文及英文关键字。
(2)指定抓取深度cewl
https://www.cmd5.com/-d 2 -w w2.txt
(3)指定最小单词长度cewl
http://example.com-m 6 -w wordlist.txt
(4)包含电子邮件地址cewl
http://example.com-e -w wordlist.txt
(5)忽略常见单词cewl
http://example.com-i -w wordlist.txt
(6)抓取特定文件扩展名cewl
http://example.com-x php,html -w wordlist.txt
(7)显示统计信息cewl
http://example.com-s -w wordlist.txt
(8)显示详细信息cewl
http://example.com-v -w wordlist.txt4.基于 cewl的结果进行密码变型●末尾增加数字串●字母大小写变化●字母与符号互相转换●字母与数字互相转换●P@$$w0rd
1.7kali下的字典
1.默认字典rockyou这是Kali Linux中默认的字典文件存放目录,包含了各种类型的字典文件,这些文件广泛用于密码爆破、漏洞扫描等场景。在这个目录下,你可以找到许多以.txt格式存储的字典文件,每个文件中包含一连串的单词或短语,用于密码破解时的猜测依据。/usr/share/wordlists/rockyou.txt, 是Kali的经典密码字典,包含约130万个常见密码。2.DirBuster字典DirBuster 目录扫描工具的字典文件目录,用于穷举目录和文件路径。/usr/share/dirb/wordlists
3.sqlmap字典目录/usr/share/sqlmap/data/txt,SQLMap工具的字典,包含SQL注入相关的payloads。
4.metasploit默认字典/usr/share/metasploit-framework/data/wordlists/Metasploit框架中的字典文件,包含针对不同攻击场景的词表。
5.nmap字典目录/usr/share/nmap/nselib/data/Nmap 工具的字典文件目录,包含用于脚本和扫描的字典。
6.wfuzz字典目录/usr/share/wfuzz/wordlist/wfuzz 工具的字典文件目录,用于 Web 应用程序渗透测试。
1.8密码字典下载
1.渗透测试工程师精简化字典
https://github.com/a3vilc0de/PentesterSpecialDict
2.seclists
https://github.com/danielmiessler/SecLists/tree/master/Passwords这是一个安全研究者和渗透测试人员常用的资源库,其中收集了一个 "Passwords" 目录,包含着许多大型的字典文件,包括弱口令字典。
3.Probable-Wordlists
https://github.com/berzerk0/Probable-Wordlists这是一个目前最大的密码字典之一,包含了 2376 个字典文件,包括密码、用户名、社会工程学素材等。现github高达8.6ksta
4.CrackStation这是一个专门提供密码破解工具的服务网站,其中也提供了许多常见的弱口令字典,包括万能密码、社会工程学密码、差密码等。
https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionaries.htm
5.weakpass项目
https://weakpass.com/
6.TheKingOfDuck
https://github.com/TheKingOfDuck/fuzzDicts
7.Fuzzing-Dicts
https://github.com/3had0w/Fuzzing-Dicts
8.目录扫描字典Dirpath_List
https://github.com/DictionaryHouse/Dirpath_List
9.SaiDict弱口令,敏感目录,敏感文件等渗透测试常用攻击字典
https://github.com/Stardustsky/SaiDict
10.Web-Fuzzing-Box
https://github.com/gh0stkey/Web-Fuzzing-Box
Web Fuzzing Box - Web 模糊测试字典与一些Payloads,主要包含:弱口令暴力破解、目录以及文件枚举、Web漏洞.❯ tree -L 2.├── Brute [爆破]│ ├── Chinese_Hacker_Id.txt [黑客ID字典]│ ├── Application [服务、应用字典]│ ├── Basic_401_Login.txt [401认证字典]│ ├── Full_Name [姓名拼音字典]│ ├── Password [密码字典]│ ├── Ports [端口字典]│ ├── Security_Product [安全产品]│ ├── Subdomain [子域名]│ ├── Top_Password [Top排名字典]│ ├── Test_Chinese_Mobilephonenumber.txt [测试手机号字典]│ └── Username [用户名字典]├── Dir [目录、文件名、接口]│ ├── Others [其他字典]│ ├── Burpsuite [适用于BurpSuite的字典]│ ├── Wooyun [乌云历史漏洞目录、文件字典]│ └── Yujian [中国御剑字典]├── Vuln [漏洞相关字典]│ ├── Api_Bypass [Api漏洞:绕过403、鉴权绕过]│ ├── File_Upload [文件上传漏洞]│ ├── Logic [逻辑漏洞]│ ├── File_Include [文件包含字典]│ ├── Image_Dos [图片资源导致的DoS拒绝服务漏洞字典]│ ├── Jsonp [JSONP跨域劫持漏洞字典]│ ├── Open_Redirect [URL跳转漏洞字典]│ ├── Sql_Injection [SQL注入字典]│ ├── Traversal_Directory [遍历目录漏洞字典]│ ├── Xml_Bomb [XML炸弹Payloads]│ └── Xss [XSS字典与Payloads]├── Other [其他字典]│ ├── 2W_Words.txt│ └── 各省市手机号号段└── Web [Web测试字典]├── File_Path [一些文件及路径]├── Funcation_Name.txt [函数名]├── HTML [HTML相关]├── Headers [HTTP头]├── Http_Methods.txt [HTTP请求方式]├── Integer_Overflows.txt [整数溢出]├── Javascript_Filename.txt [JavaScript文件名]├── Lcoalhost.txt [本地地址]├── Parameters [请求参数]├── URL [URL相关协议和类型]└── ViewState_Key.txt [用于ViewState反序列化]
11.password_brute_dictionary
https://github.com/huyuanzhi2/password_brute_dictionary
12.Dictionary-Of-Pentesting
https://github.com/insightglacier/Dictionary-Of-Pentesting
收集一些常用的字典,用于渗透测试、SRC漏洞挖掘、爆破、Fuzzing等实战中。收集以实用为原则。目前主要分类有认证类、文件路径类、端口类、域名类、无线类、正则类。涉及的内容包含设备默认密码、文件路径、通用默认密码、HTTP参数、HTTP请求头、正则、应用服务默认密码、子域名、用户名、系统密码、Wifi密码等。
13.wordlis
thttps://github.com/jeanphorn/wordlist
14.PasswordDic
https://github.com/k8gege/PasswordDic
15.SeCDictionary
https://github.com/mstxq17/SeCDictionary/
16.RW_Password
https://github.com/r35tart/RW_Password
17.PasswordDic
https://github.com/wwl012345/PasswordDic
18.password_brute_dictionary
https://github.com/zxcvbn001/password_brute_dictionary
19.LMuD0LGa
https://pastebin.com/LMuD0LGa
参考文章:https://gh0st.cn/archives/2019-11-11/1
1.9默认凭证
01-棱角安全团队 -> https://forum.ywhack.com/bountytips.php?password
02-ihebski师傅 -> https://github.com/ihebski/DefaultCreds-cheat-sheet
1.10总结
本文介绍了目前一些常见的密码生成工具以及一些开源的密码字典,其实密码字典是随着渗透工作的积累沉淀的,密码字典不是越大越好,超级大的字典你无法全部跑完,跑完一次的代价太大,因此推荐的使用top 10000以及cewl爬取目标网站获取关键字生成字典,另外利用社工关键字生成的字典在渗透中也常常发挥意想不到的作用。渗透就是努力尝试,弱口令暴力破解在很多场景中往往发挥巨大的作用。
原文始发于微信公众号(小兵搞安全):暴力破解辅助利器——密码字典生成工具
评论