Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。使用Crunch工具生成的密码可以输出到屏幕,保存到文件、或另一个程序。crunch程序在2004年及以前由email为 mimayin@aciiid.ath.cx 的作者编写,后续版本由 bofh28@gmail.com 负责维护,因此在github上有两个版本:

https://github.com/crunchsec/crunch
https://github.com/jaalto/external-sf--crunch-wordlist

Crunch其实最厉害的是知道密码的一部分细节后,可以针对性的生成字典,这在渗透中就特别有用,比如知道用户密码的习惯是taobao2013(taobao+数字年),这可以通过Crunch生成taobao+所有的年份字典,用来进行暴力破解攻击其效果尤佳!

其最新版本为3.6,现已支持:

  • Crunch可以以组合和排列的方式生成字典
  • 它可以通过行数或文件大小中止输出
  • 现在支持恢复
  • 现在支持数字和符号模式
  • 现在分别支持大小写字符模式
  • 在生成多个文件时添加状态报告
  • 新的-l选项支持@,%^
  • 新的-d选项可以限制重复的字符,可以通过man文件查看详细信息
  • 现在支持unicode

安装

$ sudo apt-get install crunch -y

使用

$ crunch --help
Usage: crunch <min> <max> [options]
where min and max are numbers

参数详解

min    设定最小字符串长度(必选)
max    设定最大字符串长度(必选)

options
-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

特殊字符

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

使用案例

1.生成一个字典库 (5位的6个小写字母的随机排列组合,可以生成67 MB这么大的字典文件)

$ crunch   -b 20mib -o START

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

$ crunch   abc

3.通过-l参数来使@,%^等特殊字符输出

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

4.-o参数也可使用>>来简化

$ crunch   -d @ -t @@@% >> test.txt

5.生成10位密码,并指定格式

$ crunch   -t @@@^%%%%^^ -d @ -d % -b 20mb -o START

格式为三个小写字母+一个符号+四个数字+两个符号,限制每个密码至少2种字母和至少3种数字,文件大小为20MB。“-d 2@”表示字母重复最多2次。

-d 数字符号,限制出现相同元素的个数(至少出现元素个数),“-d 2@”限制小写字母输出像aab和aac,aaa不会产生,因为这是连续3个字母,格式是数字+符号,数字是连续字母出现的次数,符号是限制字符串的字符,例如@,%^(“@”代表小写字母,“,”代表大写字符,“%”代表数字,“^”代表特殊字符)

-t @,%^,指定模式,@,%^分别代表意义如下:

@ 插入小写字母
, 插入大写字母
% 插入数字
^ 插入特殊符号

密码库

/usr/share/crunch/charset.lst

numeric     表示0123456789
Lalpha      表示26位小写字母
Ualpha      表示26位大写字母

案例:

$ crunch   -f /usr/share/crunch/charset.lst  mixalpha-numeric-all-space -o  START  -c   

-c 数字 指定写入输出文件的行数,也即包含密码的个数,例如使用字符规则mixalpha-numeric-all-space,生成最小和最大字符串为1的且每一个文件保存60个字符串的密码字典

-f /path/to/charset.lst charset-name,从charset.lst指定字符集,也即调用密码库文件,比如kali中的charset.lst 在/usr/share/crunch/charset.lst,则参数为“-f /usr/share/crunch/charset.lst”

比较有用的命令

1.生成pass01-pass99所有数字组合

$ crunch   -t pass%%  >>newpwd.txt 

2.生成六位小写字母密码,其中前四位为pass

$ crunch   -t pass@@  >>newpwd.txt 

3.生成六位密码,其中前四位为pass,后二位为大写

$ crunch   -t pass,,  >>newpwd.txt 

4.生成六位密码,其中前四位为pass,后二位为特殊字符

$ crunch   -t pass^^  >>newpwd.txt 

5.制作8位数字字典

$ crunch   charset.lst numeric -o num8.dic 

6.制作6位数字字典

$ crunch     –o num6.dic 

7.制作139开头的手机密码字典

$ crunch    + -t %%%%%%%% -b 20mib -o START

8.在线使用生成的密码

$ crunch    | aircrack-ng a,cap -e [ESSID] -w -
$ crunch --stodout | airolib-ng testdlb -import passwd –
$ crunch | john pwd.txt --stdin -

这个依赖  aircrack-ng ,没装的装一下

$ sudo apt-get install aircrack-ng -y 

不用把庞大的字典保存在硬盘上,生成一个密码用一个,不过消耗的时间多,比较占用cpu,参数最后面的-表示引用crunch生成的密码,例如无线密码在线破解。

参考文章

1) https://www.freebuf.com/sectool/170817.html
2) http://netsecurity.51cto.com/art/201706/541638.htm

crunch--字典生成工具的更多相关文章

  1. SQL Server2005+、MySQL、Oracle 数据库字典生成工具

    之前找的数据库字典生成工具基本上都依赖于 Office Com 组件,在不安装 Office的情况下无法使用.怒,于是自己用C# 写了一个.     特征如下:         一.支持的数据库 MS ...

  2. linux下字典生成工具-crunch与rtgen

    所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码.这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间.当然,如果一个人密码设置没有规律或很复杂,未包 ...

  3. PJzhang:crunch,一个很好的字典生成工具

    猫宁!!! 之前收集子域名的时候使用过子域名挖掘机这个windows软件,查看了它所使用的字典,基本上是小写字母数字1-4位的一个合集.   36+36*36+36*36*36+36*36*36*36 ...

  4. linux字典生成工具crunch

    安装 tar zxvf crunch-3.6.tgz cd crunch-3.6 gcc -Wall -lm -pthread -std=c99 -m64 -D_LARGEFILE_SOURCE -D ...

  5. 密码字典生成工具crunch的简单使用

      案例1: crunch 1 8 #生成最小1位,最大8位,由26个小写字母为元素的所有组合   案例2: crunch 1 6 abcdefg #生成最小为1,最大为6.由abcdefg为元素的所 ...

  6. crunch字典生成

    密码破解基本有三种方法:第一种是人工猜解(垃圾桶工程和被动信息收集): 第二种是基于字典暴力破解(主流) 在kali里,是默认自带了字典的,分别放在下面三个文件中:/usr/share/wordlis ...

  7. DBCHM -最简单、最实用的数据库文档生成工具

    项目介绍 DBCHM 是一款数据库文档生成工具! 该工具从最初支持chm文档格式开始,通过开源,集思广益,不断改进,又陆续支持word.excel.pdf.html.xml.markdown等文档格式 ...

  8. 文件上传漏洞fuzz字典生成脚本小工具分享

    前言 学习xss的时候翻阅资料发现了一个文件上传漏洞fuzz字典生成脚本小工具,试了试还不错,分享一下 配置 需要python2环境 工具地址:https://github.com/c0ny1/upl ...

  9. 数据字典生成工具之旅(4):NPOI操作EXECL

    这篇会介绍NPOI读写EXECL,读写EXECL的组件很多,可以使用微软自己的COM组件EXECL.exe读写,不过这种方式限制很大. 1:客户环境必须装Office(虽然现在机子上不装Office的 ...

  10. 两款不错的Linux密码生成工具

    先介绍最简单的方法,Linux自带的 $ strings /dev/urandom | | ; echo whucNWhr35W6ZP0MxrLQ $ /dev/random | base64 | t ...

随机推荐

  1. css 积累

    1.input 初始化 input { -webkit-tap-highlight-color: rgba(0,0,0,0); border: none; } input:focus { outlin ...

  2. C# Winform 仪表盘

    winform 仪表盘相关下载链接://download.csdn.net/download/floweroflvoe/10432601?utm_source=bbsseo 控件首次拖拽上来是这样的: ...

  3. centos7上keepalived的安装和配置

    1.环境规划1)master:node1,centos7.5,eth0:192.168.1.11,eht1:10.10.1.11,keepalive2)backup:node1,centos7.5,e ...

  4. python -- 函数进阶

    一.函数参数-动态传参       1.形参:         *   在形参位置, 表示此参数为不定参数,接受的是位置参数            并且接收到的位置参数的动态传参都是元组 def fu ...

  5. CentOS 7上安装PGI 2017编译器

    1. 安装PGI编译器 在PGI的官方网站的右上角,有一个社区免费版(Community Edition)的下载链接(GET PGI FOR FREE),根据操作系统选择合适的版本即可. 需要注意的是 ...

  6. Maskrcnn遇到的坑

    第一个要讲maskrcnn 中keras 升到2.1 然后 在线程问题上要把workers设置成1,是否使用线程设置成false 然后调用模型的时候要把模型和加载文件放到一个目录下

  7. Qt 比对TreeItem节点

    void TreeModel::settingsUpdate(const QStringList &lines){ QList<TreeItem*> parents; TreeIt ...

  8. js的closures(闭包)

    JS中的闭包(closure) 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.下面就是我的学习笔记,对于Javascript初学者应该是很有用 ...

  9. [Leetcode 216]求给定和的数集合 Combination Sum III

    [题目] Find all possible combinations of k numbers that add up to a number n, given that only numbers ...

  10. 开发工具IntelliJ IDEA的安装与操作

    开发工具IntelliJ IDEA的安装与操作 1.1 开发工具概述 IDEA是一个专门针对Java的集成开发工具(IDE),它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就 ...