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

crunch简介

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

 

      crunch安装

      下载地址

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

 

      安装方法

       1. tar zxvf crunch-3.6.tgz

       2.cd crunch-3.6

       3.gcc -Wall -lm -pthread -std=c99 -m64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 crunch.c -o crunch -lm

       4.make install

 

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

        numeric 表示0123456789

        Lalpha表示26位小写字母

        Ualpha表示26为大写字母

字典制作工具-创建自己的密码字典文件_第1张图片


        crunch使用语法及参数

       crunch [] [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 定义密码输出格式
                      1.@代表插入小写字母
                  2.,代表插入大写字母
                  3. %代表插入数字
                  4.^代表插入符号

       -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


字典制作工具-创建自己的密码字典文件_第2张图片
        将会生成一个 以 a 开始到以 zzz 结束的密码文件

 

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

        crunch 1 6 abcdefg


字典制作工具-创建自己的密码字典文件_第3张图片
        将会使用字符集 abcdefg ,并且以 a 开始以 gggggg 结束的字典文件

 

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

        crunch 1 6 abcdefg


字典制作工具-创建自己的密码字典文件_第4张图片
        将会使用字符集 abcdefg 包含空格 以a 开始 并且以6个空格结束的字典文件,abcdefg也可以写成 "abcdefg "形式

 

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

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


字典制作工具-创建自己的密码字典文件_第5张图片
        将会调用密码库 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


字典制作工具-创建自己的密码字典文件_第6张图片
        这里注意,虽然4 和 5 密码长度是没用的无效的,但是必须要写,-p是定义密码的元素

 

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

       crunch 4 5 -p dog cat bird


字典制作工具-创建自己的密码字典文件_第7张图片
        将生成以“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

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

        1. # time ./crunch 1 4 -o START -c 6000 -z gzip
        2.r eal 0m2.729s
        3. user 0m2.216s
        4. sys 0m0.360s
        5. # time ./crunch 1 4 -o START -c 6000 -z bzip2
        6. real 0m3.414s
        7. user 0m2.620s
        8. sys 0m0.580s
        9. # time ./crunch 1 4 -o START -c 6000 -z lzma
        10. real 0m43.060s
        11. user 0m9.965s
        12. sys 0m32.634s
        13. size filename
        14. 30K aaaa-aiwt.txt
        15. 12K aaaa-aiwt.txt.gz
        16. 3.8K aaaa-aiwt.txt.bz2
        17. 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

       

        dogcatbirdzy

        dogcatbirdzz

 

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

       crunch 7 7 -t p@ss,%^

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


字典制作工具-创建自己的密码字典文件_第8张图片

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

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


字典制作工具-创建自己的密码字典文件_第9张图片

       这样@符号就可以正常显示了,-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@


字典制作工具-创建自己的密码字典文件_第10张图片

       将以 aabaabaa开始,以 zzyzzyzz 结

你可能感兴趣的:(环境搭建)