最近抓到一堆的 hash, 那么自然要想办法把它们跑出来咯.

JTR

首先自然老生常谈的 john, 或者 jtr,john the ripper.

这东西 kali 里面有自带, 然后大多数包管理器里面也都有, 也是可以直接装. 问题是, 他们不带 cuda/opencl 支持… 所以就编译一个吧.

这里我们使用 jtr 的社区版, john-jumbo.

wget https://github.com/magnumripper/JohnTheRipper/archive/bleeding-jumbo.zip
unzip bleeding-jumbo.zip
cd JohnTheRipper-bleeding-jumbo/src
./configure

这里注意看输出, 有没有类似 OpenCL:yes CUDA:yes 的字样, 若有就意味成功检测到了驱动 / 库, 如果没有就重新装驱动吧.

make clean && make -sj

我们编译之. 完成之后就可以破解了, 简单.

../run/john hash.txt

Hashcat

Hashcat, 他们标榜说自己是最快的… 实际上我也不知道.

这个倒是不需要编译了, 直接装就行.

hashcat -m num -a num -1 hash.txt -o result.txt

这个具体问题就是必须指定 hash 类型, 攻击模式的话就那么几种, 最无脑的就是 brute-force.

hashcat -m num -a 3 hash.txt "?l"    #使用内置的 charset

具体类型的话在 -h 里面有.

Brute-force 就是根据给出的 charset 来破解.

Mask 则是根据一个规律来组合的 brute-force.

Straight 和 Combination 都是需要字典的,S 是直接过字典,而 C 会再次组合.

自定义 charset 的话则是 -1 -2 -3 -4 后面加上 charset.

#eg
-1 abcdefghijklmnopqrstuvwxyz0123456789    #a-z 0-9
-1 loweralpha_numeric.hcchr    #等同
-1 ?dabcdef    #0123456789abcdef
-1 ?l?d?s?u    #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>;,.?/ 

PS:可以跑包(


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.