如何安全设定和检测你的密码安全性?(下)

日期: 2012-03-22 作者:羽扇纶巾 来源:TechTarget中国

本文接续:《如何安全设定和检测你的密码安全性?(上)》,主要介绍如何使用密码分析工具来验证密码安全性的方法,以帮助用户安全设定自己的密码。 使用密码分析工具验证密码的安全性 除了上述密码安全设定的基本原则,用户还可以使用下面介绍的一款非常实用的密码安全分析工具——John the Ripper来验证其密码设定是否安全可靠。 John the Ripper是一个工具软件,用于在已知密文的情况下尝试破解出明文的破解密码软件。主要支持对DES、MD5两种加密方式的密文进行破解工作。

它可以工作于多种不同的机型以及多种不同的操作系统之下,目前已经测试过能够正常运行的操作系统有:Linux x86、fre……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

本文接续:《如何安全设定和检测你的密码安全性?(上)》,主要介绍如何使用密码分析工具来验证密码安全性的方法,以帮助用户安全设定自己的密码。

使用密码分析工具验证密码的安全

除了上述密码安全设定的基本原则,用户还可以使用下面介绍的一款非常实用的密码安全分析工具——John the Ripper来验证其密码设定是否安全可靠。

John the Ripper是一个工具软件,用于在已知密文的情况下尝试破解出明文的破解密码软件。主要支持对DES、MD5两种加密方式的密文进行破解工作。它可以工作于多种不同的机型以及多种不同的操作系统之下,目前已经测试过能够正常运行的操作系统有:Linux x86、freeBSD、x86、Solaris、SPARC、OSF/1 Alpha、DOS、WinNT/WinXP/Win 7系列等。

John the Ripper 1.7是目前比较好的破解密码工具,在解密过程中会自动定时存盘,用户可以强迫中断解密过程(使用Ctrl+C组合键),下次还可以从中断的地方继续进行下去(john-restore命令)。任何时候敲击键盘,用户都可以看到整个解密的进行情况,所有已经被破解的密码会被保存在当前目录下的JOHN.POT文件中,SHADOW中所有密文相同的用户会被归成一类,这样JOHN就不会进行无谓的重复劳动了。在程序的设计中,关键的密码生成的条件被放在JOHN.INI文件中,用户可以自行修改设置,不仅支持单词类型的变化,而且支持自己编写C的小程序限制密码的取值方式。

在使用该软件前,我们可以从网上http://www.openwall.com/john/下载其最新版本john-1.7.9 ,在Windows下的安装非常简单,以下主要介绍其在Linux下的安装方法。

首先下载john-1.7.9for Linux版本,它包含DOC、SRC和RUN三个目录,在SRC目录下,在x86机器上执行如下命令即可:

#make

#make clean linux-x86-any

安装好后,可以切换到RUN目录下,进行测试,如下所示:

#cd ../run

#./john –jason

安装好后,我们可以灵活使用如下几种方式来对自己的账户密码进行测试(在Windows和Linux系统上如下方法都适用,只不过命令操作方式略有不同而已):

通常情况下,许多用户的密码命名方式非常简单,比如12345、hello、world等,或者很多都是与用户名相同的密码口令,那么我们一般可以先采用简单解密方式来对系统中的密码进行简单的初步试探,如果发现能够成功破解,那么就需要对这些密码口令的强度进行加强,如下所示:

//使用简单解密方式对系统账户进行测试

#./john –single /etc/shadow

Loaded 3 password hashes with 3 different salts (FreeBSD MD5[32/32])

jason             (jason)

guesses: 1  time: 0:00:00:00 100%  c/s: 6975 trying:999991900

在上述命令中,我们发现系统存在一个jason用户,其用户名和密码均为jason,因而通过最简单的方式便能将其发现和利用,如果为黑客破解则将造成不可设想的后果,因而我们的用户应该立即根据此种情况进行口令加强。

其次,用户可以使用字典文件来对系统用户的恶密码强度进行试探和测试。人们常用hello、superman、cooler、asdfgh、123456等作为自己的密码。而-rules参数则在此基础上再加上些变化,如字典中有单词cool,则JOHN还会尝试使用cooler、CoOl、Cool等单词变化进行解密。一般视SHADOW中的用户多少及自己的字典大小、自己的机器速度,解密时间从几小时到几天不等。下面给出使用该方式进行解密的例子,假设我们已经生成了一个password.lst文件,其中包含了常用的以字典单词为依据的密码,那么我们对系统中的用户密码使用该方式进行试探破解,由于字典中保留了duango这样一个单词,因而用户jason的密码所以也被试探出来,网络管理员同样需要对该密码进行加固,比如添加适当的后缀、字母和数字等:

//使用字典解密方式对系统账户进行测试

# ./john --wordlist=password.lst /etc/shadow

Loaded 3 password hashes with 3 different salts (FreeBSD MD5 [32/32])

duango           (jason)

guesses: 1  time: 0:00:00:01 100%  c/s: 7065  trying: duango

当然,上述两种只是非常直观和简单的方法,但是如果字典足够完整和实用的话,那么就能够查出绝大多数的脆弱口令,在实践中,我们还可以综合使用如下的一些选项,来对系统密码强度进行更为充分的检查和验证:

rules:在解密过程中使用单词规则变化功能。如将尝试cool单词的其他可能,如COOLER、Cool等,详细规则可以在JOHN.INI文件中的[List.Rules:Wordlist]部分查到。

incremental[:<模式名称>]:使用遍历模式,就是组合密码的所有可能情况,同样可以在JOHN.INI文件中的[Incremental:*****]部分查到,我们在下面详细解释。

external:<模式名称>:使用自定义的扩展解密模式,用户可以在john.ini中定义自己需要的密码组合方式。JOHN也在INI文件中给出了几个示例,在INI文件的[List.External:******]中所定义的自动破解功能。

restore[:<文件名>]:继续上次的破解工作,JOHN被中断后,当前的解密进度情况被存放在RESTORE文件中,自己可以复制这个文件到一个新的文件中。如果参数后不带文件名,JOHN默认使用RESTORE文件。

通过上述软件测试,就可以确定用户的密码设定强度,如果容易为该软件破解,则需要尽快更换相应密码,从而提高密码的安全性。

作者

羽扇纶巾
羽扇纶巾

自由撰稿人。

相关推荐