美文网首页John the Ripper
借助John the ripper破解Linux密码

借助John the ripper破解Linux密码

作者: fdtd | 来源:发表于2017-03-07 09:27 被阅读0次

    本文介绍了John the ripper这款密码破解工具
    http://netsecurity.51cto.com/art/201406/442674.htm

    John the ripper是一款大受欢迎的、基于字典的密码破解工具。它使用内容全是密码的单词表,然后使用单词表中的每一个密码,试图破解某个特定的密码散列。换句话说,它又叫蛮力密码破解,这是一种最基本的密码破解方式。不过它也是最耗费时间、最耗费处理器资源的一种方法。尝试的密码越多,所需的时间就越长。

    wKiom1OeRv2BgEWNAABfpU0buVo708.jpg

    John有别于Hdra之类的工具。Hydra进行盲目的蛮力攻击,其方法是在FTP服务器或Telnet服务器上的服务后台程序上尝试用户名/密码组合。不过,John首先需要散列。所以,对黑客来说更大的挑战是,先搞到需要破解的散列。如今,使用网上随处可得的免费彩虹表(rainbow table),比较容易破解散列。只要进入到其中一个网站,提交散列;要是散列由一个常见单词组成,那么该网站几乎立马就会显示该单词。彩虹表基本上将常见单词及对应散列存储在一个庞大的数据库中。数据库越大,涵盖的单词就越多。

    但是如果你想在自己的系统上本地破解密码,那么John是值得一试的好工具之一。John跻身于Kali Linux的十大安全工具。在Ubuntu上,它可以通过新立得软件包管理器(synaptic package manager)来安装。

    我在本文中将向各位介绍如何使用unshadow命令连同John,在Linux系统上破解用户的密码。在Linux上,用户名/密钥方面的详细信息存储在下面这两个文件中。

    /etc/passwd
    /etc/shadow

    实际的密码散列则存储在/etc/shadow中;只要对该机器拥有根访问权,就可以访问该文件。所以,试着从你自己的Linux系统来访问该文件。或者先创建一个使用简单密码的新用户。我会在自己的Linux系统上创建一个名为happy的新用户,其密码为chess。

    root@kali:~# adduser happy
    Adding user 'happy' ...
    Adding new group 'happy' (1001) ...
    Adding new user 'happy' (1000) with group 'happy' ...
    Creating home directory '/home/happy' ...
    Copying files from '/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for happy
    Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
    Is the information correct? [Y/n] y
    root@kali:~#

    为了方便演示,最好使用一个简单的密码,那样你没必要等待太长的时间。由于我们的新用户已创建完毕,现在可以破解其密码了。

    unshadow

    unshadow命令基本上会结合/etc/passwd的数据和/etc/shadow的数据,创建1个含有用户名和密码详细信息的文件。用法相当简单。

    root@kali:~# unshadow
    Usage: unshadow PASSWORD-FILE SHADOW-FILE
    root@kali:~# unshadow /etc/passwd /etc/shadow > ~/file_to_crack

    我们将unshadow命令的输出结果重定向至名为file_to_crack的新文件。

    借助John来破解

    现在这个新文件将由John来破解。就单词表而言,我们将使用Kali Linux上的John随带的密码列表。它位于下面这个路径:

    /usr/share/john/password.lst

    你也可以使用自己的密码列表

    root@kali:~# john --wordlist=/usr/share/john/password.lst ~/file_to_crack
    Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt"
    Use the "--format=crypt" option to force loading these as that type instead
    Loaded 2 password hashes with 2 different salts (sha512crypt [64/64])
    chess (happy)
    guesses: 1 time: 0:00:00:21 DONE (Tue May 14 06:47:58 2013) c/s: 300 trying: sss
    Use the "--show" option to display all of the cracked passwords reliably
    root@kali:~#

    所以在上面这个命令中,John能够破解散列,为我们破解出用户“happy”的密码“chess”。现在,John能够破解,就因为密码“chess”出现在密码列表中。要是该密码没有出现在密码列表中,那么John就会失败。

    使用show选项,列出所有被破解的密码。

    root@kali:~# john --show ~/file_to_crack
    happy:chess:1000:1001:,,,:/home/happy:/bin/bash
    1 password hash cracked, 1 left
    root@kali:~#

    剩余的1个密码是用户root的密码。所提供的单词表中没有一个密码破解得了。

    不用单词表

    要是不使用密码列表就想借助John破解密码,最简单的办法就是这样:

    root@kali:~# john ~/file_to_crack

    按照说明文档

    这会先尝试“简单破解”(single crack)模式,然后使用带规则的单词表,最后是尝试“增强破解”(incremental)模式。

    参阅模式方面的说明文档:http://www.openwall.com/john/doc/MODES.shtml

    相关资源

    http://www.openwall.com/john/doc/EXAMPLES.shtml
    原文地址:http://www.binarytides.com/cracking-linux-password-with-john-the-ripper-tutorial/

    相关文章

      网友评论

        本文标题:借助John the ripper破解Linux密码

        本文链接:https://www.haomeiwen.com/subject/pybpgttx.html