
hashcat简介
hashcat 号称世界上最快的密码破解工具,世界上第一个和唯一的基于GPGPU规则引擎,免费多GPU(高达128个GPU),多哈希,多操作系统(Linux和 Windows本地二进制文件),多平台(OpenCL和CUDA支持),多算法,资源利用率低,基于字典攻击,支持分布式破解。hashcat系列软件 在硬件上支持使用CPU、NVIDIA GPU、ATI GPU来进行密码破解,破解速度和加密方式、电脑性能有关。
hashcat官网(工具下载):https://hashcat.net
支持破解的加密算法及对应编号
- 0 = MD5
- 10 = md5($pass.$salt)
- 20 = md5($salt.$pass)
- 30 = md5(unicode($pass).$salt)
- 40 = md5($salt.unicode($pass))
- 50 = HMAC-MD5 (key = $pass)
- 60 = HMAC-MD5 (key = $salt)
- 100 = SHA1
- 110 = sha1($pass.$salt)
- 120 = sha1($salt.$pass)
- 130 = sha1(unicode($pass).$salt)
- 140 = sha1($salt.unicode($pass))
- 150 = HMAC-SHA1 (key = $pass)
- 160 = HMAC-SHA1 (key = $salt)
- 200 = MySQL323
- 300 = MySQL4.1/MySQL5
- 400 = phpass, MD5(WordPress), MD5(phpBB3),MD5(Joomla)
- 500 = md5crypt, MD5(Unix), FreeBSD MD5,Cisco-IOS MD5
- 900 = MD4
- 1000 = NTLM
- 1100 = Domain Cached Credentials (DCC), MSCache
- 1400 = SHA256
- 1410 = sha256($pass.$salt)
- 1420 = sha256($salt.$pass)
- 1430 = sha256(unicode($pass).$salt)
- 1431 = base64(sha256(unicode($pass)))
- 1440 = sha256($salt.unicode($pass))
- 1450 = HMAC-SHA256 (key = $pass)
- 1460 = HMAC-SHA256 (key = $salt)
- 1600 = md5apr1, MD5(APR), Apache MD5
- 1700 = SHA512
- 1710 = sha512($pass.$salt)
- 1720 = sha512($salt.$pass)
- 1730 = sha512(unicode($pass).$salt)
- 1740 = sha512($salt.unicode($pass))
- 1750 = HMAC-SHA512 (key = $pass)
- 1760 = HMAC-SHA512 (key = $salt)
- 1800 = SHA-512(Unix)
- 2400 = Cisco-PIX MD5
- 2410 = Cisco-ASA MD5
- 2500 = WPA/WPA2
- 2600 = Double MD5
- 3200 = bcrypt, Blowfish(OpenBSD)
- 3300 = MD5(Sun)
- 3500 = md5(md5(md5($pass)))
- 3610 = md5(md5($salt).$pass)
- 3710 = md5($salt.md5($pass))
- 3720 = md5($pass.md5($salt))
- 3800 = md5($salt.$pass.$salt)
- 3910 = md5(md5($pass).md5($salt))
- 4010 = md5($salt.md5($salt.$pass))
- 4110 = md5($salt.md5($pass.$salt))
- 4210 = md5($username.0.$pass)
- 4300 = md5(strtoupper(md5($pass)))
- 4400 = md5(sha1($pass))
- 4500 = Double SHA1
- 4600 = sha1(sha1(sha1($pass)))
- 4700 = sha1(md5($pass))
- 4800 = MD5(Chap), iSCSI CHAP authentication
- 4900 = sha1($salt.$pass.$salt)
- 5000 = SHA-3(Keccak)
- 5100 = Half MD5
- 5200 = Password Safe SHA-256
- 5300 = IKE-PSK MD5
- 5400 = IKE-PSK SHA1
- 5500 = NetNTLMv1-VANILLA / NetNTLMv1-ESS
- 5600 = NetNTLMv2
- 5700 = Cisco-IOS SHA256
- 5800 = Android PIN
- 6300 = AIX {smd5}
- 6400 = AIX {ssha256}
- 6500 = AIX {ssha512}
- 6700 = AIX {ssha1}
- 6900 = GOST, GOST R 34.11-94
- 7000 = Fortigate (FortiOS)
- 7100 = OS X v10.8+
- 7200 = GRUB 2
- 7300 = IPMI2 RAKP HMAC-SHA1
- 7400 = sha256crypt, SHA256(Unix)
- 7900 = Drupal7
- 8400 = WBB3, Woltlab Burning Board 3
- 8900 = scrypt
- 9200 = Cisco $8$
- 9300 = Cisco $9$
- 9800 = Radmin2
- 10000 = Django (PBKDF2-SHA256)
- 10200 = Cram MD5
- 10300 = SAP CODVN H (PWDSALTEDHASH) iSSHA-1
- 11000 = PrestaShop
- 11100 = PostgreSQL Challenge-ResponseAuthentication (MD5)
- 11200 = MySQL Challenge-Response Authentication(SHA1)
- 11400 = SIP digest authentication (MD5)
- 99999 = Plaintext
- 11 = Joomla < 2.5.18
- 12 = PostgreSQL
- 21 = osCommerce, xt:Commerce
- 23 = Skype
- 101 = nsldap, SHA-1(Base64), Netscape LDAPSHA
- 111 = nsldaps, SSHA-1(Base64), Netscape LDAPSSHA
- 112 = Oracle S: Type (Oracle 11+)
- 121 = SMF > v1.1
- 122 = OS X v10.4, v10.5, v10.6
- 123 = EPi
- 124 = Django (SHA-1)
- 131 = MSSQL(2000)
- 132 = MSSQL(2005)
- 133 = PeopleSoft
- 141 = EPiServer 6.x < v4
- 1421 = hMailServer
- 1441 = EPiServer 6.x > v4
- 1711 = SSHA-512(Base64), LDAP {SSHA512}
- 1722 = OS X v10.7
- 1731 = MSSQL(2012 & 2014)
- 2611 = vBulletin < v3.8.5
- 2612 = PHPS
- 2711 = vBulletin > v3.8.5
- 2811 = IPB2+, MyBB1.2+
- 3711 = Mediawiki B type
- 3721 = WebEdition CMS
- 7600 = Redmine Project Management Web App
Hashcat使用:Windows系统
1、官网下载最新版本的工具,使用解压缩工具解压。


2、将破解密需要使用的弱口令字典复制到hashcat工具文件目录下

3、将要破解的密文存放到txt文档中,将文档复制到弱口令字典同级目录下

4、使用命令提示符,将路径移动到hashcat工具文件目录下

5、本次使用的密文的加密方式为bcrypt $2*$, Blowfish (Unix),在hashcat中对应的编号为3200
加密方式及编号对照可参考官网:https://hashcat.net/wiki/doku.php?id=example_hashes

6、准备工作已完毕,在命令提示符hashcat工具目录下输入命令
hashcat64.exe -a 0 -m 3200 111.txt 10W.dict
在解密途中可按s查看解密情况和大概完成的时间,完成后使用命令
hashcat64.exe -a 0 -m 3200 111.txt 10W.dict --show
查看结果,结果会以“密文:解密结果”的形式体现。

命令参数具体解释如下:
- -a参数是指定攻击模式;
- 0代表Straight模式,使用字典进行破解尝试;
- 1代表Combination(组合)模式;
- 2代表Toggle-Case (大小写转换)模式;
- 3代表Brute-force(掩码暴力破解)模式;
- 4代表Permutation(序列破解)模式;
- 5代表Table-Lookup(查表破解)模式;
- 6代表Hybrid Wordlist + Mask(掩码暴力破解)模式;
- 7代表Hybrid Mask + Wordlist(混合掩码+单词列表)模式;
- 8代表Prince(王子破解)模式;
- -m参数是告诉hashcat解密的Hash类型;
- 3200则是指bcrypt $2*$, Blowfish (Unix)类型密码;
- 111.txt是整理后的要破解的hash列表;
- 10W.dict是准备的密码字典文件。
7、hashcat支持将解密结果输出至固定文档中,需要在hashcat工具文件目录中添加输出目标文档,解密命令
hashcat64.exe -a 0 -m 3200 -o test.txt 111.txt 10W.dict
输出在文档中的结果同样以“密文:解密结果”的形式体现。
命令参数具体解释如下:
-o参数是指输出结果文件,输出到test.txt文件中;

Hashcat使用:Linux系统
1、Linux中使用hashcat需要Opencl环境,Intel,Nvida,AMD的opencl都可以用,可以跟据自己的硬件环境,使用相应的opencl SDK(我这里使用的是Intel的opencl)
2、Opencl环境搭建完成后,从github上下载源码进行安装,下载地址:https://github.com/hashcat/hashcat.git
cd hashcat(进入目录) sudo make sudo make install(安装hashcat)

3、安装完成之后路径转到hashcat文件目录下即可使用,命令
hashcat -a 0 -m 3200 -o test.txt 111.txt 10w.txt
注意:linux中的参数相同,但是文件格式不同,整理后的hash文件后缀名可以使用.txt和.hash,字典文件后缀名要改为.txt,其它参数和结果形式和windows系统相同。

赏