crunch字典生成工具

crunch字典生成工具_第1张图片

Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。使用Crunch工具生成的密码可以输出到屏幕,保存到文件、或另一个程序。由其在渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重要的作用。

 

0×00 安装

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

Crunchkali自带工具之一在kali环境下进行,文中提及的所有命令均可以在kali下直接运行。

crunch字典生成工具_第2张图片

0×01 使用语法和参数

 crunch [options]

参数详解

     min    设定最小字符串长度(必选)
     max    设定最大字符串长度(必选)
     
     oprions
     -b     指定文件输出的大小,避免字典文件过大  
     -c     指定文件输出的行数,即包含密码的个数
     -d     限制相同元素出现的次数
     -e     定义停止字符,即到该字符串就停止生成
     -f     调用库文件(/etc/share/crunch/charset.lst)
     -i     改变输出格式,即aaa,aab -> aaa,baa
     -I     通常与-t联合使用,表明该字符为实义字符
     -m     通常与-p搭配
     -o     将密码保存到指定文件
     -p     指定元素以组合的方式进行
     -q     读取密码文件,即读取pass.txt
     -r     定义重某一字符串重新开始
     -s     指定一个开始的字符,即从自己定义的密码xxxx开始
     -t     指定密码输出的格式
     -u     禁止打印百分比(必须为最后一个选项)
     -z     压缩生成的字典文件,支持gzip,bzip2,lzma,7z  

特殊字符

     %      代表数字
     ^      代表特殊符号
     @      代表小写字母
     ,      代表大写字符 

0×02 实用案例

(1)生成一个字典文件,用自己指定的字符(默认为26个小写字母为元素的所有组合)

crunch 1 3 123

crunch字典生成工具_第3张图片

(2)若字典中需要空格,;等用双引号来表示

crunch 3 3 "ab "

crunch字典生成工具_第4张图片

(3)生成几个元素的组合(可以用于社工中收集的信息)

crunch 4 4 -p zhangsan 2018 0101 ..

crunch字典生成工具_第5张图片

(4)生成指定的字符串(比如生成编号,手机号等)

crunch 10 10 -t 201800%%%%

crunch字典生成工具_第6张图片

(5)多种组合 生成3个元素的组合,前三位为定义的字符串

crunch 3 3 -t d@% -p aaa bbb

crunch字典生成工具_第7张图片

(6)通过-l参数来使@,%^等特殊字符输出

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

crunch字典生成工具_第8张图片

(7)-o参数也可使用>>来简化

crunch 4 4 -d 2@ -t @@@% >> test.txt

0×03 调用密码库

 /usr/share/crunch/charset.lst

crunch字典生成工具_第9张图片

特殊字符

numeric     表示0123456789      

Lalpha      表示26位小写字母      

Ualpha      表示26位大写字母

实例:调用密码库 charset.lst中的 hex-upper项目字符,生成4位密码,其中格式为@ + hex-upper +% +%

crunch 4 4 -f charset.lst hex-upper -t @@%% -l @xdd

0×04 总结

你也可以根据自己需要的字符自己编写密码库文件来完成对特殊字典的编写,来创造自己的专属字典。

 

 

自学笔记

  • crunch 6 6 0123456789abc -o START -d 2 -b 1mb / -c 100
  • -b 按文件大小分割字典文件(分割成多个字典,kb/kib、mb/mib、gb/gib)
  • -c 多少行分一个字典,每个字典的行数
  • 以上两个参数必须与-o START 结合使用
  • -d 同一字符连贯出现数量(11 / aaa)

字符集

  • crunch 4 4 -f /usr/share/crunch/charset.lst lalpha-sv -o 1.txt
  • -f:字符集列表文件
  • lalpha-sv:查看字符集文件自然明白

无重复字符

  • crunch 1 1 -p 1234567890 | more
  • -p:指定一串字符,将所有组合都尝试一遍
  • 必须是最后一个参数
  • 最大、最小字符长度失效,但必须存在
  • 与-s 参数不兼容(-s 指定起始字符串)
  • crunch 4 4 0123456789 -s 9990

读取文件中每行内容作为基本字符生成字典

  • crunch 1 1 -q read
  • crunch字典生成工具_第10张图片

字典组成规则

  • -t:按指定格式(第一位到最后一位,实例为6个)
  • crunch 6 6 -t @,%%^^ | more
  • @:小写字母 lalpha
  • ,:大写字母 ualpha
  • %:数字 numeric
  • ^:符号 symbols

输出文件压缩

  • crunch 4 4 -t @,%^ -o 1.txt -z 7z
  • 其他压缩格式:gzip、bzip2、lzma
  • 7z压缩比率最大

一些常用组合实例

4个字符字典,指定格式且第二个字符永远是d,已caab开始

  • crunch 4 4 -f /usr/share/crunch/charset.lst mixalphanumeric-all-space -o w.txt -t @d@@ -s cdab

将3个单词定位基本字符的组合

  • crunch 4 5 -p dog cat bird

大小字符、特殊组合,但是大小写字符指定为abc DEF及特殊字符!@#

  • crunch 5 5 abc DEF + \!@# -t ,@^%,
  • \:转义符
  • +:占位符(表示任意字符)

-p参数的组合字典,此例ddd变成了占位符

  • crunch 5 5 -t ddd%% -p dog cat bird
  • 任何不同于-p 参数指定的值都是占位符

不得出现多个连续字符的组合

  • crunch 5 5 -d 2@ -t @@@%%
  • -d:连续出现的字符最多出现几个

组合应用(CPU占用高,生成一个字典就供工具使用一次)

  • crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -(无线密码破解)
  • crunch 10 10 12345 --stdout | airolib-ng testdb -import passwd -

你可能感兴趣的:(安全工具)