• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用John the ripper工具来尝试破解Linux密码

    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命令基本上会结合/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的新文件。

    步骤

    下面我们来看一下具体步骤,破解成功后密码在jhon.pot中,只是密码:
    1 进入/root/john-1.7.8/run目录,用jhon自带的工具unshadow读取/etc/shadow

    复制代码
    代码如下:

    ./unshadow /etc/passwd > /root/john-1.7.8/run/passwd.txt

      eg: 如果是root用户可以直接cat /etc/shadow > /root/john-1.7.8/run/passwd.txt
      
    2 第一步用Single Crack 模式破解

    复制代码
    代码如下:

    Single Crack
     
      专门针对使用账号做密码的人,他会尝试用户名的变体,在john.conf中的[List.Rules:Single]中定义规则

    复制代码
    代码如下:

    ./john --single passwd.txt

      如果破解成功则可以查看jhon.pot,或者使用:

    复制代码
    代码如下:

    ./jhon --show passwd.txt 查看密码和用户

      
    3 第二步用Wordlist Mode模式破解
      Wordlist Mode是一种比较简单的模式,只要确定字典档在哪里即可,在jhon.conf配置文件中有默认的字典档‘Wordlist = $JOHN/password.lst’ 即run目录下的password.lst文件,Wordlist Mode规则在jhon.conf中的[List.Rules:Wordlist]模块定义,在[List.Rules:Wordlist]下面还有一个[List.Rules:NT]模块是定义有关rules的变体规则。

    复制代码
    代码如下:

    ./jhon --wordlist=password.lst passwd.txt

      或者

    复制代码
    代码如下:

    ./jhon --wordlist=password.lst --rules passwd.txt

      
    4 第四步用Incremental Mode破解
      Incremental 是功能最强的模式,他会穷举所有的组合,然后作为密码来破解,非常耗时,在配置文件中有[Incremental:All],[Incremental:Alpha],[Incremental:Digits],[Incremental:Alnum],[Incremental:LanMan]等模块。每个模块名在run下都有对应的date文件。

    复制代码
    代码如下:

    ./jhon --incremental=All passwd.txt

      
    5 第五步用External Mode破解
      External 让使用者可以自己编写C语言的破解模式,在jhon.conf中已经自带了一些破解模式程式。
      
      
    参数解释
    --stdout             输出结果到屏幕
    --restore            从上次解密中断的地方继续执行,ctrl+c 中断执行,当前的状态会被存放在一个名为restore的文档内,使用--restore可以从restore内读取上次中断的位置,然后继续破解下去
    --session            设定当前记录档的名称
    --make-charset        字元频率表,他会以破解出来的密码为基础来产生字元频率表,可用于Incremental模式
    --show               显示已经破解密码,因为john.POT并不存储账号信息,使用show的时候应该输入相关的passwd文件
    --test               测试机器执行各种类型密码的破解速度
    --users               只破解某个账号的密码,可以是用户名或者UID号码,前面加‘-’表示不破解相关用户密码
    --groups              只破解某个组内的用户密码,前面加上‘-’表示不破解某个组内用户的密码
    --shells               之破解使用某种类型shell的用户,前面加上‘-’表示不破解
    --salts                只破解salts大于count的密码,salts是unix用来作为密码编码的基础单位
    --format                预定义密码破解的类型 DES/BSDI/MD5/BF/AFS/LM/

    上一篇:Linux系统下Vim的多窗口使用技巧
    下一篇:在Linux系统下用parted命令管理GPT分区的教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    使用John the ripper工具来尝试破解Linux密码 使用,John,the,ripper,工具,