hashcat号称是目前世界上最快的password crack tool
hashcat仓库:https://github.com/hashcat/hashcat
关于hashcat的使用,官方的wiki提供了详细的教程:
https://www.unix-ninja.com/p/A_guide_to_password_cracking_with_Hashcat
下面对我个人的使用需求做一个记录
0.须知
Hashcat 是一个命令行界面(CLI)应用程序。
Hashcat(标准的基于CPU的破解软件)
oclHashcat(基于GPU加速的破解软件)
攻击模式 (A) 和哈希模式(M) ,标准攻击模式(模式0),模式0为字典攻击
进入hashcat解压后的目录中,可以查看帮助以确定hashcat是否正确地运行
1 | hashcat.exe --help |
这将显示很多信息,包含所有可使用的参数
或者你可以在hashcat_wiki查看该工具用法
已破解的哈希值默认存储在hashcat.potfile
这个文件中
怎么算破解完成?
status 为Cracked
status 为Exhausted 已经跑完字典,但是没找到原密码
1 | tatus [p]ause ypass [c]heckpoint [f]inish [q]uit => |
出现此提示,输入s可以查看进度
严禁用与非法破解
1.用例
(1).我有一串md5加密过的需要破解
在目录下创建两个文件
hash.txt存放 破解的密码
cracked.txt 存放待破解的哈希值
以 e10adc3949ba59abbe56e057f20f883e
(123456
的 MD5)为例
在hash.txt中放入需要破解的哈希值(e10adc3949ba59abbe56e057f20f883e
)
运行hashcat
1 | hashcat.exe -m0 -a3 -o cracked.txt hash.txt |
得到的结果存放在cracked.txt
内容如下
1 | e10adc3949ba59abbe56e057f20f883e:123456 |
(2).我需要破解一个压缩包
hashcat并不能直接对压缩包密码进行破解,需要配合另一个工具使用:john(开膛手杰克),目的是提取压缩密码hash,然后对hash本身进行破解
john: windows环境下使用该链接来下载适用于windows64位的john-1.9.0
使用john-1.9.0-jumbo-1-win64\run
目录下的zip2john.exe
工具获取加密zip的哈希值
例如,获取flag.zip
的哈希值
1 | zip2john.exe flag.zip |
冒号后面**$包裹的**即为该加密压缩包的哈希值
1 | $pkzip2$1*1*2*0*21*13*696b59b0*0*26*8*21*696b*8cbd*dd4bda6101e35564ec081dbcfd076001661b2a2244dced2600fc4ed9c3a2991355*$/pkzip2$ |
-m
参数说明hash mod,具体需要使用哪个hash mod,见HashcatWiki的- [ Hash modes ] -
部分,比如-m 13600
表示设置为WinZip
模式
对于我演示中的这个文件,显示为pkzip,我们在wiki使用ctrl+f
搜索pkzip
因此-m
使用上述参数17200
-a
参数表示攻击类型,wiki文档如下,3是暴力破解,即穷举法
1 | - [ Attack Modes ] - |
--show
参数表示破解后再终端显示
1 | hashcat.exe -a 3 -m 17200 $pkzip2$1*1*2*0*21*13*696b59b0*0*26*8*21*696b*8cbd*dd4bda6101e35564ec081dbcfd076001661b2a2244dced2600fc4ed9c3a2991355*$/pkzip2$ |
运行后破解成功,回显
1 | $pkzip2$1*1*2*0*21*13*696b59b0*0*26*8*21*696b*8cbd*dd4bda6101e35564ec081dbcfd076001661b2a2244dced2600fc4ed9c3a2991355*$/pkzip2$:114514 |
破解的值存在hashcat.potfile
这个文件里面,可以看到此压缩包的密码哈希破解后为114514
(3).在取证中的应用:构造SMB 的 hash串
例题: 强网杯2024——谍影重重5
SMB登录流量的hash串破解
SMB2的hash串结构:
1 | username::domain:challenge(16个字符):ntproofstr(32个字符):blob(至少32个字符 |
使用tshark
对1.pcapng
进行流量的特征值的提取
1 | # 提取其他部分 |
爆破
1 | hashcat.exe -a 3 -m 5600 SMB2的hash串 |
(4).hashcat的其他实用选项
限定需要破解的密码长度范围
选项:
1 | --increment --increment-min 最小位数 --increment-max 最大位数 |
例句:
1 | hashcat.exe -a 3 -m 17200 $pkzip2$1*1*2*0*21*13*696b59b0*0*26*8*21*696b*8cbd*dd4bda6101e35564ec081dbcfd076001661b2a2244dced2600fc4ed9c3a2991355*$/pkzip2$ --increment --increment-min 8 --increment-max 18 |
(5). wifi密码截获破解实验
wifite
工具,若使用虚拟机则需要无线网卡
https://www.kali.org/tools/wifite/
wsl,