windows下hashcat利用GPU显卡性能破解密码

您所在的位置:网站首页 电脑跑字典破解软件 windows下hashcat利用GPU显卡性能破解密码

windows下hashcat利用GPU显卡性能破解密码

2023-10-07 22:19| 来源: 网络整理| 查看: 265

由于一般密码破解工具的破解速度实在是太慢,而且支持的密码破解协议也不多,暴力破解的话,有的密码1年时间也破不出来,

用字典跑的话必须要明文密码在字典里才行,而且密码字典太大的话,也很浪费时间,跑不出来也是很常见的事情,下面推荐一款世界上破解密码速度最快的工具,hashcat,hashcat 下载https://hashcat.net/hashcat/,选择最新版的下载即可。

请输入图片描述请输入图片描述hashcat支持多种计算核心GPU CPU APU DSP FPGA Coprocessor下载官方NVIDE驱动程序

到NVIDA官网下载与自己电脑显卡型号相对应的显卡驱动程序如图所示,然后根据提示一步步安装即可。 安装完成后,重启电脑即可。 (NAVIDA的显卡只需要安装官方驱动即可,已经内含HASHCAT破解密码所需的GPU运算工具。记得使用上图官方下载的显卡驱动,不要使用windows自带的显卡驱动。)

测试hashcat是否能利用gpu运算速度来破解密码hashcat64.exe -b

基准测试hashcat破解各种密码散列的速度。 检查设置如果已正确安装了GPU能够看到它并会列出其属性和使用的驱动程序信息。

hashcat详细命令及使用普通-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 安静的模式, 抑制输出基准测试-b, –benchmark 测试计算机破解速度和显示硬件相关信息杂项–hex-salt salt值是用十六进制给出的 –hex-charset 设定字符集是十六进制给出 –runtime=NUM 运行数秒(NUM值)后的中止会话 –status 启用状态屏幕的自动更新 –status-timer=NUM 状态屏幕更新秒值 –status-automat 以机器可读的格式显示状态视图 –session 后跟会话名称,主要用于中止任务后的恢复破解。文件-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资源-c, –segment-size=NUM 字典文件缓存大小(M) -n, –threads=NUM 线程数 -s, –words-skip=NUM 跳过单词数 -l, –words-limit=NUM 限制单词数(分布式)规则-r, –rules-file=FILE 使用规则文件: -r 1.rule, -g, –generate-rules=NUM 随机生成规则 –generate-rules-func-min= 每个随机规则最小值 –generate-rules-func-max=每个随机规则最大值 –generate-rules-seed=NUM 强制RNG种子数自定义字符集-1, –custom-charset1=CS 用户定义的字符集 -2, –custom-charset2=CS 例如: -3, –custom-charset3=CS –custom-charset1=?dabcdef : 设置?1 为0123456789abcdef -4, –custom-charset4=CS -2mycharset.hcchr : 设置 ?2 包含在mycharset.hcchr攻击模式–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 在字典中对每一个单词进行反转参考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调试模式输出文件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 = 0123456789 代表数字 ?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 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 Apphashcat破解密码规则示例(1)字典攻击 -a 0 password.lst (2)1到8为数字掩码攻击 -a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d –O ?d代表数字,可以换成小写字母?l,大写字母?u,特殊字符?s,大小写字母+特殊字符?a,–O表示最优化破解模式,可以加该参数,也可以不加该参数。 (3)8为数字攻击 -a 3 ?d?d?d?d?d?d?d?d 同理可以根据位数设置为字母大写、小写、特殊字符等模式。 (4)自定义字符 现在纯数字或者纯字母的密码是比较少见的,根据密码专家对泄漏密码的分析,90%的个人密码是字母和数字的组合,可以是自定义字符了来进行暴力破解,Hashcat支持4个自定义字符集,分别是 -1 -2 -3 -4。定义时只需要这样-2 ?l?d ,然后就可以在后面指定?2,?2表示小写字母和数字。这时候要破解一个8位混合的小写字母加数字: Hashcat.exe -a 3 –force -2 ?l?d hassh值或者hash文件 ?2?2?2?2?2?2?2?2 例如破解dz小写字母+数字混合8位密码破解: Hashcat -m 2611 -a 3 -2 ?l?d dz.hash ?2?2?2?2?2?2?2?2 (5)字典+掩码暴力破解 Hashcat还支持一种字典加暴力的破解方法,就是在字典前后再加上暴力的字符序列,比如在字典后面加上3为数字,这种密码是很常见的。使用第六种攻击模式: a-6 (Hybrid dict + mask) 如果是在字典前面加则使用第7中攻击模式也即( a-7 = Hybridmask + dict),下面对字典文件加数字123进行破解: H.exe -a 6 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d 假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为password123,则只要password.lst包含123即可 (6)掩码+字典暴力破解 H.exe -a 7 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d 假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为123password,则只要password.lst包含password即可。 (7)大小写转换攻击,对password.lst中的单词进行大小写转换攻击 H.exe-a 2 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst EXAMPLES(1)8位数字破解 Hashcat64-m 9700 hash -a 3 ?d?d?d?d?d?d?d?d -w 3 –O (2)1-8位数字破解 Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d (3)1到8位小写字母破解 Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?l?l?l?l?l?l?l?l (4)8位小写字母破解 Hashcat-m 9700 hash -a 3 ?l?l?l?l?l?l?l?l -w 3 –O (5)1-8位大写字母破解 Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?u?u?u?u?u?u?u?u (6)8位大写字母破解 Hashcat-m 9700 hash -a 3 ?u?u?u?u?u?u?u?u -w 3 –O (7)5位小写+ 大写+数字+特殊字符破解 Hashcat-m 9700 hash -a 3 ?b?b?b?b?b -w 3 (8)使用字典进行破解 使用password.lst字典进行暴力破解,-w 3参数是指定电力消耗 Hashcat -m 9700 -a 0 -w 3 hash password.lst 在执行破解成功后,hashcat会自动终止破解,并显示破解状态为Cracked,Recvoered中也会显示是否破解成功. 破解known_hosts中的IP地址 经过研究发现known_hosts中会对连接的IP地址进行HMAC SHA1加密,可以通过hexhosts攻击进行转换,然后通过hashcat进行暴力破解,其密码类型为160(HMAC-SHA1 (key = $salt))。(1)计算HMAC SHA1值 gitclone https://github.com/persona5/hexhosts.git cdhexhosts gcchexhosts.c -lresolv -w -o hexhosts ./hexhosts 获取known_hosts的HMAC SHA1加密值: 注意:known_hosts值一定要正确,可以将known_hosts文件复制到hexhosts文件目录。 (2)组合攻击暴力破解 hashcat-a 1 -m 160 known_hosts.hash ips_left.txt ips_right.txt --hex-salt 组合攻击是将ips_left.txt和ips_right.txt进行组合,形成完整的IP地址进行暴力破解。 ips_left.txt和ips_right.txt文件可以用以下代码进行生成: ip-gen.sh: for a in `seq 0 255` do for b in `seq0 255` do echo"$a.$b." >> ips_left.txt echo"$a.$b" >> ips_right.txt done done (3)使用掩码进行攻击 hashcat -a 3 -m 160 known_hosts.hash ipv4.hcmask--hex-salt ipv4.hcmask文件内容可在此站下载。 破解md5加密的IP地址 在CDN等网络或者配置中往往会对IP地址进行MD5加密,由于其位数3×4+3(xxx.xxx.xxx.xxx)=17位,通过正常的密码破解其时间耗费非常长,但通过分析其IP地址的规律,发现其地址XXX均为数字,因此可以通过hashcat的组合和掩码进行攻击。 hashcat-a 1 –m 0 ip.md5.txt ips_left.txt ips_right.txt hashcat -a1 -m 0 ip.md5.txt ipv4.hcmask 另外在F5的cookie中会对其IP地址进行加密,可以参考的破解代码如下: import struct cookie = "1005421066.20736.0000" (ip,port,end)=cookie.split(".") (a,b,c,d)=[ord(i) for i in struct.pack("i",int(ip))] print "Decoded IP: %s %s %s %s" % (a,b,c,d) Decoded IP: 10.130.237.59 破解技巧总结 在使用GPU模式进行破解时,可以使用-O参数自动进行优化 暴力破解一条md5值(1)9位数字破解 Hashcat64.exe-a 3 --force d98d28ca88f9966cb3aaefebbfc8196f ?d?d?d?d?d?d?d?d?d 单独破解一条md5值需要加force参数 (2)9位字母破解 Hashcat64.exe-a 3 --force d98d28ca88f9966cb3aaefebbfc8196f ?l?l?l?l?l?l?l?l?l 破解带盐discuz密码数字破解7位数字,7秒时间破解完成任务。 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d 8位数字破解,9秒时间破解完成任务。: Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d 9位数字破解,9秒时间破解完成任务。 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d?d字母破解(1)6位小写字母 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l (2)7位小写字母 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l (3)8位小写字母 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l 9分钟左右完成破解任务 (4)9位小写字母 Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l?l -O 字母加数字 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2 (3)7位大写字母 Hashcat64.exe-a 3 –force –m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?u?u?u?u?u?u?u (4)6到8位数字破解 Hashcat64.exe-a 3 –force –m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l自定义破解(1)使用数字加字母混合6位进行破解 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2 -O (2)使用数字加字母混合7位进行破解,破解时间4分16秒 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2 –O (3)使用数字加字母混合8位进行破解 Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2?2 -O字典破解模式 Hashcat64.exe-a 0 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 password.lst 使用字典文件夹下的字典进行破解: Hashcat32.exe-m 300 mysqlhashes.txt –remove -o mysql-cracked.txt ..\dictionaries\* 会话保存及恢复破解 (1)使用mask文件规则来破解密码 hashcat-m 2611 -a 3 --session mydz dz.hash masks/rockyou-7-2592000.hcmask (2)恢复会话 hashcat--session mydz --restore 掩码破解 mask规则文件位于masks下,例如D:\PentestBox\hashcat-4.1.0\masks,执行破解设置为: masks/8char-1l-1u-1d-1s-compliant.hcmask masks/8char-1l-1u-1d-1s-noncompliant.hcmask masks/rockyou-1-60.hcmask masks/rockyou-2-1800.hcmask masks/rockyou-3-3600.hcmask masks/rockyou-4-43200.hcmask masks/rockyou-5-86400.hcmask masks/rockyou-6-864000.hcmask masks/rockyou-7-2592000.hcmask 运用规则文件进行破解 Hashcat -m 300 mysqlhashes.txt–remove -o mysql-cracked.txt ..\dictionaries\* -r rules\best64.rule hashcat -m 2611 -a 0 dz.hashpassword.lst -r rules\best64.rule -O hashcat参数优化 考虑到hashcat的破解速度以及资源的分配,我们可以对一些参数进行配置1.Workload tuning 负载调优。 该参数支持的值有1,8,40,80,160 --gpu-accel 160 可以让GPU发挥最大性能。 2.Gpu loops 负载微调 该参数支持的值的范围是8-1024(有些算法只支持到1000)。 --gpu-loops 1024 可以让GPU发挥最大性能。 3.Segment size 字典缓存大小 该参数是设置内存缓存的大小,作用是将字典放入内存缓存以加快字典破解速度,默认为32MB,可以根据自身内存情况进行设置,当然是越大越块了。 --segment-size 512 可以提高大字典破解的速度。 LAST:密码设置建议 使用更长的字符串 使用更大的字符集字母、数字、符号 不要使用任何可能与你有关的字符作为密码或密码的一部分使用


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3