Python 破解Linux密码

时间:2022-08-02 08:05:45

  简介:因为Linux的密码都是加密过的(例如:$6$X.0bBN3w$NfM7YYHevVfCnZAVruItAEydaMJCF.muefZsxsgLK5DQoahW8Pqs1BSmoAFfi5J/blvlobrSmFtNQFsYMyIIh1),现在我们把这段密码的密文拿出来解密,就可以得到明文的密码啦~

  说明:wordlist.TXT  是事先准备的密码字典,test.txt 文件内容是复制了Linux中shadow文件中的一条信息拿来做实验的,内容如下:

Python 破解Linux密码

下面的代码我是在Linux下执行的,因为Linux中有crypt模块,用起来方便

 import crypt   #导入加密模块
with open(r'/tmp/text.txt','r') as f: #将text.txt文件内容中的密码部分读取出来、并把加密盐值取出来
a=f.read();
uplist=a.split(":")
username=uplist[0]
userpass=uplist[1]
saltlist=userpass.split("$")
saltnum="$"+saltlist[1]+'$'+saltlist[2]
#print(saltnum) with open (r'/tmp/wordlist.TXT','r') as f: #wordlist.TXT是密码字典
while True:
passwd=f.readline().rstrip() #按行读取字典并且去除空白部分
#print(passwd)
if passwd == "": #读完字典后跳出while循环
break;
jiami=crypt.crypt(passwd,saltnum) #加密字典中的密码与密文密码进行匹配
#print(jiami)
if jiami == userpass: #当找到密码后输出并跳出while循环
print(username,passwd)
break;

结果如下:

root 123456