如何检测用户是否存在弱口令的现象?

本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

一名致力于在技术道路上的终身学习者、实践者、分享者,一位忙起来又偶尔偷懒的原创博主,一个偶尔无聊又偶尔幽默的少年。

欢迎各位掘友们微信搜索「杰哥的IT之旅」关注!

原文链接:如何检测用户是否存在弱口令的现象?

前言

在现互联网环境下,工作中避免不了会考虑服务器的安全问题,那么对于简单的口令来说,则是服务器所面临的最大风险。即便大家都会有这方面的安全意识,设置一个符合长度且复杂性的口令会更加安全,但总是会有一些用户因贪图方便而采用简单且易记的口令。

那么对于任何一个承担着安全责任的管理员来说,通过某种手段来更高效的找出那些弱口令用户是非常重要的,就是今天我所推荐的弱口令检测工具——John the Ripper。

一、什么是 John the Ripper ?

John the Ripper 是一款免费开源的密码破解工具,能够在已知密文的情况下快速破解出明文的破解密码字符,支持目前大多数的加密算法,如DES、MD4、MD5等多种加密算法。而且允许使用密码字典以及包含各种密码组合的列表文件来进行暴力破解。

支持多种不同类型的系统架构,包括 Unix、Linux、Windows 等多种版本;其主要目的是破解不够牢固的 Unix / Linux 系统用户的密码强度;

二、下载并安装 John the Ripper

系统版本:Centos 6.5

软件版本:john-1.8.0.tar.gz

图片

www.openwall.com/john/

下载后的软件包文件,上传到服务端上进行解压,解压后的文件有三个目录。分别包括:

  • doc:手册文档
  • run:运行程序
  • src:源码文件

除此之外,还有一个说明文件:README 的链接,其中在 doc 目录下包括:README、INSTALL、EXAMPLES 等多个文档,并且提供了比较全面的使用指导相关文档说明。

# tar zxf john-1.8.0.tar.gz
# cd john-1.8.0
# ls -ld *
drwxr-xr-x. 2 root root 4096 6月 7 13:36 doc
lrwxrwxrwx. 1 root root 10 6月 7 13:36 README -> doc/README
drwxr-xr-x. 2 root root 4096 6月 7 13:36 run
drwxr-xr-x. 2 root root 4096 6月 7 13:36 src
# ls doc/
CHANGES CONFIG CONTACT COPYING CREDITS EXAMPLES EXTERNAL FAQ INSTALL LICENSE MODES OPTIONS README RULES
复制代码

切换到 src/ 目录下执行 “make clean linux-x86-64” 命令,即可进行执行编译过程,不需要特别的安装操作,若只执行 make 命令,将列出可用的编译操作、支持的系统类型。编译完成后,run 子目录下会生成 john 的可执行程序以及相关的配置文件等;

# cd src/
# make clean linux-x86-64
......//省略编译信息
# ls ../run/john //确认已生成可执行程序 john
../run/john
复制代码

三、创建用户并设置密码

使用命令:useradd 用户名来创建用户并设置相应的密码来进行验证;

# useradd jacktian
# passwd jacktian
# useradd zhangsan
# passwd zhangsan
# useradd lisi
# passwd lisi
复制代码

四、检测弱口令账号

在已安装的 John the Ripper 服务器中,可直接对 /etc/shadow 文件进行检测。对于其他服务器来说,可对 shadow 文件进行复制,并传递给 john 程序进行检测。只需执行 run 目录下的 john 程序,将待检测的 shadow 文件作为命令行参数即可检测弱口令。

执行中,会将检测出来的弱口令密码进行输出在终端上。如下

  • 第一列:密码字符串
  • 第二列:括号内为相应的用户名

john 将针对常见的弱口令设置特点,尝试破解已识别的所有密文字串,如在检测弱口令的过程中,时间过长,则可以按 Ctrl+C 快捷键来进行终止后续检测;

# cp /etc/shadow /root/shadow.txt    //准备待破解的密码文件
# ./john /root/shadow.txt        //执行暴力破解
Loaded 4 password hashes with 4 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
lisi555 (lisi)
zhangsan123 (zhangsan)
123456 (jacktian)
...... //检测完毕后,按快捷键:Ctrl+C 来终止后续过程
复制代码

破解后的信息将自动保存到 john.pot 文件中;

可使用命令:./john –show /root/shadow.txt 进行查看;

# ./john --show /root/shadow.txt    //查看已破解出的账户列表
jacktian:123456:16959:0:99999:7:::
zhangsan:zhangsan123:16959:0:99999:7:::
lisi:lisi555:16959:0:99999:7:::

3 password hashes cracked, 1 left
复制代码

五、使用密码字典文件

John the Ripper 默认提供的字典文件为:password.list,列出了 3000 多个常见的弱口令,用户可以在字典文件中添加更多的密码组合或直接使用更完整的其他字典文件。

执行 john 程序时,可结合 “–wordlist=” 选项指定字典文件的位置,便于对指定的密码文件进行暴力检测。

# :> john.pot
# ./john --wordlist=./password.lst /root/shadow.txt
Loaded 4 password hashes with 4 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
123456 (jacktian)
1g 0:00:00:45 100% 0.02185g/s 77.50p/s 234.6c/s 234.6C/s !@#$%..sss
Use the "--show" option to display all of the cracked passwords reliably
Session completed
复制代码

通过以上结果可以看出,字典文件中的密码组合还是较少的,仅破解出一个账号的口令。

推荐阅读


原创不易,如果你觉得这篇文章对你有点用的话,麻烦你为本文点个赞、评论或转发一下,因为这将是我输出更多优质文章的动力,感谢!

对了,掘友们记得给我点个免费的关注哟!防止你迷路下次就找不到我了。

我们下期再见!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享