hashcat使用

0.介绍

Hashcat 软件是一款非常强大的、开源的、号称世界上最快的密码破解软件,配合强大的字典,可以破译超过百分之九十的密码。Hashcat 目前支持各类公开算法高达240+类,市面上公开的密码加密算法基本都支持,有 Microsoft LM 哈希、MD4MD5SHA 系列,Unix 加密格式,MySQL Cisco PIX 等!是安全测试中经常用到的密码解密神器之一。

作为新手,可以使用 Hashcat 工具 CPU 模式破解,电脑机型高端可以使用 GPU 破解。内存的大小也影响工具破解的成功率。

1.Hashcat 安装

建议从官网下载最新版本的 Hashcat 压缩包:hashcat - advanced password recovery,kali下可以直接使用

解压目录如下:

该目录下的文件:

  • hashcat.exe:是64位操作系统上可以使用的可执行文件。
  • hashcat.potfile:是 hashcat 破解后密文、译文默认存储文件,只要解密过的 hash 密文都会被记录,后续相同密文就不需要再破解,直接从该文件中通过 --show 参数获取。
  • password.dict:是密码字典文件。

在该文件夹下打开终端,执行命令:.\hashcat -h

搞定,安装成功,为方便使用,可以配置该文件夹目录到系统环境变量 path 中,就可以在Windows 任何目录下执行 hashcat 命令了。

直接在kali linux下使用更方便,不用在任何的文件下都可以执行,命令:hashcat -h

2.辨别哈希数值的类型

当我们拿到一个哈希数值的时候,想要进行爆破还原,我们首先要知道它是什么类型,这时候,我们可以借助另外一个工具: hash 类型识别工具 HashIdentifier可以使用 HashIdentifier 识别数据的 hash 算法类型,HashIdentifier 是 python 开发的工具,需要有 python3 的基础环境,下载压缩包,解压就可以使用。

两种执行方法:打开文件夹,执行python脚本

打开文件夹,双击start.bat运行

输入hash数值进行判断,比如本题的:84765e9e8a19cec7e392843954a66eece4da3ad7,显示出来是sha-1

3.举例使用方法

3.1MD5sha1 密文解密

3.1.1字典模式破解

我这里用的字典是kali下面自带的,路径是 usr/share/wordlists/rockyou.txt

我是从根目录当中进到这个文件夹找到这个文件的,要注意我们如果使用字典进行爆破的话,需要在有字典的路径下进行执行命令,在windows下可以直接将字典复制粘贴到hashcat的文件夹下

比如我们要爆破password12345678901的md5数值

先在kali下执行获取password12345678901的md5数值

Python
echo -n "password123456" | md5sum

得到md5数值是:365d38c60c4e98ca5ca6dbc02d396e53  -

而后执行命令进行爆破:

Python
hashcat  -m 0 -a 0 cb28e00ef51374b841fb5c189b2b91c9 rockyou.txt  --force

-m 0: 哈希类型的选项。在这种情况下,0代表MD5。这里的值会根据你尝试破解的哈希类型而变化。例如,-m 1000 会用于NTLM哈希。

-a 0: 这是攻击模式。在这种情况下,0代表“直接”模式,即字典攻击

rockyou.txt: 这个文件包含你要尝试破解的哈希值。它应该是一个文本文件,每行一个哈希值,也就是我们要用的字典。

--force: 这个选项会强制Hashcat启动,即使它检测到你的系统可能无法正确运行它。一般来说,只有在你知道自己在做什么的情况下才建议使用这个选项,因为它可能导致错误的结果,甚至损坏你的硬件。

可以看到:cb28e00ef51374b841fb5c189b2b91c9:password123456

得到了结果,参数的使用后面再做介绍,先举例子,当我们已经得到结果后,我们可以直接进行查看,就是在上面命令的基础上添加上--show就可以了

注意win11的系统执行的时候,需要在前面加上.\才能执行

Python
hashcat  -m 0 -a 0 d3786ec2413a8cd9413bfcb24be95a73   password.dict  -o result.txt –force

而这个命令就是将结果输出到文件result.txt这个文件中保存起来

3.1.2掩码模式破解sha1

如:

压缩包的密码为手机号码 已知信息为:189XXXXXXXX,下方为它的哈希值,请你解开压缩包,并且分析出flag

84765e9e8a19cec7e392843954a66eece4da3ad7

可以知道这个是sha1哈希数值

Python
hashcat -m 100 -a 3 84765e9e8a19cec7e392843954a66eece4da3ad7 189?d?d?d?d?d?d?d?d --force

可以看到结果:84765e9e8a19cec7e392843954a66eece4da3ad7:18961811234

sha1对应的数值是100,根据下面的对照表,八位数字密码使用:?d?d?d?d?d?d?d?d

字符集含义:

  1. ?l:代表小写字母
  1. ?u:代表大写字母
  1. ?d:代表数字
  1. ?s:代表特殊字符
  1. ?a:代表大小写字母、数字以及特殊字符
  1. ?b0x00-0xff

掩码的使用格式:

  1. 八位数字密码:?d?d?d?d?d?d?d?d
  1. 八位未知密码:?a?a?a?a?a?a?a?a
  1. 前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d
  1. 前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H
  1. 前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a
  1. 6-8 位数字密码:–increment --increment-min 6 --increment-max 8
  1. 6-8 位数字+小写字母密码:–increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h

为了优化爆破进度,可以使用下面命令进行操作

Python
hashcat -m 0 -a 3 63a9f0ea7bb98050796b649e85481845 ?l?l?l?l --force -O -w 3 -S
hashcat -m 0 -a 3 63a9f0ea7bb98050796b649e85481845 ?l?l?l?l --force -O -w 3 -S --show
hashcat -m 0 -a 3 63a9f0ea7bb98050796b649e85481845 ?l?l?l?l -o result.txt  --force --show -O -w 3 -S

当然这个是爆破MD5的,这里对命令进行介绍

  1. 整体介绍
  • 这是一个hashcat工具的命令。hashcat是一款非常强大的密码破解工具,用于通过各种攻击模式来恢复密码哈希值对应的原始密码。

  1. 参数解释
  • -m 0
  • 这个参数用于指定哈希类型(hash - type)。-m 0代表的是MD5哈希类型。这告诉hashcat,要破解的密码哈希是MD5格式的。
  • -a 3
  • 它用于指定攻击模式(attack - mode)。-a 3表示使用掩码攻击(mask attack)模式。在掩码攻击中,用户可以通过定义字符集和密码长度等掩码规则来生成可能的密码组合进行尝试。
  • 63a9f0ea7bb98050796b649e85481845
  • 这是要破解的目标密码哈希值。hashcat会尝试各种可能的密码组合,通过特定的哈希算法(这里是MD5,由-m 0指定)来计算密码哈希,直到找到一个密码,其哈希值与这个目标哈希值匹配。
  • ?l?l?l?l
  • 在掩码攻击模式(由-a 3指定)下,这是定义的密码掩码。?l代表小写字母。这个掩码表示生成的密码组合是由4个小写字母组成的。例如,可能的密码组合有“abcd”“efgh”等。hashcat会按照这个掩码规则生成所有可能的密码组合来进行尝试。
  • --force
  • 这个参数会强制hashcat忽略一些警告并继续执行命令。不过这种操作可能会有一定风险,因为这些警告可能是在提示潜在的问题,如不兼容的参数设置等。
  • -O
  • 它用于启用优化。hashcat会根据硬件(如GPU)和当前的破解任务等情况,自动进行一些性能优化,以加快密码破解的速度。
  • -w 3
  • 这个参数用于指定工作负载配置文件(workload profile)。-w 3表示使用比较高的工作负载设置,它会让hashcat以更激进的方式利用系统资源来提高破解速度,但同时也可能会对系统的稳定性和其他正在运行的任务产生更大的影响。
  • -S
  • 这个参数用于启用内核的一些特殊功能或者调整内核相关的设置。具体的行为可能会因hashcat的版本和底层的硬件支持等因素而有所不同。通常是和加速密码破解的内核优化相关的选项。

3.1.3.hashcat常见参数介绍

这里对一些常见的hash对应的数字进行介绍

1.Hash 类型对照表(-m 参数)

可以通过 hashcat --help 查看。

当然,这个不需要记忆,我们只需要执行hashcat -h就可以看到

2.Hashcat 全部参数的中文介绍

点击图片可查看完整电子表格

3.Hashcat 的攻击模式(-a 参数)

使用的格式为:-a 后跟对应的数字编号

0 | Straight(字段破解)

1 | Combination(将字典中密码进行组合,例:1,2 -> 11 22 12 21

3 | Brute-force(掩码暴力破解)

6 | Hybrid Wordlist + Mask(字典+掩码破解)

7 | Hybrid Mask + Wordlist(掩码+字典破解)

9 | Association(关联破解)

4.输出格式(–outfile-format 参数)

1 | hash[:salt]

2 | plain

3 | hex_plain

4 | crack_pos

5 | timestamp absolute

6 | timestamp relative

5. 内置掩码字符集

l | abcdefghijklmnopqrstuvwxyz [a-z]

u | ABCDEFGHIJKLMNOPQRSTUVWXYZ [A-Z]

d | 0123456789                 [0-9]

h | 0123456789abcdef           [0-9a-f]

H | 0123456789ABCDEF           [0-9A-F]

s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

a | ?l?u?d?s

b | 0x00 - 0xff

3.1.4 使用字典+掩码进行破解

Python
hashcat -m 0 -a 6 1844156d4166d94387f1a4ad031ca5fa password.dict ?d?d --force -O
hashcat -m 0 -a 6 1844156d4166d94387f1a4ad031ca5fa password.dict ?d?d --force --show –O
hashcat -m 0 -a 6 1844156d4166d94387f1a4ad031ca5fa password.dict ?d?d -o result.txt --force –show –O

3.1.5.使用掩码+字典进行破解

Python
hashcat -m 0 -a 7 f8def8bcecb2e7925a2b42d60d202deb ?d?d password.dict --force -O
hashcat -m 0 -a 7 f8def8bcecb2e7925a2b42d60d202deb ?d?d password.dict --force -O --show
hashcat -m 0 -a 7 f8def8bcecb2e7925a2b42d60d202deb ?d?d password.dict -o result.txt --force –O

如果已经破解过,加参数:--show

3.1.6批量字典破解

Python
hashcat -m 0 -a 0 jiami.txt password.dict --force

提前准备加密文件,破解后的结果文件如下:

3.1.6RAR 文件解密

1.通过 John The Ripper 获取文件的密文值,把要获取密文的 rar 文件拷贝到 john-1.9.0-jumbo-1-win64 的 run 目录下。

一款免费、开源的暴力密码破解器,它有多平台版本,支持目前大多数的加密算法,如 DES、MD4、MD5 等。该软件破解密码方式简单而粗暴,理论上只要时间上面允许,该软件可以破译绝大多数用户密码。John the Ripper 免费的开源软件,支持目前大多数的加密算法,如 DES、MD4、MD5 等。它支持多种不同类型的系统架构,包括 Unix、Linux、Windows、DOS 模式、BeOS 和 OpenVMS,主要目的是破解不够牢固的 Unix/Linux 系统密码。

下载地址:John the Ripper password cracker

Python
// 通过命令获取密文值
rar2john.exe Python_glxtym.rar

// 获取到的密文为:
$RAR3$*1*a55d3f6aa676f7b3*9b850ef5*16*8*1*5d3dbaafa35e973c49a01dfcdcebfc4e*33

  1. 通过 Hashcat 获取明文密码

Python
hashcat.exe -m 23800 -a 3 $RAR3$*1*a55d3f6aa676f7b3*9b850ef5*16*8*1*5d3dbaafa35e973c49a01dfcdcebfc4e*33 -o password.txt

破解成功会在目录下生成 password.txt 文件。

3.1.7SHA512 密文解密

Python
密文:$6$Zje1WaoS$eH24JFr5n67149yBcDWWsfxME5cYlOXMmJxnf2uinbvYm8vWc0BmjvAoXIFY/0ZUJItRpPhHkCGDiqjXT10EV0

首先使用HashIdentifier工具识别该密文的类型:

  • 识别到的 hash 类型为 sha512 crypt
  • 对应 hashcat 的类型编号为 1800

再使用 Hashcat 使用字典破解模式进行破解,提前准备字典文件:

Python
hashcat -m 1800 -a 0 $6$Zje1WaoS$eH24JFr5n67149yBcDWWsfxME5cYlOXMmJxnf2uinbvYm8vWc0BmjvAoXIFY/0ZUJItRpPhHkCGDiqjXT10EV0 password.dict  --force

如果破解时间太长,我们可以按 s 键查看破解进度,p 键暂停,r 键继续破解,q 键退出破解。

3.1.8Windows 密码解密

Windows 系统通常使用两种方法对用户的明文密码进行加密处理,分别是:

  • LM Hash :对应 hashcat 中的类型编号为 3000
  • ntlm hash:对应 hashcat 中的类型编号为 1000

LM Hash 是一种 Windows 系统身份认证协议,在 Windows 7 或 Windows 2008 之前的系统使用,之后的系统默认禁用了 LM Hash 协议认证,使用 ntlm hash 的方式。

对 Windows 密码进行破解建议使用高版本的 hashcat 软件,4.1.0及以下的版本会因各种问题提前终止破解而导致破解失败,本案例建议使用最新的 hashcat-6.2.6 版本

  1. root 字符串对应的 LM Hash 密文为:d480ea9533c500d4aad3b435b51404ee

Python
hashcat -m 3000 -a 0 d480ea9533c500d4aad3b435b51404ee password.dict --force

  1. root 字符串对应的 ntlm hash 密文为:329153f560eb329c0e1deea55e88a1e9

Python
hashcat -m 1000 -a 0 329153f560eb329c0e1deea55e88a1e9 password.dict --force -O -w 3 -S

3.1.9-MySql 密码解密

Python
hashcat -a 3 -m 300 --force 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 ?d?d?d?d?d?d

3.1.10-Office 密码解密

获取 Office 的 hash 值:python office2john.py 11.docx

Python
结果:
11.docx:$office$*2013*100000*256*16*e4a3eb62e8d3576f861f9eded75e0525*9eeb35f0849a7800d48113440b4bbb9c*577f8d8b2e1c5f60fed76e62327b38d28f25230f6c7dfd66588d9ca8097aabb9

破解密码:

Python
hashcat -a 3 -m 9600 $office$*2013*100000*256*16*e4a3eb62e8d3576f861f9eded75e0525*9eeb35f0849a7800d48113440b4bbb9c*577f8d8b2e1c5f60fed76e62327b38d28f25230f6c7dfd66588d9ca8097aabb9 --force ?d?d?d?d?d?d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/4850.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

mysql 安装 windows

新版安装 新版本安装 如果出现initializing database无法安装 则用我当前版本传送门 如MySQL 安装时没有developer default 选项 解决方法传送门 如果上述还不行 可以选择full 汉化下载 传送门

基于Redis缓存机制实现高并发接口调试

创建接口 这里使用的是阿里云提供的接口服务直接做的测试&#xff0c;接口地址 curl http://localhost:8080/initData?tokenAppWithRedis 这里主要通过参数cacheFirstfalse和true来区分是否走缓存&#xff0c;正常的业务机制可能是通过后台代码逻辑自行控制的&#xff0c;这…

vue常见题型(1-10)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 2.2双向绑定的原理是什么vue框架采用的是数据双向绑定的方式&#xff0c;由三个重要部分构成2.2.1.ViewModel2.2.2 双向绑定2.2.3.1.编译Compile2.2.3.2.依赖收集 3…

C语言变量与强制类型转换深度解析

在上一篇文章中&#xff0c;小编对数据类型进行了详细的讲解与剖析&#xff0c;所以本篇文章小编要带大家理解变量和强制类型转。还是老规矩&#xff0c;来波鸡汤&#xff0c;学习一定不能着急&#xff0c;无法一下就学明白的知识我们需要给他时间&#xff0c;一定不要在一个知…

JAVA+微信小程序前后端源码 微信OCR识别 识别身份证信息

官方文档:身份证识别 | 微信开放文档 实现效果 : 用的奥巴马的网络图片测试,图片 后端JAVA代码 这里用的若依的后端,前后端分离版的 package com.ruoyi.common.utils;import java.io.File; import java.io.IOException;import org.apache.http.HttpEntity; import org.apac…

SL6605 输入0.8-5.5V 单颗锂电池驱动LED升压恒流限流方案

一、芯片特性 输入电压范围广&#xff1a;SL6605可接受0.8V至5.5V的输入电压&#xff0c;使其能够轻松应对各种锂电池电压波动。升压恒流功能&#xff1a;该芯片具有升压能力&#xff0c;可将低电压输入转换为适合LED驱动的高电压&#xff0c;并保持恒定的输出电流。限流保护&…

ubuntu 安装go和vscode

1 安装Go 打开终端&#xff0c;执行以下命令下载Golang安装包&#xff1a; wget https://golang.org/dl/go1.xx.x.linux-amd64.tar.gz注意&#xff1a;替换命令中的“1.xx.x”为最新版本号&#xff0c;例如&#xff1a;1.23.2. 2. 解压安装包&#xff1a; sudo tar -C /usr/…

[spring源码]spring启动流程

spring启动流程 AnnotationConfigApplicationContext的构造方法 1.父类构造方法&#xff0c;构造一个DefaultListableBeanFactory 在调用AnnotationConfigApplicationContext的构造方法之前&#xff0c;会调用父类GenericApplicationContext的无参构造方法&#xff0c;会构造…

Kafka自动生产消息软件(自动化测试Kafka)

点击下载《Kafka服务端(含Zookeeper)一键自启软件》 点击下载《kafka客户端生产者消费者kafka可视化工具&#xff08;可生产和消费消息&#xff09;》 点击下载《Kafka自动生产消息软件》 1. 前言 在软件开发过程中&#xff0c;Kafka常被用作消息队列来处理特定的业务功能。为…

debian系统安装qt的时候 显示xcb相关文件缺失

如果是安装之后的问题 我们可以选择使用ldd的命令查看当前依赖的so那些文件确实 ldd /home/yinsir/Qt/5.15.2/gcc_64/plugins/platforms/libqxcb.so 本人在进行打包的时候 出现则会个报错 ERROR: ldd outputLine: “libxcb-util.so.1 > not found” ERROR: for binary: “/…

F28379D DAC 寄存器的值千万不要设置成4096啦!

在之前的博客中&#xff0c;更新了如何 使用F28379D的片内DAC&#xff0c;提到DAC为12位的 DAC&#xff0c;因此DAC可以将参考电压分为4096份。不注意的小伙伴可能会将 对应的寄存器的值设置为4096&#xff0c;这样会导致DSP运行至_error_然后停止的哦&#xff0c;如果正在做功…

中研在线教育:开启知识新征程,拓展世界新视野

在当今竞争激烈、知识驱动的时代&#xff0c;教育领域不断涌现出创新型的平台&#xff0c;而中研在线教育无疑是其中一颗璀璨的明星。作为专注于中国研究生知识的在线平台&#xff0c;中研在线教育以其丰富的业务、积极向上的企业价值观和极具感染力的口号&#xff0c;为广大学…

PyQt5实战——多脚本集合包,程序入口QMainWindow(三)

个人博客&#xff1a;苏三有春的博客 系列往期文章&#xff1a; PyQt5实战——多脚本集合包&#xff0c;前言与环境配置&#xff08;一&#xff09; PyQt5实战——多脚本集合包&#xff0c;UI以及工程布局&#xff08;二&#xff09; PyQt程序入口&#xff08;QMainWindow&…

A018基于Spring Boot的民宿租赁系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

中酱:重新定义“健康三境“

王国维在《人间词话》中提出过人生的三重境界。 “昨夜西风凋碧树。独上高楼&#xff0c;望尽天涯路。”此为第一境界 说的是人的立志之境&#xff1a;直面迷茫&#xff0c;内心坚定不移&#xff0c;明确自己追求的方向。 “衣带渐宽终不悔&#xff0c;为伊消得人憔悴。”此为…

基于ESP32的桌面小屏幕实战[2]:硬件设计之充电管理

1. 硬件基础知识 1.1 原理图设计、PCB设计、PCB&#xff08;电路板&#xff09;、PCBA&#xff08;电路板元器件&#xff09;分别长什么样&#xff1f; 1.2 高低电平 一般可以理解为输出电压VCC就是高电平&#xff0c;输出电压GND&#xff08;一般是0V&#xff09;就是低电平…

有代码VISTA: Visual-Textual Knowledge Graph Representation Learning

摘要 知识图用实体和关系组成的三元组来表示人类的知识。虽然现有的知识图嵌入方法大多只考虑知识图的结构&#xff0c;但最近提出的一些多模态方法利用知识图中实体的图像或文本描述。在本文中&#xff0c;我们提出了视觉文本知识图&#xff08;VTKGs&#xff09;&#xff0c…

C语言 | Leetcode C语言题解之第523题连续的子数组和

题目&#xff1a; 题解&#xff1a; struct HashTable {int key, val;UT_hash_handle hh; };bool checkSubarraySum(int* nums, int numsSize, int k) {int m numsSize;if (m < 2) {return false;}struct HashTable* hashTable NULL;struct HashTable* tmp malloc(sizeo…

Kimi的论文语言润色技巧:38个提示词让你的写作更专业

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 在学术写作中&#xff0c;语言的精准与流畅性是衡量论文质量的重要标准。Kimi作为一款先进的AI助手&#xff0c;为论文润色提供了全新的解决方案。本文将分享38个实用的Kimi提示词&…

如何利用大规模外链爆发提升SEO效果?

如果你的网站需要在短时间内实现大幅度流量增长&#xff0c;那么GMB外链无疑是最具爆发力的外链策略之一。这种外链策略通过大规模的外链发布&#xff0c;能够在短期内迅速推动网站的数据收录&#xff0c;并带来显著的SEO效果。 GMB外链的最大特点在于其数量的爆发性。一次群发…