密码生成工具crunch+hydra暴力破解ftp登录

1.首先在本地用ftpserver工具搭建了一个ftp

技术分享

2.用工具crunch生成ftp.txt字典文件用来破解ftp用户名和密码

在命令行下输入命令crunch 4 4 -o ftp.txt

技术分享

crunch简介

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

crunch安装

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

安装方法

1 2 3 4 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自带的charset.lst中的字符集.png
 

crunch使用语法及参数

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 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 定义密码输出格式 @代表插入小写字母 ,代表插入大写字母 %代表插入数字 ^代表插入符号 -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位

1 crunch 1 3

 

crunch生成一个1到3为的小写字母字典.png
 

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

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

1 crunch 1 6 abcdefg

 

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

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

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

1 crunch 1 6 abcdefg\

 

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

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

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

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

 

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

将会调用密码库 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,生成指定的文件名的字典文件

1 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开头

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

将会以BB开头ZZZ结尾

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

1 crunch 4 5 -p abc

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

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

1 crunch 4 5 -p dog cat bird

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

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

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

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

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

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 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进行分割

1 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个小写字母”+“一个数字”+“一个常见符号”,字母,数字和符号均为指定的字符

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

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

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

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

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

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

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

默认的字符集如下:

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

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

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

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

结果如下:

birdcatdogaa

birdcatdogab

birdcatdogac

dogcatbirdzy

dogcatbirdzz

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

1 crunch 7 7 -t p@ss,%^

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

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

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

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

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

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

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

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

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

将以aab00 开始,以 zzy99 结束

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

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

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

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

1 crunch 8 8 -d 2@

 

将以 aabaabaa开始,以 zzyzzyzz 结束

 

案例1:
crunch 1 8
#生成最小1位,最大8位,由26个小写字母为元素的所有组合
案例2:
crunch 1 6 abcdefg
#生成 最小为1,最大为6.由abcdefg为元素的所有组合
案例3:
crunch 1 6 abcdefg\
#生成 最小为1,最大为6.由abcdefg和空格为元素的所有组合(/代表空格)
案例4:
crunch 1 8 -f charset.lst mixalpha-numeric-all-space -o wordlist.txt
#调用密码库 charset.lst, 生成最小为1,最大为8,元素为密码库 charset.lst中 mixalpha-numeric-all-space的项目,并保存为 wordlist.txt;其中 charset.lst在kali_linux的目录为 /usr/share/crunch/charset.lst, charset.lst中 mixalpha-numeric-all-space项目包含最常见的元素组合(即大小写字母+数字+常见符号);
>想了解更多可以cat /usr/share/crunch/charset.lst 查看所有密码库
案例5:
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开始枚举(@代表小写字母)
案例6:
crunch 2 3 -f charset.lst ualpha -s BB
#调用密码库charset.lst,生成2位和3位密码;其中元素为密码库charset.lst中ualpha的项;并且以BB开头
案例7:
crunch 4 5 -p abc
#crunch将会生成abc, acb, bac, bca, cab, cba,虽然数字4和5这里没用,但必须有
案例8:
crunch 4 5 -p dog cat bird
#crunch将生成以“dog”“cat”“bird”为元素的所有密码组合:birdcatdog,birddogcat,catbirddog,   catdogbird, dogbirdcat, dogcatbird
案例9:
crunch 1 5 -o START -c 6000 -z bzip2
# 生成最小为1位,最大为5位元素为所有小写字母的密码字典,其中每一个字典文件包含6000个密码,并将密码文件保存为bz2文件,文件名将以  “第一个密码” + ” – ” + “最后一个密码” + ” .txt.bz2 ” 保存(比如000-999.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:
crunch 4 5 -b 20mib -o START
# 生成最小为4位,最大为5位元素为所有小写字母的密码字典,并以20M进行分割;这时会生成4个文件:aaaa-gvfed.txt,  gvfee-ombqy.txt,  ombqz-wcydt.txt, wcydu-zzzzz.txt:其中前三个大概每个20M,最后一个10M左右(因为总共70M)
案例11:
crunch 4 4  + + 123 + -t %%@^
#生成4位密码,其中格式为“两个数字”+“一个小写字母”+“常见符号”(其中数字这里被指定只能为123组成的所有2位数字组合)。比如12f#      32j^    13t$    ……
案例12:
crunch 3 3 abc + 123 @#! -t @%^
#生成3位密码,其中第一位由“a,b,c”中的一个;第二位为“1,2,3”中的一个;第三位为“!,@,#”中的一个。比如1a!   2a#      3b@   ……
案例13:
crunch 3 3 abc + 123 @#! -t ^%@
#生成3位密码,其中格式为“字符+数字+字母”,这里字符范围为!@# ,数字范围为 1 2 3 , 字母范围为a b c
比如!1c    @3b       @2a       ……
案例14
crunch 5 5 -t ddd@@  -p dog cat bird
#生成5个元素组成的密码,其中前三个为 dog cat bird任意组合,后两个为两个小写字母的任意组合。比如birddogcatuz         catdogbirdab         birdcatdogff           ……
案例15:
crunch 7 7 -t p@ss,%^ -l a@aaaaa
#生成7位密码,格式为“字符p@ss”+大写字母+数字+符号     比如  p@ssZ9>  ……
案例16:
crunch 5 5 -s @4#S2 -t @%^,% -e @8 Q2 -l @dddd -b 10KB -o START
#生成5位密码,格式为小写字母+数字+符号+大写字母+数字,并以 @4#S2开始,分割为10k大小。。。
案例17:
crunch 5 5 -d 2@ -t @@@%%
#生成5位密码,格式为三个字母+两个数字,并限制每个密码最少出现2种字母
案例18:
crunch 10 10 -t @@@^%%%%^^ -d 2@ -d 3% -b 20mb -o START
#生成10位密码,格式为三个小写字母+一个符号+四个数字+两个符号,限制每个密码至少2种字母和至少3种数字
案例19:
crunch 8 8 -d 2@
#生成8位密码,每个密码至少出现两种字母
案例20:
crunch 4 4 -f unicode_test.lst the-greeks -t @@%% -l @xdd
#调用密码库 unicode_test.lst中的 the-greeks项目字符,生成4位密码,其中格式为两小写字母+两数字,同样kali_linux中 unicode_test.lst 在/usr/share/crunch目录
看了这么多案例再来看命令参数是不是有种豁然开朗的感觉!
命令参数:
-b              #体积大小,比如后跟20mib
-c              #密码个数(行数),比如8000
-d              #限制出现相同元素的个数(至少出现元素个数),-d 3就不会出现zzf  ffffgggg之类的
-e              #定义停止生成密码 ,比如-e 222222:到222222停止生成密码
-f               #调用密码库文件,比如/usr/share/crunch/charset.lst
-i                #改变输出格式
-l                #与-t搭配使用
-m              #与-p搭配使用
-o               #保存为
-p               #定义密码元素
-q               #读取字典
-r                #定义从某一个地方重新开始
-s                #第一个密码,从xxx开始
-t                #定义输出格式
        @代表小写字母
        ,代表大写字母

%代表数字

           ^代表符号

-z                    #打包压缩,格式支持 gzip, bzip2, lzma, 7z

========分割线========

2014-9-12 我顺便说一句,注意生成字典的大小,小心撑爆磁盘!

以单纯的8位大小写英文+数组组合,生成的txt大概是1787 TB

未经允许不得转载:小梦易专享博客-期待每一天更美好 » 密码生成工具crunch+hydra暴力破解ftp登录

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址