“ 优秀的黑客都有自己独立的字典。”
今天我就单拿一篇文章来说一说密码字典吧!
这个话题可能会正中一部分人的痛点,因为很多人没有自己的字典,每次用到的时候都是找一些网上的,或者是工具自带的,或者放弃。
我们先来统计一下都有哪些地方需要用到密码字典呢?
其实开始我用的词是字典,后来想想,这个词用大了,可以说现在的扫描器也都是 基于字典+判断 得到结果的,就像之前我自己写的那个小的扫描网站备份的小工具(拿自己的小工具举例子有点自恋),拿一个耳熟能详的工具来说吧,比如 御剑工具,御剑工具执行程序目录还有自己的字典,打开就能看到。
Burpsuite 中有一个独特的 Intruder 模块,我感觉就是把字典 玩得很完美的一个工具了,这个到时候我们再说
Kali 自带的密码字典
/usr/share/wordlist
/usr/share/wfuzz/wordlist
/usr/share/seclists (已经被去除)
/usr/share/wordlist
可以看出 /usr/share/wordlist 这个目录下除了 rockyou.txt.gz 这个51M 的压缩包,其他的都是一些link , 可以看出都是一些著名的软件的字典
/usr/share/wfuzz/wordlist
这个目录是专门为了 fuzzing 而设计的,所以按照类别分配了文件夹,可以看到的有 通用型的,注入型的,压力测试型的,漏洞检测,类型的,网络服务器类型以及其他一些类型。
查看一下 xss 的字典吧
/usr/share/seclists
(新版本的Kali 已经去除了这个目录)
Crunch
这个工具可以按照规则生成字典,很强大,几乎可以自定义
社会工程学 时候用通用型字典的话成功率就太低了,当然需要基于个人信息的字典了
Cupp
按个人信息生成其专属的密码字典
CUPP:Common User Password Profiler
这个工具并没有在Kali中集成,需要我们去下载
– git clone https://github.com/Mebus/cupp.git
启动
– python cupp.py -i
之后按照提示填写就好了
cewl -- 真对网站信息生成字典
cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
-m:最小单词长度
-d:爬网深度(多少层url)
-e:收集包含email地址信息
-c:按照每个单词出现次数进行整理
支持基本、摘要 身份认证
支持代理
用户密码变型
有时候人们会对一些密码进行单个字母的变化,变化规则如下,这个就需要我们手动去尝试了或者手动制作字典了
基于 cewl 的结果进行密码变型
末尾增加数字串
字母大小写变化
字母与符号互相转换
字母与数字互相转换
P@$$w0rd
接下来这篇文章的重点就来了
昨天我用一整天整理出一套字典,在我看来是非常非常优秀的一个字典
来历
这个字典是我收集之前各个大公司泄漏的数据库中总结出来的,数据库包括新浪微博,天涯,网易邮箱,7k7k等十几个公司总共 60G 的数据库。
我花费整整一天的时间,把这些个数据库中密码部分提取出来并去重。可以说是非常的糟心的经历,
同时也就是说,这份字典中的每一个都是真真切切的人在使用的密码(当然这些人中也可能包括你)
属性
一共 40409179 条不重复的密码
文件大小 423M ,这个是在Mac 上哦,其他平台可能有点小差异
如果单纯去比较字典大小去评判一个字典的好坏,那么可能会有所偏颇,现在很多字典还有类似 a , ab,等等这类字符存在,如今网站管理员几乎不可能使用这中低端的字典了,应用程序大多数也不允许有这种存在了,如果碰巧你遇到的目标使用了这种一两个字符作为密码的,那你就换一个目标吧,这种目标没有意义。
内容
这个字典中只包含密码,没有用户名
字典有两份,一份是分散为14个的字典,毕竟很多工具可能无法直接读取巨大的字典;另一份就是刚才看到的那个了。从内容上没有什么区别!
其他的字典可能陆续也会总结出来
发布
由于这个字典实在是花费很多心血,所以就不免费发放了
废了多少事只有我自己知道,很多数据库都采用 GB18030 编码格式,不知道因为什么。
维护
我觉得任何字典都需要一个维护,每当你遇到字典里面没有的词的时候,就可以添加进去,这样才会形成一个活着的字典,而这么大的字典用软件(记事本等)十分的费劲,要查找密码在不在字典里就更费劲了,此时就可以使用我之前写过的字典去重工具了