参考博客:http://baijiahao.baidu.com/s?id=1596339955472442323&wfr=spider&for=pc
hashcat号称世界上最快的密码破解,世界上第一个和唯一的基于GPGPU规则引擎,免费多GPU(高达128个GPU),多哈希,多操作系统(Linux和Windows本地二进制文件),多平台(OpenCL和CUDA支持),多算法,资源利用率低,基于字典攻击,支持分布式破解等等
Hashcat的安装:
把github上面的源码down到本地:
git clone https://github.com/hashcat/hashcat.git
生成项目:
cd hashcat //进入目录
sudo make
sudo make install //安装hashcat
如果安装成功,在命令行输入hashcat,即可看到帮助文档
使用hashcat进行密码攻击
打开hashcat后,可以看到许多选项:
attack-mode:
0 = Straight (字典破解)
1 = Combination (组合破解)
2 = Toggle-Case
3 = Brute-force (掩码暴力破解)
4 = Permutation (组合破解)
5 = Table-LookupHashcat的直接攻击模式(-a 0)
命令行格式:
hashcat -a 0 -m xx
如单字典攻击hashcat -a 0 –m 0 mima.txt –o outfile dic.txt
?l = abcdefghijklmnopqrstuvwxyz
?u=ABCDEFGHIJKLMNOPQRSTUVWXYZ
?d=0123456789
?s = !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
?a = ?l?u?d?s
高级组合:
-1, --custom-charset1=CS
-2,--custom-charset2=CS
-3, --custom-charset3=CS
-4, --custom-charset4=CS
如设置--custom-charset1=?l?d 那么就表示 ?1代表小写字母与数字组合,那么8位随机的数字与小写字母组合可以写成 ?1?1?1?1?1?1?1?1
如设置--custom-charset2=xiao106347 那么就表示 ?2 代表字符串由 x i a o 1 0 6 3 4 7 组成的所有可能组合
一些思路:
1、弱口令字典破解
2、用GPU显卡进行8-12位数字破解、
3、用GPU显卡进行8-12位数字字母特殊字符组合破解
借鉴:https://www.freebuf.com/author/DigApis里面的文章
实验一:
https://blog.csdn.net/c465869935/article/details/51491913
破解linux 登录密码
linux登录密码文件:
linux系统中有一个用户密码配置文件/etc/shadow,里面存放着用户名,Hash加密后的值,最后一次修改密码的日期(1970年1月1日距今的天数),密码的最小生存周期,最大生存周期等等,具体解释如下:
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
/etc/passwd文件是用户账户配置文件,只保存用户账户的基本信息,并不保存密码信息.
systemd-coredump:!!:17827::::::: command not found
test:$6$BheI.1Z.dJ4P2GCSEZpXyA.qu8R8DXV/SiWS4uR5CT/r4EUCB7rqwlD3b/bP1Qd7UxX3QhlaM8QX7nlBohh44HuWpXr9fwRLi8d00:17843:0:99999:7::
分析:
test是用户名,$6$表示一种类型标记为6的密码散列suans fa,这里指SHA-512哈希算法.,
使用Hashcat破解(hash值比对,查表)linux登录密码时,并不需要一条完整的/etc/shadow记录,要把上面的完整记录削减成如下形式:
$6$BheI.1Z.dJ4P2GCSEZpXyA.qu8R8DXV/SiWS4uR5CT/r4EUCB7rqwlD3b/bP1Qd7UxX3QhlaM8QX7nlBohh44HuWpXr9fwRLi8d00
基于词典:格式如下:
hashcat -m 1800 -a 0 -o found.txt crack.hash rockyou.txt
1
-m参数是告诉hashcat解密的Hash类型,1800则是指SHA-512(Unix)类型密码;
-a参数是指定攻击模式,0代表Straight模式,使用字典进行破解尝试;
-o参数是指输出结果文件,输出到found.txt文件中;
crack.hash是整理后的要破解的hash列表;
rockyou.txt是准备的密码字典文件.
掩码暴力:
报错,有待继续深究,在这里挂一下,希望有知道原因的人评论一下,谢谢~
实验二:破解无线密码的尝试:
使用hashcat
使用aircrack-ng破解Wi-Fi
使用Hashcat破解WPA/PSK密码
首先要把airodump抓取的cap文件转化为hccap格式, 可以在线转换, 在线转换的地址:https://hashcat.net/cap2hccap/, 也可以用aircrack-ng转换
aircrack-ng
使用hashcat命令,第一个参数: -m 2500为破解的模式为WPA/PSK方式 ,第二个参数: hccap格式的文件是刚刚转化好的文件, 第三个参数: dics.txt为字典文件 :
hashcat -m 2500 out.hccap.hccap dics.txt
破解的进度通过按键盘上的s 键即可查看
最后放上字典:
CSDN 天涯 17173等等明文字典集合: http://pan.baidu.com/share/link?shareid=193969&uk=1965926143
QQ盗号箱子密码集合: http://pan.baidu.com/share/link?shareid=193972&uk=1965926143
国外字典
老外破解的hash明文字典:http://thireus.frenchdev.com/Sha ... ordList_CLEANED.zip
附带一篇老外破解密码的文章,值得一看:http://blog.thireus.com/cracking ... d5-hashed-passwords
MD5Decrypter 明文字典: http://home.btconnect.com/md5decrypter/passwords.zip
Linked-in泄露hash破解的明文字典: http://home.btconnect.com/md5decrypter/linkedin_found.zip
国外字典集合(我的国外的字典基本来自这里):http://www.skullsecurity.org/wiki/index.php/Passwords