为什么要去破解linux系统密码哈希?主要有以下几种场景:
1)安全白盒检测弱口令,可用使用通过破解哈希去发现是否存在弱口令,相比远程爆破锁死账号要方便和安全;
2)通过一些特殊手段获取到密码哈希,比如黑客入侵利用漏洞或木马获取到了密码哈希,通过破解密码哈希获取密码相比通过漏洞或木马去控制服务器要方便一些。
一、操作系统密码文件位置
1.linux、unix操作系统中,密码文件在/etc/passwd中。为了安全,现在的linux都提供了/etc/shadow这个影子文件,密码放在这个文件里面,并且是只有root可读的。早期或者简单系统没有使用shadow机制存储密码,密文在passwd里面。
2.AIX操作系统本地密码存在于/etc/security/passwd数据库中。
linux操作系统密码hash破解
使用johnny工具:
Johnny(撕裂者)是基于流行密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件。支持所有输入文件格式(纯hashes,pwdump,passwd,mixed),支持每种hash类型,幸运猜解功能。
功能参数如下:
二、判断linux密码的加密算法
有时候对linux和数据库密码哈希进行破解时,工具如果不能自动识别,就需要指定算法,那怎么知道密码算法呢,来看密码组成:
1)一部分其他的
2)一部分带$的
空密码=::;账号被锁=:*:;密码过期=:!!:
奇奇怪怪的字符串是以$6$开头的,表明是用SHA-加密的;$1$表明是用MD5加密;$2$是用Blowfish加密的;$5$是用SHA-加密的。
如以下:
当然也可用去版本型号在网上搜索使用的加密算法。
三、破解MD5密码hash
1)获取密码哈希运行下面命令:
cat/etc/shadow
2)把获取到的密码哈希保存到文件linux-shadow-.txt中,使用如下命令进行破解
john.exe--wordlist=C:\Users\Administrator.WIN-LQN4A54A0CP\Desktop\linux-password-.txtC:\Users\Administrator.WIN-LQN4A54A0CP\Desktop\linux-shadow-.txt
3)语句解释:
加载工具john.exe
加载密码字典linux-password-.txt
待破解的linux-shadow-.txt密码配置文件
4)破解出3个账号的密码:
四、破解SHA密码hash
1)获取密码哈希运行命令:cat/etc/shadow
可用发现里面既有$6$(sha)加密也有$1$(MD5)加密,因此需要分成2个文档做2次破解,因为破解时默认第一个hash的加密规则,第二个hash破解时还是使用第一个的规则就破不出来,所以需要分开破解。
第一个hash.txt破解得到账号root密码root
john--wordlist=password.txthash.txt
也可用使用--single方式并指定加密算法进行破解,命令如下:
john--single--format=shacrypthash.txt
第二个hash2.txt破解得到账号ylr密码ylr
john--wordlist=password.txthash2.txt
也可用使用指定加密算法破解,命令如下:
john--format=md5--wordlist=password.txthash2.txt