John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。
John the ripper是一款基于字典的免费的密码破解工具。简单来说就是进行暴力密码破解,这种密码破解方式,耗费时间长、耗费处理器资源多。尝试的密码越多,所需的时间就越长。
起初,John the ripper是运行在Linux类平台上,现在可以运行在不同平台上。在安全服务项目中,主要采用了windows和linux下两个版本的工具。在进行实际测试中发现,windows下支持的密码HASH算法不是特别全面,后期采用Linux版本的John the ripper。
密码文件介绍
John the ripper在安全服务项目中,主要用来测试Linux操作系统密码、AIX操作系统的密码。存放这个密码加密的文件分别是:/etc/shadow这个文件和/etc/security/passwd这个文件。
John 支援了以下几种的破解方式:
- 有规则及不规则的字典档破解模式;
- "Single Crack", 用最简单的资讯来进行破解的工作, 速度最快;
- 增强破解模式(我们称暴力法), 尝试所有可能的字元组合;
- 外部破解模式, 让你可以定义你的破解模式。
收集常用密码字典
在密码破解过程中,还有一个很重要的方面,在于进行密码的收集。密码字典的数量一定程度上决定了,是否可以正确的破解出密码口令。在安全服务过程中,主要将如下密码进行了收集:
- 扫描器自带的默认密码;
- 客户提供的带有部分行业特征的用户密码;
- 前期主管机构检查时发现的密码;
- 安全服务过程中,渗透测试发现的Web帐号的密码;
- 根据客户需求,定制了部分密码字典。
定制行业密码字典
根据客户的需求,在密码字典方面,与客户商量,根据客户现网主机的用户名生成一份密码字典。根据一定规则生成一份密码字典。后续可以根据部分需求,增加密码规则来完善密码字典,主要规则包括添加123、1234、abc、abcd等等。
所以在学会破解密码的方法时,收集密码字典也一样十分重要。提前收集密码字典会对你的爆破减少相当大的时间投入。