64位Ubuntu使用john破解密码的No password hashes loaded

来源:互联网 发布:涂师傅数据恢复注册码 编辑:程序博客网 时间:2024/06/05 11:32

最近研究了一下Linux的密码破解,因为正好在学习computer security “计算机信息安全”这门课。

我在使用 john the ripper 的时候遇到了一个问题 No password hashes loaded。

今天给大家分享一下解决方案。

这里有john官网下载地址[ http://www.openwall.com/john/  ],包含详细介绍。


问题的相关描述

系统环境:

Ubuntu  3.19.0-51-generic x86_64 GNU/Linux

John版本:

john-1.8.0


问题上下文:

$ pwd$ ~/Document/john-1.8.0/run$ unshadwo /etc/passwd /etc/shadow > mypasswd   <span style="color:#3333FF;">#这一步可能需要root权限</span>$ ./john mypasswd$ No password hashes looaded (see FAQ)

产生的原因

查阅不少网上的资料后,给出过不少解决方案,例如更改john的 "--format=" 值,或者64位 Unix-like 无法识别shadow文件。后面根据[独自等待-信息安全博客 ]的文章,发现问题的主要原因是在编译过程中,没有指定合适的系统版本。导致编译出来的 john 文件不能识别64位机器的hash密码。

那么解决这个问题只要更换编译指令。

特别注意的是

要破解linux系统密码,需要获得/etc/passwd这个密码文件。不过只在老系统上还可能找到把所有用户和密码信息同时存储在 passwd 下的情况。现今比较新的linux系统如Ubuntu,RedHat,CentOS等系统上,密码和用户相关信息是分开存储的,另外的密码信息被放在 /etc/shadow 这个影子文件中。所以首先需要 unshadow 影子文件,也就是去影子。可以利用john的模块程序unshadow完成,unshadow 用例 [ unshadow PASSWORD-FILE SHADOW-FILE ]

<span style="color:#999999;">## passwd 文件</span>$ sudo less /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinuser2:x:1002:1002::/home/user2:<span style="color:#999999;">## shadow 文件</span>$ sudo less /etc/shadowroot:!:16649:0:99999:7:::daemon:*:16547:0:99999:7:::bin:*:16547:0:99999:7::: user2:$6$bQuyXpBm$9orssb6odprUUVKWG9q2KNemfxRm2BG2hhWGCBzo5XjeozKsChAeIMke.Du1mece8G9cc.2m5VHpmyk9D5Rxp0:16858:0:99999:7:::

在 passwd 文件中可以看到UID后面的一个域是 ‘x’,这就是说系统把以前存在 passwd 的中的密码用 'x' 代替,并且把实际的密码信息存在了 shadow 中。

例如user2后面的

$6$bQuyXpBm$9orssb6odprUUVKWG9q2KNemfxRm2BG2hhWGCBzo5XjeozKsChAeIMke.Du1mece8G9cc.2m5VHpmyk9D5Rxp0
就是系统将用户自己设定的密码并加上一定长度的盐后hash获得的值。

详细的 passwd 和 shadow 解释请看链接[ Linux密码文件passwd和shadow分析  ]

更换编译指令

$ pwd$ ~/Document/john-1.8.0/src$ make$ make clean linux-x86-64 <span style="color:#CCCCCC;"><span style="color:#3333FF;"># 官方文档中说明的 make clean SYSTEM 和 make clean generic 不适合64位版本。Ubuntu用户需要指定为 make clean linux-x86-64</span></span>

再次运行

$ ./john mypasswdLoaded 7 password hashes with 7 different salts (crypt, generic crypt(3) [?/64])Press 'q' or Ctrl-C to abort, almost any other key for status0g 0:00:00:07 65% 1/3 0g/s 392.6p/s 392.6c/s 392.6C/s User597..user5W0g 0:00:00:08 65% 1/3 0g/s 392.5p/s 392.5c/s 392.5C/s User297..user2W123              (user2)Dragon           (user4)Flower           (user3)
All done! 这个问题就顺利解决了:-)
0 0
原创粉丝点击