这篇文章主要介绍了使用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/

使用John the ripper工具来尝试破解Linux密码的更多相关文章

  1. 方便john破解linux密码批处理

    Title:方便john破解linux密码批处理 -- 2011-11-23 17:31 自定义文件HASH名和字典名批处理(单一文件): @echo offcolor 0asetlocal enab ...

  2. 使用单用户模式破解Linux密码

    使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击 ...

  3. Python 破解Linux密码

    简介:因为Linux的密码都是加密过的(例如:$6$X.0bBN3w$NfM7YYHevVfCnZAVruItAEydaMJCF.muefZsxsgLK5DQoahW8Pqs1BSmoAFfi5J/b ...

  4. 利用 John the Ripper 破解用户登录密码

    一.什么是 John the Ripper ? 看到这个标题,想必大家都很好奇,John the Ripper 是个什么东西呢?如果直译其名字的话就是: John 的撕裂者(工具). 相比大家都会觉得 ...

  5. 12.持久性后门----Ettercap之ARP中毒----RAR/ZIP & linux密码破解----kali上检测rootkits

    持久性后门 生成PHP shell weevely generate 密码 /root/Desktop/404.php 靶机IP/404.php weevely http://192.168.1.10 ...

  6. 密码破解工具John the Ripper使用说明

    John the Ripper John 包描述 John the Ripper 既功能丰富又运行快速. 它在一个程序中结合了几种破解模式,并且可以根据您的特定需求进行全面地配置(你甚至可以使用支持C ...

  7. John the Ripper快速密码破解工具简单使用

    在某场比赛中师傅们说需要用到该工具,学习之 题目给了我们一个流量包,分析 发现 .hint.php.swp文件 该文件是使用 vim 编辑文件时异常退出而产生的,可以通过 vim -r 文件名 进行相 ...

  8. John the Ripper破解密码

    目录 John the Ripper 破解Linux系统密码 破解Windows系统密码 John the Ripper John the Ripper是一个快速的密码破解工具,用于在已知密文的情况下 ...

  9. John the ripper使用教程

    破解Linux的用户密码:John [跨平台的密码解密工具] root@only:~# unshadow /etc/passwd /etc/shadow > ~/file_to_crack ro ...

随机推荐

  1. 2、手把手教React Native实战之从React到RN

    ###React简介 RN是基于React设计,了解React有助于我们开发RN应用: React希望将功能分解化,让开发变得像搭积木一样,快速而且可维护 React主要有如下3个特点: *作为UI( ...

  2. style标签进行实时编辑及修改css(转)

    心得: style也是一个标签,那么也可以使用css对其进行编辑 html5新属性 contenteditable,可以让标签元素处于可编辑状态,对于style标签也适用 为了不影响head标签里的s ...

  3. 一起talk C栗子吧(第一百二十七回:C语言实例--查看main函数的參数)

    各位看官们,大家好,上一回中咱们说的是static关键字的样例,这一回咱们说的样例是:查看main函数的參数.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们.我们在第五十七回中介绍过mai ...

  4. android--WaveView(波浪形View) 的实现记录

    背景 请假回家当伴郎,由于实在无聊,就写下了此篇博客!!按照惯例,先上动态图 怎么样!效果比较赞吧!!! 思路 当我第一次看见这个效果的时候,我的第一个想法是:如果是静态的时候是什么样子的!好,再来张 ...

  5. django 之 常用命令

    Django 基本命令 本节主要是为了让您了解一些django最基本的命令,请尝试着记住它们,并且多多练习下 1. 新建一个 django project django-admin.py startp ...

  6. C/C++求职宝典重点笔记

    这是我之前准备找工作时看<C/C++求职宝典>一书做的笔记,都是一些笔试面试中常考的重点难点问题,但比较基础,适合初学者看. 1. char c = '\72'; 中的\72代表一个字符, ...

  7. Kotlin教程——史上最全面、最详细的学习教程,持续更新中....

    关于这个系列教程,我是从最基础的开发环境搭建到项目进阶到后面的项目开发这个过程来写的.我一直秉承从实际项目开发以及源码解析的角度去写好这个教程,并让从未接触过编程的朋友能学好kotlin这门语言.所以 ...

  8. 【BZOJ4584】[Apio2016]赛艇 DP

    [BZOJ4584][Apio2016]赛艇 Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着个划艇学校,编号依次为到.每个学校都拥有若干艘划艇.同一所学校的所 ...

  9. Sublime text找不到.so文件

    在使用Sublime text打开一个android项目的时候,你会发现找不到.so文件. 解决方法: 点击Sublime text的Preferences,然后点击Settings,这时候出现设置的 ...

  10. Twitter的RPC框架Finagle简介

    Twitter的RPC框架Finagle简介 http://www.infoq.com/cn/news/2014/05/twitter-finagle-intro