安装和利用john破解linux密码

简介:

 作者:Komy

1. #cd /tmp

#wget http://www.openwall.com/john/g/john-1.7.4.2.tar.gz

#tar -zxvf john-1.7.4.2.tar.gz

# cd  john-1.7.4.2
# cd src
#make linux-x86-any-a.out

或者使用sudo apt-get install john

2:unshadow /etc/passwd /etc/shadow >passwd.txt (注意只有root才能执行unshadow,
因为只有root才能读取/etc/shadow。)
3:chmod 600 passwd.txt
4: john passwd.txt

此外,如果已经破解成功,则可以查看john.pot来查看。这个john.pot档案还有另一个功能, 就是让 John 不要重覆跑你已经破解过的帐号, 如果你使用 John 再跑一次曾经跑过的密码档, 相同的帐号不会再跑过一次, 而是直接显示出你曾经跑出的密码。如果你想要看你已经破解过的密码, 你可以使用 ‘-show’ 这个功能.在破解的时候, 你可以按下 Enter 来观看目前破解的状态,或是按下 Ctrl+C 来中断目前的破解工作, 这样程式会自动将目前破解到的位置, 储存在一个档案之中~/restore为内定的档名), 另外, 如果你是按了两下 Ctrl+C 来中断的话, John 就会直接中断而不会将目前破解进度储存了. 这个破解进度档每十分钟也会自动的储存, 以必免你的机器在破解中当机而功亏一溃. (这是个不错的设计, 当然 Jack 里也有这项功能)命令列的功能选项。一般来说密码要么是很简单的,要么很复杂。

#john -show passwd.txt

#john -show -users:yujs passwd.txt
获得指定用户的密码。
John the Ripper的四种破解模式

 

「字典档」破解模式(Wordlist Mode)
这在John所支援的破解模式中是最简单的一种,你要做的唯一工作就是告诉John字典档在哪(字典档就是文字档,内容每行一个单字代表试验的密码),好 让它可以取出破解。在「字典档」破解模式里可以使用「字词变化」功能,来让这些规则自动的套用在每个读入的单字中,以增加破解的机率。

「简单」破解模式(Single Crack)
「简单」破解模式是专门针对「使用帐号当作密码」的懒人所设计的;所谓「使用帐号当作密码」的意思是,如果一个使用者帐号是「john」,它的密码也取为 「john」。在「简单」破解模式里john会拿密码档内的「帐号」栏位等相关资讯来破解密码,并且使用多种「字词变化」的规则套用到的「帐号」内,以增 加破解的机率。如帐号「john」,它会尝试用「john」、「john0」、「njoh」、「j0hn」….等规则变化来尝试密码的可能性。

「增强」破解模式(Incremental Mode)
这是John里面功能最强大的破解模式,它会自动尝试所有可能的字元组合,然后当作密码来破解。这个破解模式所需要的时间非常冗长,因为要尝试组合字元是 非常耗费时间的,所以John才会定义一些「字元频率表」(character frequencytables)来帮助破解。简言之这个破解方法就是「暴力法」,把所有可能的密码组合都测试一次,来得到正确的结果。

「外挂模组」破解模式(External Mode)
这个破解模式是让使用者可以自己用C语言写一些「破解模组程式」,然后挂在John里面来使用。其实所谓的「破解模组程式」就是一些用C语言设计好的副函 示,然后它的功能就是产生出一些单字来让John尝试破解。而

在执行John程式时,它在载入这些「破解模组程式」时会自动编译这些C语言副函示然后来使用。 (真伟大,光这点就让笔者佩服五体投地)

John the Ripper命令列参数说明

【命令列指令】

john [-命令列参数] [密码档档名]

【命令列参数】

参数:-single
说明:使用「简单」(Single Crack)破解模式解密,主要是根据使用者的「帐号」产生变化来猜测解密,其变化规则记录在JOHN.INI档案的 [List.Rules:Single]区域内。 (稍后会再介绍)

范例:john -single passwd

参数:-wordfile:[字典档档名] -stdin

说明:使用「字典档」破解模式解密,由字典档内读取单字来破解;或是可以加上-stdin参数,代表由键盘输入单字来破解。

范例:john -wordfile:bigdict.dic passwd

参数:-rules
说明:在「字典档」破解模式下,开启字词规则变化功能,如「字典档」读入单字cook,则开启字词变化下,程式可能会尝试cook、c00k、 cooker、cook0…等其它字词。详细变化规则记录在JOHN.INI档案的[List.Rules:Wordlist]区域内。(稍后会再介绍)

范例:john -wordfile:bigdict.dic -rules passw

参数:-incremental[:模式名称](参数也可以简写成-i[:模式名称])
说明:使用「增强」破解模式解密,就是组合所有可能的字元当作密码来破解。在JOHN.INI档案内的[Incremental:*****]区域里定义 好许多的模式名称,可以指定使用哪一个模式来破解。 (稍后会再介绍)

范例:john -i:all passwd

参数:-external:[模组名称]
说明:使用「外挂模组」破解模式解密,使用者可以自己撰写额外的「破解模组程式」。 「破解模组程式」是记录在JOHN.INI档案内的[List.External:******]区域内。

范例:john -external:double passwd

参数:-stdout[:LENGTH]
说明:这个选项跟破解没有任何关系,只是单纯显示John所产生出来的单字到萤幕上。

范例:john –i:all –stdout

参数:-restore[:回复档案名称]
说明:继续上次中断的解密工作。 John在执行破解密码工作时,可以按下<CTRLC>键中断工作,而当前的解密进度情形会被存放在一个名为「restore」的档案内。而使用 「-restore」参数,可以从「restore」档案内读取上一次破解时候中断的位置,然后接下去继续破解。

范例:john –restore

参数:-session[:记录档档名]
说明:这个选项是让你设定目前工作记录档(session file)的档名。所谓的工作记录档就是可以用「-restore」参数回复工作的档案。另外,在使用John做多工破解工作时,使用 「-session」参数可以为每个工作设定各别的记录档,而不会混在一起。

范例:john –wordfile:bigdict.dic –session:work1 passwd

参数:-status[:记录档档名]
说明:显示工作记录档里面所记录的工作状态。

范例:john –status:restore

参数:-makechars:[档名]
说明:制作「字元频率表」。这个选项会以目前已破解出的密码为基础,来产生「字元频率表」(注:John会把已破解出的密码记录在JOHN.POT档案 内,)。如果所指定档名的档案已经存在的话,会被覆写。此选项产生出来的档案,可以用在「增强」破解模式上。

范例:john –makechars:ownchars

参数:-show
说明:显示目前已经破解出的密码。因为JOHN.POT档案内并不储存「帐号」资料,所以使用时你应该同时输入相对应的密码档。

范例:john –show passwd

参数:-test
说明:测试目前机器执行John各类型密码破解时的速度。

范例:john –test

参数:-users:[-]LOGIN|UID [,..]
说明:只破解某个「帐号」的密码,如只针对root或拥有root权利UID=0的使用者。 (若在LOGIN|UID名称前加上“-”符号则是相反,表示不要破解这个「帐号」的密码)

范例:john –i:all –users:root passwd

参数:-groups:[-]UID[,..]
说明:只破解某个「群组」内用户的密码。 (若在UID名称前加上“-”符号则是相反,表示不要破解这个「群组」内用户的密码)
范例:john –i:all –groups:100
参数:-shells:[-]SHELL [,..]
说明:和上面两个参数一样,这个选项是只针对所有可以使用shell的用户进行破解密码工作,对其它用户不予理会。(若在SHELL名称前加上“-”符号 则是相反,表示不要破解可以使用这个SHELL的用户的密码)。指定SHELL时,你可以省略绝对路径,如参数「-shells:csh」就会包含 「/bin/csh」或「/usr/bin/csh」等路径,但如果你指定的是「-shells:/bin/csh」则只会包含「/bin/csh」这个 SHELL名称。

范例:john –i:all –shells:csh passwd

参数:-salts:[-]COUNT
说明:只破解「salts」大于「COUNT」的帐号的密码,可以使你得到较佳破解速度(所谓「salts」是指UNIX拿来作为「密码」编码基础的单 位)。举例来说,你可以先只破解某部分用户的密码「-salts:2」来获得较佳的速度,然后有时间时才破解剩余用户的密码「-salts:-2」。

范例:john –i:all –salts:2 passwd

参数:-format:NAME与-savemem:LEVEL
说明:这两个参数是有关John内部运作的设定,跟破解本身没有直接关系,所以省略不介绍。

其他参考:http://hi.baidu.com/deathshadow/blog/item/4103343f38cb00c77d1e7195.html

收集字典:

E:\tools\john>dir *.pot
驱动器 E 中的卷没有标签。
卷的序列号是 5C03-8E69

E:\tools\john 的目录

2010-07-13  12:54    <DIR>          .
2010-07-13  12:54    <DIR>          ..
2010-07-13  01:44       415,235,507 john.pot
1 个文件    415,235,507 字节
2 个目录 43,195,133,952 可用字节


















本文转sinojelly51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/354048,如需转载请自行联系原作者

相关文章
|
13天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
25天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
26天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
32 3
|
9天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
66 0
|
15天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
29 0
|
11月前
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
108 0
|
安全 Linux 数据安全/隐私保护
Linux 忘记密码解决方法
Linux 忘记密码解决方法
103 1
|
安全 Linux 数据安全/隐私保护
Linux root用户忘记密码解决方法
Linux root用户忘记密码解决方法
1721 0
|
Linux 数据安全/隐私保护 Windows
Linux 忘记密码解决方法
很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。
122 0
|
Linux 数据安全/隐私保护 安全