• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Python脚本激活Linux密码的方法(crypt模块)

    环境 Kali Linux ,python版本2.7.13 。

    我们利用Linux系统中的 crypt 模块模拟了Linux系统中用户密码的加密,在Windows中是不存在这个库的。

    在Linux系统中,用户的密码被加密存储在了 /etc/shadow 文件中。

    如下是 /etc/shadow中root用户的字段

    root:$6$ql1UU7ZPwONL9NzX$/bz0GQ8.Ne.zqpF.L5rqPok.Zep0ypRU1X8v.Omrqnv1k6hVDzqTS1Vezencaxltk52X94eZMT/teVHI1Jwf6.:17767:0:99999:7:::

    第二个字段是密码部分的,我们把它单独拿出来

    $6$ql1UU7ZPwONL9NzX$/bz0GQ8.Ne.zqpF.L5rqPok.Zep0ypRU1X8v.Omrqnv1k6hVDzqTS1Vezencaxltk52X94eZMT/teVHI1Jwf6.

    密码部分的格式为:$id$salt$encrypted  

    在了解了shadow 文件中密码的加密方式之后,我们就可以开始编写python脚本了。

    在编写之前,我们需要准备好密码字典文件 key.txt 。只有当密码字典足够大时,才有可能破解出密码。

    然后我们将 /etc/shadow 文件复制到python脚本所在目录,修改文件名为 shadow.txt

    在编写时,我们创建两个函数:main() 和 testPass() 。main() 函数打开 shadow.txt 文件中的内容,读取其中的用户名字段和密码字段cryptPass。testPass() 函数将密码字段中的 $id$salt 提取出来赋值给 salt 。然后读取 key.txt 中的密码字段,赋值给 word 。再利用Linux系统中python的一个crypt库,将word和salt一起作为参数传进去进行加密,得到 cryptWord 。最后将cryptWord和cryptPass进行对比,如果相等,则这个word就是该用户的密码,否则不是。

    # -*- coding: utf-8 -*-
    """
    Created on Mon Oct 29 15:01:54 2018
    @author: 小谢
    """
    import crypt   ##导入Linux口令加密库
    def testPass(cryptPass):
        salt=cryptPass[cryptPass.find("$"):cryptPass.rfind("$")]  ##获得盐值,包含$id部分
        dictFile=open('key.txt','r')
        for word in dictFile.readlines():
            word=word.strip("\n")
            cryptWord=crypt.crypt(word,salt)                   ##将密码字典中的值和盐值一起加密
            if (cryptWord==cryptPass):                           ##判断加密后的数据和密码字段是否相等
                print "[+]Found Password:"+word+"\n"       ##如果相等则打印出来
                return 
        print "[-] Password Not Found.\n"
        return 
     
    def main():
        passFile=open('shadow.txt')
        for line in passFile.readlines():      ##读取文件中的所有内容
            if ":" in line:
                user=line.split(":")[0]                     ##获得用户名
                cryptPass=line.split(":")[1].strip(' ')   ##获得密码字段
                print "[*] Cracking Password for:"+user
                testPass(cryptPass)
    main()

    脚本运行截图,破解出了用户tom和用户xie的密码。 

    以上就是Python脚本激活Linux口令(crypt模块)的详细内容,更多关于python破解linux口令的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python渗透测试linux密码激活的示例
    • python获取linux和windows系统指定接口的IP地址的步骤及代码
    • 聊聊python在linux下与windows下导入模块的区别说明
    • linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
    • 在Linux下使用命令行安装Python
    上一篇:如何从Python的cmd中获得.py文件参数
    下一篇:python—sys模块之获取参数的操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Python脚本激活Linux密码的方法(crypt模块) Python,脚本,激活,Linux,密码,