python-(kali、centos7)shadow爆破练习

                     # python之(kali、centos7)shadow爆破练习

先查看kali和centos7的shadow区别

kali :

root: y y yj9T$uEgezfJhn7Ov5naU8bzZt.$9qIqkWYObaXajS5iLDA43uFhdrtt4ZfbmiZjkZFYve2:18711:0:99999:7:::

盐值从左往右,最后一个 到前面 ( 包含 到前面(包含 到前面(包含):例: y y yj9T$uEgezfJhn7Ov5naU8bzZt.

centos7:

root: 6 6 6oHnmEwk9rFW4QeaQ$txA.A8QvQ.i2.rIH5Avneati/62U1htNMtpZn2ATp3ZiFWxMS2A/qaO

盐值从左往右,第二个 之前 ( 包含 之前(包含 之前(包含) 例: 6 6 6oHnmEwk9rFW4QeaQ$

加密算法(明文+盐值)=加密的密文

解题思路

从shadow 文件中,提取密码密文。
从密码密文中,提取盐值。
从密码字典文件中,读取密码。
把读取的密码与盐值进行加密运算,得到猜测的密码密文如果猜测的密码密文与shadow 文件中的密码密文一致,说明密码猜对了。

检验是否有crypt模块

import crypt

image-20230918210002002

代码

# *调用crypt模块
import crypt
# *密码等于下面这串东西。
shadow_line ="root:$y$j9T$uEgezfJhn7Ov5naU8bzZt.$9qIqkWYObaXajS5iLDA43uFhdrtt4ZfbmiZjkZFYve2:18711:0:99999:7:::"
# *输出这串密文
print(f"[+]The shadow line is:{shadow_line}")
# *从shadow文件中,提取密码密文并输出。
crypt_text =shadow_line.split(":")[1]
print(f"[+] The crypt text is:{crypt_text}")
# *从密码密文中,提取盐值并输出
salt = crypt_text[0:crypt_text.rindex("$")]
print(f"[+] The salt is:{salt}")
# *从密码字典文件中,读取密码。
file_path  ="/home/kali/tools/wordlists/top_password.txt"
# *按照上面那个路径打开并读取文件
with open(file= file_path,mode= "r") as f:
    # *循环并一行一行的读取文件的内容。
    for line in f:
        # *去除两边空格
        password =line.strip()
        # *原地输出密码
        print(f"\r[-] Trying password: {password}", end= "")
        # *把读取的密码与盐值进行加密运算,得到猜测的密码密文。
        new_crypt_text =crypt.crypt(password, salt)
        # *如果猜测的密码密文与shadow文件中的密码密文一致,说明密码猜对了,并退出程序。
        if new_crypt_text == crypt_text:
            print(f"\n[+] PASSWORD FOUND: {password}")
            exit()
            # * 如果整个密码集合读完都没有,则输出以下字符。
    print(f"[+] PASSWORD NOT FOUND!")

image-20230918205734003
结果

image-20230918205638347

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值