1.1Hashcat密码破解
hashcat号称世界上最快的密码破解,世界上第一个和唯一的基于GPGPU规则引擎,免费多GPU(高达128个GPU),多哈希,多操作系统(Linux和Windows本地二进制文件),多平台(OpenCL和CUDA支持),多算法,资源利用率低,基于字典***,支持分布式破解等等,目前最新版本为4.01,下载地址https://hashcat.net/files/hashcat-4.1.0.7z,hashcat目前支持各类公开算法高达247类,市面上面公开的密码加密算法基本都支持!hashcat系列软件在硬件上支持使用CPU、NVIDIA GPU、ATI GPU来进行密码破解。在操作系统上支持Windows、Linux平台,并且需要安装官方指定版本的显卡驱动程序,如果驱动程序版本不对,可能导致程序无法运行。NVIDIA users GPU破解驱动需要ForceWare 331.67以及更高版本(http://www.geforce.cn/drivers),AMD 用户则需要Catalyst 14.9以及更高版本,可以通过Catalyst 自动侦测和下载检测工具来检测系统应该下载那个版本,下载地址:http://support.amd.com/en-us/download/auto-detect-tool,选择合适的版本安装即可。其官方github 网站地址为:https://github.com/hashcat/hashcat。
1.1.1准备工作
(1)kali linux操作系统或者虚拟机
(2)windows7操作系统或者虚拟机
(3)准备字典,可以自己生成字典工具,也可以从互联网获取字典,推荐二个字典下载网站:http://contest-2010.korelogic.com/wordlists.html. https://wiki.skullsecurity.org/Passwords
(4)在windows7中新增一个用户antian365,密码为password。在单击“开始”-“运行”中输入“cmd”并按“Shift+Ctrl+Enter”组合键,输入命令“ net user antian365 password /add”。或者以管理员权限启动“cmd.exe”程序也可,测试完毕后可以通过命令删除该帐号“net user antian365 /del”
(5)下载saminside
官方网站目前已经停止saminside软件的开发了,可以到华军软件园下载:http://gwbnsh.onlinedown.net/down2/saminside.v2.6.1.0.chs.rar
(6)字典合并及排序处理
cat *.dic >file.txt
Linux下使用 sort –u file.txt>password.lst
1.1.2HashCat软件使用参数
1.hashcat使用参数
直接运行hashcat(分为32和64位版本)会提示使用参数:
Usage: hashcat64 [options]... hash|hashfile|hccapxfile [dictionary|mask|directory]...
也即hashcat [选项] 破解的哈希值或hash文件、hccapx文件 [字典|掩码|目录] ...
Hccapxfile对应无线包,其对应破解哈希类型为“-m 2500 = WPA/WPA2”。
2.查看帮助
使用hashcat --help命令可以获取详细的帮助信息,可以使用hashcat --help>help.txt来参考具体的参数使用帮助。
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
(4) 资源
-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 为0123456789abcdef
-4, --custom-charset4=CS -2 mycharset.hcchr : 设置 ?2 包含在mycharset.hcchr
文件
(7)***模式
大小写转换***:
--toggle-min=NUM 在字典中字母的最小值