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

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

[email protected]:~# 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
[email protected]:~#

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

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

[email protected]:~# unshadow
Usage: unshadow PASSWORD-FILE SHADOW-FILE
[email protected]:~# 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/

时间: 2024-10-18 20:07:45

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

方便john破解linux密码批处理

Title:方便john破解linux密码批处理 -- 2011-11-23 17:31 自定义文件HASH名和字典名批处理(单一文件): @echo offcolor 0asetlocal enabledelayedexpansionTitle Cracker The Password! echo 正在备份上次破解日志文件......if EXIST john.pot (copy /y john.pot john.pot.bak && del /f john.pot) >nulif

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

使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解. 1.使用reboot指令重启Linux操作系统 2.在进入操作系统数秒时,单击Esc按键,进入如下界面 3.按字母小e进入如下编辑模式 4.选择第二个选项,然后再次单击字母小e 更改完成后,单击回车,如下图所示: 5.单击字母小b,重启操作系统,进入如下界面 在#号后面,输入passwd root(重置root管理员密码) 6.设置完成后,使用reboot指令重启操作系统,使

防止ssh暴力破解linux密码

网上看到一篇安全方面的文章,常用的网站收藏无法收藏,于是放这里先.具体功能还未测试,请慎用. 下面是博客原文转载,感谢作者辛苦劳动: 服务器在互联网中,每天都有些没事儿干的人在你的机器端口扫来扫去,让管理员非常烦恼.本文描述一个方法,利用本文介绍的脚本结合iptables服务一并使用,用来防止公网计算机通过ssh进行用户口令暴力破解.目前稳重脚本已经在其他项目的实际运营环境中得到验证. 脚本内容: #!/bin/bash # 防SSH密码暴力破解脚本 # 通过分析secure日志文件使用ipta

弱口令检测——John the Ripper

在网络环境中,过于简单的口令是服务器面临的最大风险,对于一个承担安全责任的服务器管理员来说,及时找到一些弱口令帐户是非常必要的,这样便于采取进一步安全措施(提醒帐户重设更安全的口令密码)John the Ripper 是一款开源的密码破解工具,能够在已知密文的情况下快速分析出明文的密码字串,同样也允许使用密码字典进行暴力破解.所以通过这个工具可以检测linux系统用户的密码强度首先在官方网站(http://www.openwall.com/john/)下载好源码包,以redhat6.5系统的虚拟

黑客破解网络密码的10种方法

破解网络密码—暴力穷举  密码破解技术中最基本的就是暴力破解,也叫密码穷举.如果黑客事先知道了账户号码,如邮件帐号.QQ用户帐号.网上银行账号等,而用户的密码又设置的十分简单,比如用简单的数字组合,黑客使用暴力破解工具很快就可以破解出密码来.因此用户要尽量将密码设置的复杂一些. 破解网络密码—击键记录 如果用户密码较为复杂,那么就难以使用暴力穷举的方式破解,这时黑客往往通过给用户安装木马病毒,设计“击键记录”程序,记录和监听用户的击键操作,然后通过各种方式将记录下来的用户击键内容传送给黑客,这样

十个常用破解网络密码的方法

zz:http://www.williamlong.info/archives/1264.html 个人网络密码安全是整个网络安全的一个重要环节,如果个人密码遭到黑客破解,将引起非常严重的后果,例如网络银行的存款被转账盗用,网络游戏内的装备或者财产被盗,QQ币被盗用等等,增强网民的网络安全意识是网络普及进程的一个重要环节,因此,在网民采取安全措施保护自己的网络密码之前,有必要了解一下流行的网络密码的破解方法,方能对症下药,以下是我总结的十个主要的网络密码破解方法. 1.暴力穷举 密码破解技术中最

在没有任何工具下破解开机密码

阅读目录 简单介绍 实验操作 笔者发现微软的一个漏洞,不用借助任何工具(U盘.光盘)来进行破解开机密码,可能其大神早已经发现,这里我就当是一个学习心得吧 简单介绍 本次实验对象是 win7专业版.旗舰版.家庭版操作系统(都要是ISO官方系统镜像版本,而不是gho镜像文件) 当我们在登陆界面按五次shift键的快捷方式来调用粘滞键,会弹出如下界面 实验操作 重启计算机,当计算机启动到显示"正在启动Windows"...这时候拔掉电源强制关机 再次开机就会出现以下界面 选择启动修复,等待一

在没有借助任何工具下破解开机密码

原文地址:http://www.cnblogs.com/vforbox/p/4828855.html 阅读目录 简单介绍 实验操作 笔者发现微软的一个漏洞,不用借助任何工具(U盘.光盘)来进行破解开机密码,可能其大神早已经发现,这里我就当是一个学习心得吧 简单介绍 本次实验对象是 win7专业版.旗舰版.家庭版操作系统(都要是ISO官方系统镜像版本,而不是gho镜像文件) 当我们在登陆界面按五次shift键的快捷方式来调用粘滞键,会弹出如下界面 实验操作 重启计算机,当计算机启动到显示"正在启动

教您怎样破解无线路由器密码最新教程完整版

随着网络技术的飞速发展,越来越多的路由交换设备开始抛弃使用命令行配置界面而转向图形化设置界面.然而这种转变却给入侵者带来了机会,传统命令行界面下 的攻击与入侵相对来说比较困难,因为命令行界面开放的服务与端口有限,而在图形化界面下不管是登录方式还是管理模式都与命令行界面有很大的区别.下面将来 给大家叙述无线路由器密码破解最新教程完整版. 方法/步骤 1 第一步:使用T400笔记本针对当前环境下无线网络信号进行扫描,如果周围有信号而且没有经过任何加密验证的话,我们就可以轻松连接到该网络. 2 第二步