×

crunch-字典制作工具-创建自己的密码字典文件-密码破解
  

老眼 10017

{{ttag.title}}
本帖最后由 老眼 于 2016-9-30 11:20 编辑

crunch简介


crunch是一款运行在linux中的字典生成工具,可以灵活的定制自己的密码字典文件。kali系统中默认安装有crunch工具


crunch安装


下载地址

https://sourceforge.net/projects/crunch-wordlist/


安装方法


tar zxvf crunch-3.6.tgz  
cd crunch-3.6  
gcc -Wall -lm -pthread -std=c99 -m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 crunch.c -o crunch -lm  
make install


进入crunch的安装目录下面可以看到里面有一个charset.lst文件,里面定义了一些名词 用于简写用于制作字典的字符 如:

numeric 表示0123456789

Lalpha表示26位小写字母

Ualpha表示26为大写字母



crunch使用语法及参数


crunch <min-len> <max-len> [<charset string>] [options]
参数解释
min-len    开始的最小长度字符串(这个选项是必须的)
max-len    结束的最大长度字符串(这个选项是必须的)
charset string    要生成密码包含的字符集(小写字符、大写字符、数字、符号),这个选项是可选的,如果你不写这个选项,将使用默认字符集(默认为小写字符)。如果你想生成的密码包含空格字符,你可以使用\来代替,
如:123abc\
你可以把带有空格的字符集放在双引号“”中,如“123abc ”
OPTIONS
-b     按指定的大小单位分割字典文件成若干个指定的大小的字典,避免一个字典文件过大,如:
./crunch 4 5 -b 20mib -o START 按每个文件20mib分割字典文件。
说明:单位有 kb, mb, gb, kib, mib, gib ,前三个单位是以1000单位计算的,后三个是以1024计算的。
注意数字和单位之间没有空格,例如:500mb 是正确的, 500 mb 格式是不对的(中间有空格),-b参数必须和-o START结合使用
-c    指定要写入字典文件中的行数,只在有 -o START参数时才生效,单个字典超过指定的行数会被分割成两个或多个字典文件。例如: -c 5000
-d    限制同一字符连续出现的数量, -d 2 表示限制一个字符最多连续出现2次如 aabd,ccda。aaab就表示超过了2个字符连续的限制了。
-e    定义到那个字符串就停止生成密码,例如: -e  999999 就表示在生成密码到99999时就停止生成密码
-f    调用密码库文件,例如:/usr/share/crunch/charset.lst
-i    改变输出格式,例如: 原本输入为aaa,aab,aac,aad再使用了-i之后,就会变成aaa,baa,caa,daa的格式了
-l    When you use the -t option this option tells crunch which symbols should be treated as literals.   This  will  allow you  to  use  the  placeholders  as  letters  in the pattern.  The -l option should be the same length as the -t option.  See example 15.
-m    与-p搭配使用
-o    输出生成的密码到指定的文件,如: -o  lybbnwordlist.txt
-p    定义密码元素
-q    读取密码元素
-r     定义从某一个地方重新开始
-s     第一个密码,从自己定义的密码xxx开始
-t    定义密码输出格式
        @代表插入小写字母
        ,代表插入大写字母   
        %代表插入数字
        ^代表插入符号
-u    The -u option disables the printpercentage thread.  This should be the last option.
-z    压缩生成的字典文件,有效的参数是gzip, bzip2, lzma, and 7z,其中gzip压缩最快,bzip2压缩速度比gzip慢单压缩效率比gzip好,7z压缩速度最慢,但是压缩效率最高。

crunch案例讲解


(1)生成一个字典文件(小写字母),密码长度从1到3位


crunch 1 3

将会生成一个 以 a 开始到以 zzz 结束的密码文件


(2)生成一个包含字符集abcdefg,密码长度是1到6位的字典文件


crunch 1 6 abcdefg


将会使用字符集 abcdefg ,并且以 a 开始以 gggggg 结束的字典文件


(3)生成一个包含字符集abcdefg和空格,密码长度是1到6位的字典文件


crunch 1 6 abcdefg\


将会使用字符集 abcdefg 包含空格 以a 开始 并且以6个空格结束的字典文件,abcdefg\也可以写成 "abcdefg "形式


(4)生成一个指定文件名并且包含大小写字母、数字、常见字符的密码文件,密码长度为1到8位


crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o lybbnwordlist.txt


将会调用密码库 charset.lst, 生成最小为1,最大为8,元素为密码库 charset.lst中 mixalpha-numeric-all-space的项目,并保存为 lybbnwordlist.txt;其中 charset.lst在kali_linux的目录为 /usr/share/crunch/charset.lst, charset.lst中 mixalpha-numeric-all-space项目包含最常见的元素组合(即大小写字母+数字+常见符号)


(5)定义密码格式为“两个小写字母+dog+三个小写字母”,密码为8位,并且第一个密码为cbdogaaa,生成指定的文件名的字典文件


crunch 8 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt -t @@dog@@@ -s cbdogaaa


调用密码库 charset.lst,生成8位密码;其中元素为 密码库 charset.lst中 mixalpha-numeric-all-space的项;格式为“两个小写字母+dog+三个小写字母”,并以cbdogaaa开始(@代表小写字母)   

密码以 cbdogaaa 开始 以  3个空格dog3个空格 结束


(6)调用密码库charset.lst,生成2位和3位密码;其中元素为密码库charset.lst中ualpha(大写字母)的项;并且以BB开头


crunch 2 3 -f charset.lst ualpha -s BB


将会以BB开头ZZZ结尾


(7)生成abc, acb, bac, bca, cab, cba


crunch 4 5 -p abc

这里注意,虽然4 和 5 密码长度是没用的无效的,但是必须要写,-p是定义密码的元素


(8)生成 dog cat bird 三个单词任意组合


crunch 4 5 -p dog cat bird


将生成以“dog”“cat”“bird”为元素的所有密码组合:birdcatdog,birddogcat,catbirddog,   catdogbird,  dogbirdcat, dogcatbird

这里注意,虽然4 和 5 密码长度是没用的无效的,但是必须要写


(9)生成1到5为字典文件并压缩成bzip2格式的文件,并且每个字典有6000个密码


crunch 1 5 -o START -c 6000 -z bzip2

crunch将会以 bzip2压缩字典, 每个字典有6000个密码,压缩成的文件名的格式是 first_word-last_word.txt.bz2,如:0_5.txt.bz2


如下是使用不同的压缩算法所消耗的时间


# time ./crunch 1 4 -o START -c 6000 -z gzip
       real    0m2.729s
       user    0m2.216s
       sys     0m0.360s
       # time ./crunch 1 4 -o START -c 6000 -z bzip2
       real    0m3.414s
       user    0m2.620s
       sys     0m0.580s
       # time ./crunch 1 4 -o START -c 6000 -z lzma
       real    0m43.060s
       user    0m9.965s
       sys     0m32.634s
       size  filename
       30K   aaaa-aiwt.txt
       12K   aaaa-aiwt.txt.gz
       3.8K  aaaa-aiwt.txt.bz2
       1.1K  aaaa-aiwt.txt.lzma

(10)生成最小为4位,最大为5位元素为所有小写字母的密码字典,并以20M进行分割


crunch 4 5 -b 20mib -o START

将会生成4个文件: aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt, 前三个文件是 20MBs (real power of 2 MegaBytes) 最后一个文件是 11MB.


(11)生成3位密码,其中格式为“1个小写字母”+“一个数字”+“一个常见符号”,字母,数字和符号均为指定的字符

crunch 3 3 abc + 123 !@# -t @%^

将以a1! 开始,以 c3# 结束


(12)生成3位密码,其中第一位由“a,b,c”中的一个;第二位为“1,2,3”中的一个;第三位为“!,@,#”中的一个,格式为“1个特殊字符+1个数字+1个小写字母”


crunch 3 3 abc + 123 !@# -t ^%@

将以 !1a 开始,以 #3c 结束


(13)生成4位密码,其中格式为“数字+数字+小写字母+常用特殊字符”,字母和常用字符范围都在+号中留空表示 使用默认的字符集,数字范围为 1 2 3 , 字母范围为a b c  比如!1c    @3b       @2a


crunch 4 4  + + 123 + -t %%@^

默认的字符集如下:


       abcdefghijklmnopqrstuvwxyz
       ABCDEFGHIJKLMNOPQRSTUVWXYZ
       123
       !@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/
       there is a space at the end of the above string

将以 11a! 开始,以 "33z ",注意33z后面有个空格


(14)生成5个元素组成的密码,其中前三个为 dog cat bird任意组合,后两个为两个小写字母的任意组合


crunch 5 5 -t ddd@@ -o j -p dog cat bird

结果如下:


       birdcatdogaa

       birdcatdogab

       birdcatdogac

       <skipped>

       dogcatbirdzy

       dogcatbirdzz


(15)生成7位密码,格式为字符串“p@ss”+大写字母+数字+符号

crunch 7 7 -t p@ss,%^

可见如果不加-l选项来显示特殊符号的好,@会变成a


要生成想要的密码,需要使用-l选项


crunch 7 7 -t p@ss,%^    -l a@aaaaa

这样@符号就可以正常显示了,-l选项的作用就是把想要crunch的@,%等按正常的字符显示出来(用到了占位符的功能),前提是-l后面的参数跟-t的长度一致。


(16)生成5位密码,格式为“小写字母+数字+符号+大写字母+数字”,并以 @4#S2开始,出现小写字母+8 Q2就结束,分割为10k大小


crunch 5 5 -s @4#S2 -t @%^,2 -e @8 Q2  -b 10KB -o START

将以 @4#S2开始,以 @8 Q2 结束


(17)生成5位密码,格式为“三个字母+两个数字”,并限制小写字母最多连续出现2次。


crunch 5 5 -d 2@ -t @@@%%

将以aab00 开始,以 zzy99 结束


(18)生成10位密码,格式为“三个小写字母+一个符号+四个数字+两个符号”,限制每个小写字母最多连续出现2次,数字最多连续出现3次


crunch 10 10 -t @@@^%%%%^^ -d 2@ -d 3% -b 20mb -o START

将以aab!0001!! 开始,以 zzy 9998  结束,每个文件20mb


(19)生成8位密码,每个小写字母最多连续出现两个(@表示小写字母)


crunch 8 8 -d 2@

将以 aabaabaa开始,以 zzyzzyzz 结束

来至:www.lybbn.cn

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

Sangfor_闪电回_朱丽 发表于 2016-9-30 15:08
  
感谢楼主的分享~
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
【 社区to talk】
安全效果
技术笔记
干货满满
每日一问
信服课堂视频
GIF动图学习
新版本体验
技术咨询
2023技术争霸赛专题
功能体验
产品连连看
安装部署配置
通用技术
秒懂零信任
技术晨报
自助服务平台操作指引
原创分享
标准化排查
排障笔记本
玩转零信任
排障那些事
SDP百科
深信服技术支持平台
POC测试案例
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
高手请过招
升级&主动服务
高频问题集锦
社区新周刊
全能先锋系列
云化安全能力

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人