主机:centos/kali
系统:linux系统
语言:Python
主要模块:crypt
字典:list.txt
字典内容:
脚本:burp.py
代码:
import crypt
passwd = '$6$pKDCUxnEw.7MW7yo$NBsVfzLwOsU0pMg0nPKu/T/La/b7ymVGhoPtVJx60/LHOdnR7y.1YUcwwb40Et.wOBtrPUc4xD1ayjl6Tzvhu.'
f = open("list.txt","r")
_pass = " "
for i in f :
a = i.strip()
_pass = crypt.crypt( a ,"$6$pKDCUxnEw.7MW7yo")
if passwd == _pass :
print(i.strip())
f.close()
结果:
分析:linux下的 /etc/shadow文件中第一个“:”后是用户的密码加密后的密文,该密文为密码使用sha512加密。
其中密文以“$”为分隔符,第3个“$”之前的字符为该密文的盐值,也就是说密文的前19位
使用crypt模块进行爆破:密码使用字典,盐值使用shadow文件中密文的盐值
crypt.crypt("密码"," 盐值")
得到的密文与shadow文件中密文对比,一致则爆破成功