PS:本文仅作为技术讨论及分享,严禁用于任何非法用途。
Hashcat密码破解概述
hashcat号称世界上最快的密码破解,世界上第一个和唯一的基于GPGPU规则引擎,免费多GPU(高
达128个GPU),多哈希,多操作系统(Linux和Windows本地二进制文件),多平台(OpenCL和
CUDA支持),多算法,资源利用率低,基于字典攻击,支持分布式破解等等,目前最新版本为4.01,
下载地址目前支持各类公开算法高达247类,
市面上面公开的密码加密算法基本都支持!
hashcat系列软件在硬件上支持使用CPU、NVIDIA GPU、ATI GPU来进行密码破解。在操作系统上支持
Windows、Linux平台,并且需要安装官方指定版本的显卡驱动程序,如果驱动程序版本不对,可能导
致程序无法运行。NVIDIA users GPU破解驱动需要ForceWare 331.67以及更高版本(
ce.cn/drivers),AMD 用户则需要Catalyst 14.9以及更高版本,可以通过Catalyst 自动侦测和下载检测
工具来检测系统应该下载哪个版本,下载地址:
ct-tool,选择合适的版本安装即可。其官方github 网站地址为:
1.准备工作
(1)kali linux操作系统或者虚拟机
(2)windows7操作系统或者虚拟机
(3)准备字典,可以自己生成字典工具,也可以从互联网获取字典,推荐二个字典下载网站:
ontest-2010.korelogic.com/wordlists.html.
(4)在windows7中新增一个用户antian365,密码为password。在单击“开始”-“运行”中输入“cmd”并
按“Shift+Ctrl+Enter”组合键,输入命令“ netuser antian365 password /add”。或者以管理员权限启动
“cmd.exe”程序也可,测试完毕后可以通过命令删除该帐号“net user antian365 /del”
(5)下载saminside
官方网站目前已经停止saminside软件的开发了,可以到华军软件园下载:
n.net/down2/saminside.v2.6.1.0.chs.rar
(6)字典合并及排序处理
cat *.dic >file.txt
Linux下使用
sort –u file.txt>password.lst
2.HashCat软件使用参数
2.1 hashcat使用参数
直接运行hashcat(分为32和64位版本)会提示使用参数:
Usage:hashcat64 [options]… hash|hashfile|hccapxfile [dictionary|mask|directory]…
也即hashcat [选项] 破解的哈希值或hash文件、hccapx文件 [字典|掩码|目录] …
Hccapxfile对应无线包,其对应破解哈希类型为“-m 2500 = WPA/WPA2”。
2.2 查看帮助
使用hashcat –help命令可以获取详细的帮助信息,可以使用hashcat –help>help.txt来参考具体的参数
使用帮助。
2.3 选项
(1)普通
-m, —hash-type=NUM 哈希类别,其NUM值参考其帮助信息下面的哈希类别值,其值为数
字。如果不指定m值则默认指md5,例如-m 1800是sha512 Linux加密。
-a, –attack-mode=NUM 攻击模式,其值参考后面对参数。“-a 0”字典攻击,“-a 1” 组合攻击;
“-a 3”掩码攻击。
-V, —version 版本信息
-h, –help 帮助信息。
–quiet 安静的模式, 抑制输出
(2)基准测试
-b, –benchmark 测试计算机破解速度和显示硬件相关信息
(3)杂项
–hex-salt salt值是用十六进制给出的
–hex-charset 设定字符集是十六进制给出
–runtime=NUM 运行数秒(NUM值)后的中止会话
–status 启用状态屏幕的自动更新
–status-timer=NUM 状态屏幕更新秒值
–status-automat 以机器可读的格式显示状态视图
–session 后跟会话名称,主要用于终止任务后的恢复破解。
(4)文件
-o, –outfile=FILE 定义哈希文件恢复输出文件
–outfile-format=NUM 定义哈希文件输出格式,见下面的参考资料
–outfile-autohex-disable 禁止使用十六进制输出明文
-p, –separator=CHAR 为哈希列表/输出文件定义分隔符字符
–show 仅仅显示已经破解的密码
–left 仅仅显示未破解的密码
–username 忽略hash表中的用户名,对linux文件直接进行破解,不需要进行整理。
–remove 移除破解成功的hash,当hash是从文本中读取时有用,避免自己手工移除已
经破解的hash
–stdout 控制台模式
–potfile-disable 不写入pot文件
–debug-mode=NUM 定义调试模式(仅通过使用规则进行混合),参见下面的参考资料
–debug-file=FILE 调试规则的输出文件(请参阅调试模式)
-e, –salt-file=FILE 定义加盐文件列表
–logfile-disable 禁止logfile
(5) 资源
-c, –segment-size=NUM 字典文件缓存大小(M)
-n, –threads=NUM 线程数
-s, –words-skip=NUM 跳过单词数
-l, –words-limit=NUM 限制单词数(分布式)
(5)规则
-r, –rules-file=FILE 使用规则文件: -r 1.rule,
-g, –generate-rules=NUM 随机生成规则
–generate-rules-func-min= 每个随机规则最小值
–generate-rules-func-max=每个随机规则最大值
–generate-rules-seed=NUM 强制RNG种子数
(6)自定义字符集
-1, –custom-charset1=CS 用户定义的字符集
-2, –custom-charset2=CS 例如:
-3, –custom-charset3=CS –custom-charset1=?dabcdef : 设置?1 为abcdef
-4, –custom-charset4=CS -2mycharset.hcchr : 设置 ?2 包含在mycharset.hcchr
文件(7)攻击模式
大小写转换攻击:
–toggle-min=NUM 在字典中字母的最小值
–toggle-max=NUM 在字典中字母的最大值
* 使用掩码攻击模式:
–increment 使用增强模式
–increment-min=NUM 增强模式开始值
–increment-max=NUM 增强模式结束值
* 排列攻击模式
–perm-min=NUM 过滤比NUM数小的单词
–perm-max=NUM 过滤比NUM数大的单词
* 查找表攻击模式:
-t, –table-file=FILE 表文件
–table-min=NUM 在字典中的最小字符值
–table-max=NUM 在字典中的最大字符值
* 打印攻击模式:
–pw-min=NUM 如果长度大于NUM,则打印候选字符
–pw-max=NUM 如果长度小于NUM,则打印候选字符
–elem-cnt-min=NUM 每个链的最小元素数
–elem-cnt-max=NUM 每个链的最大元素数
–wl-dist-len 从字典表中计算输出长度分布
–wl-max=NUM 从字典文件中加载NUM个单词,设置0禁止加载。
–case-permute 在字典中对每一个单词进行反转
(8)参考
输出文件格式:
1 = hash[:salt]
2 = plain 明文
3 = hash[:salt]:plain
4 = hex_plain
5 = hash[:salt]:hex_plain
6 = plain:hex_plain
7 = hash[:salt]:plain:hex_plain
8 = crackpos
9 = hash[:salt]:crackpos
10 = plain:crackpos
11 = hash[:salt]:plain:crackpos
12 = hex_plain:crackpos
13 = hash[:salt]:hex_plain:crackpos
14 = plain:hex_plain:crackpos
15 = hash[:salt]:plain:hex_plain:crackpos
* 调试模式输出文件 (for hybrid mode only, by using rules):
1 = save finding rule
2 = save original word
3 = save original word and finding rule
4 = save original word, finding rule andmodified plain
* 内置的字符集:
?l = abcdefghijklmnopqrstuvwxyz 代表小写字母
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ 代表大写字母
?d = 代表数字
?s = !”#$%&’()*+,-./:;<=>?@[]^_`{|}~ 代表特殊字符
?a = ?l?u?d?s 大小写数字及特殊字符的组合
?b = 0×00 – 0xff
攻击模式
0 = Straight (字典破解)
1 = Combination (组合破解)
2 = Toggle-Case (大小写转换)
3 = Brute-force(掩码暴力破解)
4 = Permutation(序列破解)
5 = Table-Lookup(查表破解)
6 = Hybrid dict + mask 字典加掩码破解
7 = Hybrid mask + dict 掩码+字典破解
8 = Prince(王子破解)
* 哈希类型
有关哈希具体值示例可以参考
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
= Django (PBKDF2-SHA256)
= Cram MD5
= SAP CODVN H (PWDSALTEDHASH) iSSHA-1
= PrestaShop
= PostgreSQL Challenge-ResponseAuthentication (MD5)
= MySQL Challenge-Response Authentication(SHA1)
= SIP digest authentication (MD5)
= 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
下一次讲密码破解推荐原则和获取并整理密码hashes值
探讨渗透测试及黑客技术,请关注并私信我。#小白入行网络安全# #安界网人才培养计划#
原创扶持常见问题问题咨询
标签: 哈希
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。