ccSec · 2013/09/30 20:13

0x00 背景


目前GPU的速度越来越快,使用GPU超强的运算速度进行暴力密码破解也大大提高了成功率,曾经看到老外用26块显卡组成的分布式破解神器让我羡慕不已。要说目前最好的GPU破解HASH的软件,非HashCat莫属了。下面我就为大家具体介绍一下HashCat系列软件。

0x01 所需硬件及系统平台


HashCat系列软件在硬件上支持使用CPU、NVIDIA GPU、ATI GPU来进行密码破解。在操作系统上支持Windows、Linux平台,并且需要安装官方指定版本的显卡驱动程序,如果驱动程序版本不对,可能导致程序无法运行。

如果要搭建多GPU破解平台的话,最好是使用Linux系统来运行HashCat系列软件,因为在windows下,系统最多只能识别4张显卡。并且,Linux下的VisualCL技术(关于如何搭建VisualCL环境,请参考官方文档hashcat.net/wiki/doku.p…),可以轻松的将几台机器连接起来,进行分布式破解作业。 在破解速度上,ATI GPU破解速度最快,使用单张HD7970破解MD5可达到9000M/s的速度,其次为NVIDIA显卡,同等级显卡GTX690破解速度大约为ATI显卡的三分之一,速度最慢的是使用CPU进行破解。

0x02 HashCat软件简介


HashCat主要分为三个版本:Hashcat、oclHashcat-plus、oclHashcat-lite。这三个版本的主要区别是:HashCat只支持CPU破解。oclHashcat-plus支持使用GPU破解多个HASH,并且支持的算法高达77种。oclHashcat-lite只支持使用GPU对单个HASH进行破解,支持的HASH种类仅有32种,但是对算法进行了优化,可以达到GPU破解的最高速度。如果只有单个密文进行破解的话,推荐使用oclHashCat-lite。

目前最新的软件版本为HashCat v0.46、oclHashcat-plus v0.15、oclHashcat-lite v0.15。但是经过一段时间的测试,发现有时候版本越高,速度越慢。所以推荐在使用没有问题的情况下,无需升级到最新版本。根据测试,oclHashcat-lite v0.10的运算速度比v0.15的运算速度快20%,所以单个密文破解还是推荐使用oclHashcat-lite v0.10。

0x03 HashCat软件使用


HashCat系列软件拥有十分灵活的破解方式,可以满足绝大多数的破解需求,下面我就为大家简单介绍一下。

1.指定HASH类型

在HashCat中--hash-type ?参数可以指定要破解的HASH类型,运行hashcat主程序加上--help参数,在* Generic hash types:中可以看到各种HASH类型的代号,如图所示: 

不同版本的HashCat所支持的hash类型有所不同,如果没有指定--hash-type参数,那么程序默认为MD5类型。

2.指定破解模式

在HashCat中--attack-mode ?参数可以可以指定破解模式,软件一共支持5种破解模式,分别为

0 Straight(字典破解)
1 Combination(组合破解)
3 Brute-force(掩码暴力破解)
6 Hybrid dict + mask(混合字典+掩码)
7 Hybrid mask + dict(混合掩码+字典)
复制代码

下面为大家介绍两个最常用的破解方式:字典破解和掩码暴力破解。

使用字典破解MD5:

oclHashcat-plus64.exe --hash-type 0 --attack-mode 0 {HASH文件} [字典1] [字典2] [字典3]…
复制代码

如:

oclHashcat-plus64.exe --hash-type 0 --attack-mode 0 d:md5.txt d:dict1.txt d:dict2.txt
复制代码

字典破解由于受到磁盘和内存速度的影响,速度无法达到GPU的最大运算速度,基本上一个5GB的字典,对于MD5破解来说10分钟内可以跑完。

使用掩码暴力破解SHA1:

oclHashcat-plus64.exe --hash-type 100 --attack-mode 3 {HASH文件} [掩码]
复制代码

{掩码的设置}

对于掩码,这边需要稍微做一个说明。Hashcat默认的掩码一共有9种,如图所示:

?l表示a-z,?u表示A-Z,?d表示0-9,?a表示键盘上所有的特殊字符,?s表示键盘上所有的可见字符,?h表示8bit 0xc0-0xff的十六进制,?D表示8bit的德语字符,?F表示8bit的法语字符,?R表示8bit的俄语字符。

那么有同学可能会问了,如果我要用掩码表示小写+数字怎么办呢?这就需要用到自定义字符集这个参数了。软件支持用户最多定义4组字符集,分别用

--custom-charset1 [chars]
--custom-charset2 [chars]
--custom-charset3 [chars]
--custom-charset4 [chars]
复制代码

来表示,在掩码中用?1、?2、?3、?4来表示。

比如说我要设置自定义字符集1为小写+数字,那么就加上

-- custom-charset1 ?l?d
复制代码

如果要设置自定义字符集2为abcd1234,那么就加上

--custom-charset2 abcd1234
复制代码

如果要破解8位的小写+数字,那么需要设置自定义字符集1为

--custom-charset1 ?l?d
复制代码

设置掩码为?1?1?1?1?1?1?1?1。 如果已知密码的第一位为数字,长度为8位,后几位为大写+小写,那么需要设置自定义字符集1为

--custom-charset1 ?l?u
复制代码

设置掩码为?d?1?1?1?1?1?1?1。

{掩码的长度}

对于已知长度的密码,可以使用固定长度的掩码进行破解。比如要破解11位数字,就可以这样写掩码?d?d?d?d?d?d?d?d?d?d?d。

对于想要破解一些未知长度的密码,希望软件在一定长度范围内进行尝试的,可以使用--increment参数,并且使用--increment-min ?定义最短长度,使用--increment-max ?定义最大长度。比如要尝试6-8位小写字母,可以这样写

--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l
复制代码

{举例}

破解8-11位数字+小写

oclHashcat-plus64.exe --hash-type 100 --attack-mode 3 --increment --increment-min 8 --increment-max 11 --custom-charset1 ?l?d d:sha1.txt ?1?1?1?1?1?1?1?1?1?1?1
复制代码

0x04 HashCat参数优化


HashCat本身考虑到系统资源的分配,默认参数下并没有最大化的来使用硬件资源。如果我们想要让破解速度最大化,就需要对一些参数进行配置。

1.Workload tuning 负载调优。

该参数支持的值有1,8,40,80,160

--gpu-accel 160
复制代码

可以让GPU发挥最大性能。

2.Gpu loops 负载微调

该参数支持的值的范围是8-1024(有些算法只支持到1000)。

--gpu-loops 1024
复制代码

可以让GPU发挥最大性能。

3.Segment size 字典缓存大小

该参数是设置内存缓存的大小,作用是将字典放入内存缓存以加快字典破解速度,默认为32MB,可以根据自身内存情况进行设置,当然是越大越好XD。

--segment-size 512
复制代码

可以提高大字典破解的速度。

0x05 结束语


本文只是简单介绍HashCat的一些常见用法,希望能够让大家更快的学会HashCat的使用。本人刚接触Hashcat不久,如果文章有什么缺点或不足也希望大家能够及时提出,在使用过程当中有什么疑问可以跟帖提问。如果想要更加详细的了解HashCat,请大家参阅官方文档:hashcat.net/wiki/。

GPU破解神器Hashcat使用简介相关推荐

  1. 破解神器Hashcat使用简介

    0x00 背景 目前GPU的速度越来越快,使用GPU超强的运算速度进行暴力密码破解也大大提高了成功率,曾经看到老外用26块显卡组成的分布式破解神器让我羡慕不已.要说目前最好的GPU破解HASH的软件, ...

  2. Hash破解神器-hashcat详细使用

    Hashcat系列软件是比较牛逼的密码破解软件,系列软件包含Hashcat.oclHashcat:还有一个单独新出的oclRausscrack.其区别为Hashcat只支持cpu破解:oclHashc ...

  3. 工具使用 | 世界上最快最顶级的密码破解工具Hashcat入门指南

    hashcat简介 Hashcat 是一款用于破解密码的工具,据说是世界上最快最高级的密码破解工具,支持 LM 哈希.MD5.SHA 等系列的密码破解,同时也支持 Linux.Mac.Windows ...

  4. Hydra-口令破解神器

    Hydra 口令破解神器 ** 首先准备好字典 用法 ** -R 接着上一次的爆破进度进行爆破 -L 指定一个用户名字典 -l 指定一个用户名 -P 指定一个密码字典 -p 指定一个密码 -e nsr ...

  5. 破解神器面世!iPhone用户怎么办?

    苹果近期麻烦事不断,不但先后出现"降频门"."泄密门"等问题,还面临着有史以来最严重的安全挑战之一--iPhone破解工具的诞生. 自从iPhone问世以来,其 ...

  6. 密码破解神器海德拉GUI界面-xhydra

    0x00 前言 THC-HYDRA是一个支持多种网络服务的非常快速的网络登陆破解工具.这个工具是一个验证性质的工具,它被设计的主要目的是为研究人员和安全从业人员展示远程获取一个系统的认证权限是比较容易 ...

  7. CUDA编程(一):GPU计算与CUDA编程简介

    CUDA编程(一):GPU计算与CUDA编程简介 GPU计算 GPU硬件资源 GPU软件资源 GPU存储资源 CUDA编程 GPU计算 NVIDIA公司发布的CUDA是建立在GPU上的一个通用并行计算 ...

  8. Triton:openai开源GPU编程神器

    Triton:openai开源GPU编程神器 序言 GPU编程的困难 编程模型 矩阵乘法 高级系统架构 编译器后端 序言 我们将发布Triton 1.0,这是一种开源的类似Python的编程语言,使没 ...

  9. Kali linux 学习笔记(六十一)密码破解——离线破解(Hashcat、oclhashcat、RainbowCrack、John) 2020.4.6

    前言 本节学习离线破解 其实就是HASH破解 1.简介 身份认证 应明确禁止明文传输密码 每次认证使用HASH算法加密密码传输(HASH算法加密容易.解密困难) 服务器端用户数据库应加密保存 破解思路 ...

最新文章

  1. 20181113-2 每周例行报告
  2. 高性能计算机系统及应用,高性能计算
  3. Mysqlbackup备份还原初识
  4. PMP之项目质量管理---项目质量管理措施
  5. 用C#+Selenium+ChromeDriver 爬取网页,完美模拟真实的用户浏览行为
  6. javascript之数组(二)
  7. java 安卓 html文件怎么打开方式_android 浏览器 打开本地html文件的方法
  8. 超详细 | 接口自动化测试总结与分享入门篇
  9. JavaScript之字符串类型
  10. nvidia tesla k40
  11. 教程篇(6.4) 02. 路由、会话和性能SLA ❀ SD-WAN ❀ Fortinet 网络安全架构师 NSE7
  12. BGP路由聚合原理和实验(华为设备)
  13. C语言 空气质量优良率
  14. Android网络收音机项目
  15. Nginx报错:nginx: [error] invalid PID number in /run/nginx.pid 解决方法
  16. 原生js与css3实现简单翻页动画
  17. 项目微商城的抽奖活动小结
  18. RCD钳位电路--选管
  19. QQ群78928780记录整理:90514技术话题-部分
  20. ajax调用ashx页面内的方法

热门文章

  1. 【FaceRevelio】一种用于智能手机的带有前置摄像头的 人脸活跃度检测系统
  2. 二维码扫描的样式总结
  3. 解决Git报错:error: You have not concluded your merge (MERGE_HEAD exists).
  4. 微信账户如何解除对第三方应用的授权
  5. php的vget方法,ext_lanzou.php
  6. POJ - 3169 SPFA解差分约束除了有解,负环还有另一种情况
  7. 2019年了桌面CPU还吊打笔记本CPU?真相了
  8. 印度要被宰 俄售印的航母和苏-30战斗机涨价!zt
  9. 标签云打印/微信小程序蓝牙标签打印开放平台功能
  10. 手zhuan手机软件app下载排行网站源码(需要自取)