使用john the ripper破解linux用户的密码

  1. linux基本命令:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWj4aBAH-1614415513083)(images/image-20210224211048294.png)]

  2. kali系统的安装(附上安装成功截图):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y9YwPWh6-1614415513094)(images/image-20210224211159073.png)]

linux系统中有一个用户密码配置文件/etc/shadow,里面存放着用户名,Hash加密后的值 /etc/passwd文件是用户账户配置文件,只保存用户账户的基本信息,并不保存密码信息.

一、john the ripper 工具的安装

登录进kali系统里,打开终端切换至桌面目录

wget http://www.openwall.com/john/j/john-1.8.0.tar.gz
tar -zxvf john-1.8.0.tar.gz
cd john-1.8.0/src 
make

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5qjj02ly-1614415513098)(images/image-20210224200924156.png)]

make clean linux-x86-64
cd ../run

此时,使用sudo adduser happy新建一个用户:happy,密码:good,然后进行linux密码破解

sudo unshadow /etc/passwd /etc/shadow > 123
sudo john --wordlist=password.lst 123

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pLcBkrSm-1614415513111)(images/image-20210224201339301.png)]

可以看到,用户名、密码很清晰地匹配出来了。

总结:没有将系统管理员用户密码爆破出来,应该是只能爆破其他用户的账号密码,并且是建立在passwd.lst字典下的弱口令密码

二、hashcat的使用

hashcat被称为最快的密码破解工具

sudo tail -2 /etc/shadow

happy: 6 6 6mpELYIUjd7Y5wAxI$p8yJTacFEJokodBq.bIy2yMvaaaaIR7Wt914NpNK8o4GKfTejERnIMZm3mvAFvHFYSwTZo2VP9IsgAIJ3.mcN1:18682:0:99999:7:::

用户名:加密密码:上次更改密码的时间:最小更改密码间隔:密码有效期限:密码过期提示时间:密码锁定期:账户有效期:保留字段

有了哈希函数,就可以将密码的哈希值存储进数据库。用户登录时,检验用户输入密码的哈希值是否与数据库中的哈希值相同来判断是否是合法用户.
常用的破解方法就是:字典破解,暴力破解,逆向查表,彩虹表.

然后就有了盐(Salt).
一个随机生成的字符串。将盐与原始密码连接在一起(放在前面或后面都可以),然后将concat后的字符串加密。采用这种方式加密密码,彩虹表就不灵了(因为盐是随机生成的).
使用Hashcat破解(hash值比对,查表)linux登录密码时,并不需要一条完整的/etc/shadow记录,要把上面的完整记录削减成如下形式:

6 6 6mpELYIUjd7Y5wAxI$p8yJTacFEJokodBq.bIy2yMvaaaaIR7Wt914NpNK8o4GKfTejERnIMZm3mvAFvHFYSwTZo2VP9IsgAIJ3.mcN1

切换到john-1.8.0/run目录下,将该密文写入123.txt文件里:

echo $6$mpELYIUjd7Y5wAxI$p8yJTacFEJokodBq.bIy2yMvaaaaIR7Wt914NpNK8o4GKfTejERnIMZm3mvAFvHFYSwTZo2VP9IsgAIJ3.mcN1 > 123.txt
ashcat -m 1800 -a 0 -o result.txt 123.txt password.lst

-m参数是告诉hashcat解密的Hash类型,1800则是指SHA-512(Unix)类型密码;
-a参数是指定攻击模式,0代表Straight模式,使用字典进行破解尝试;
-o参数是指输出结果文件,输出到result.txt文件中;
123.txt是整理后的要破解的hash列表;
password.lst是准备的密码字典文件.

等待进程结束,输入:

cat result.txt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6fgmd7ap-1614415513117)(images/image-20210224210508609.png)]

位于:后面的即是密码了。

此时删除result.txt文件,再次执行以下代码时发现下方粗体提示

ashcat -m 1800 -a 0 -o result.txt 123.txt password.lst

INFO: All hashes found in potfile! Use --show to display them.

这表明在之前该密码已经被我们破解成功了,Hashcat故不再显示出来,可以在后面添加参数--show来显示密码,Hashcat存放已经成功破解的密码文件位置为:~/.hashcat/hashcat.potfile,如果想要直接显示破解的密码的话,可以直接删除掉该文件。

Logo

更多推荐