hash密码破解神器--John
John the Ripper是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。除了在各种Unix系统上最常见的几种密码哈希类型之外,它还支持Windows LM散列,以及社区增强版本中的许多其他哈希和密码。它是一款开源软件。
Kali自带john,无需安装。
先说工具使用:
liunx hash破解:
使用unshdow将/etc/passwd和/etc/shadow组合成一个新文件。
unshadow /etc/passwd /etc/shadow > test_passwd
接下来就是破解工作了,这里我们使用默认字典进行爆破,默认字典路径为/usr/share/john/
默认字典爆破john test_passwd
其他字典爆破john --wordlist=路径 test_password
默认命令爆破时,会按照内置顺序进行爆破,密码位数越长,比对hash越长,同理如果可以知道密码的范围,位数等信息,可以相应的减少爆破的时间,文后附加范围。
爆破结束后,显示用户密码,也可以用--show查看。
john --show test_passwd
Windows 密码破解:
首先,执行以下命令通过reg的save选项将注册表中的SAM、System文件导出到本地磁盘,需要管理员权限。
reg save hklm\sam sam.hive
reg save hklm\system system.hive
随后samdump2命令将两个文件提取到hash.txt中,system和sam文件顺序不能错,错了最终结果会报错。
samdump2 system.hive sam.hive > hash.txt
使用john进行破解
john --format=NT hash.txt
john其他操作
具体的其他选项可通过john --help查看,这列举常用的几个:
1. --single 简单破解模式,也是默认的执行模式,就是根据用户和家目录名进行一些简单的变形猜解
2.--incremental 逐个遍历模式[其实跟hashcat的increment模式是一样的],直到尝试完所有可能的组合
3.--wordlist 纯字典模式,后面跟上字典的路径即可
4.--show 显示已经破解出来的hash及所对应的明文密码
5.--users 只破解指定用户的hash,可以是用户名或者对应的uid
6.--groups 只破解指定用户组的hash,可以是组名或者对应的gid
7.--shells 只破解指定shell的hash,可以用逗号分隔多个shell程序