hashcat的学习和使用记录

参考博客:http://baijiahao.baidu.com/s?id=1596339955472442323&wfr=spider&for=pc

Hashcat

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后,可以看到许多选项:

hashcat的学习和使用记录_第1张图片

hashcat的学习和使用记录_第2张图片

attack-mode:         

0 = Straight   (字典破解)

1 = Combination  (组合破解)

2 = Toggle-Case

3 = Brute-force  (掩码暴力破解)

4 = Permutation   (组合破解)

5 = Table-LookupHashcat的直接攻击模式(-a 0)

  1. 字典模式

命令行格式:

hashcat -a 0 -m xx ...

如单字典攻击hashcat -a 0 –m 0 mima.txt –o outfile dic.txt

  1. 掩码暴力破解模式

 ?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文件是用户账户配置文件,只保存用户账户的基本信息,并不保存密码信息.

  1. Hash,建立一个测试用户

hashcat的学习和使用记录_第3张图片

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

  1. Hashcat

基于词典:格式如下:

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的学习和使用记录_第4张图片

报错,有待继续深究,在这里挂一下,希望有知道原因的人评论一下,谢谢~

 

实验二:破解无线密码的尝试:

使用hashcat

  1. 抓包:扫描附近的wifi:

使用aircrack-ng破解Wi-Fi

hashcat的学习和使用记录_第5张图片

使用Hashcat破解WPA/PSK密码

  首先要把airodump抓取的cap文件转化为hccap格式, 可以在线转换, 在线转换的地址:https://hashcat.net/cap2hccap/, 也可以用aircrack-ng转换

aircrack-ng -J

  使用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

 

你可能感兴趣的:(网络信息安全)