python程序unix密码破解
# 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密码破解的更多相关文章
- python写unix口令破解器
看了python绝技做出来的unix口令破解器 首先需要crypt. python并不自带!! windows下pip安装失败= = 后来直接去kali敲了 附件:jiami.txt #假设是unix ...
- unix 密码破解,zip破解总结
unix /etc/passwd 破解,假设的前两位是salt import crypt #数据比较 def password_crak(pass_word): salt = pass_word[0: ...
- 用Python写一个zip文件的密码破解程序
最近在读<python绝技:运用python成为顶级黑客>一书,文中有如何运用Python中zipfile自带的方法破解zip文件.短短的十几行代码就将一个程序实现了.下面给出书中所用的代 ...
- Python 黑客 --- 001 UNIX口令破解机
Python 黑客 实战:UNIX口令破解机 使用的系统:Ubuntu 14.04 LTS Python语言版本:Python 2.7.10 V crypt 库是Python内置的库.在UNIX系统使 ...
- 【Python】zip文件密码破解
掌握基础语法后,尝试使用python的zipfile模块练手. zipfile是Python里用来做zip格式编码的压缩和解压缩的. 这里将大体的思路分解成四段代码,逐一完善功能: 第一段代码:解压z ...
- 不同的类UNIX操作系统密码破解方法介绍
(一)Linux 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel那行 /init 1 (或/single) 3.按B重启 4.进入后执行下列命令 root@#passwd ...
- Python实现云服务器防止暴力密码破解
云服务器防止暴力密码破解 云服务器暴露在公网上,每天都有大量的暴力密码破解,更换端口,无济于事,该脚本监控安全日志,获取暴力破解的对方ip,加入hosts黑名单 路径说明 描述 路径 登录安全日志 / ...
- 最详细Python批量字典暴力破解zip密码
工具破解 前两天在网上下来了一波项目案例,结果全是加密的压缩包,于是去网上找了一个压缩包破解的工具 苦于工具破解太慢,一个压缩包要好久,解压了三个之后就放弃了,准备另寻他法 密码字典 巧的是破解的三个 ...
- Linux各版本的本地root密码破解方法
(一)RedHat/CentOS/Fedora 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel 那行最后加上S (或者Single) 3.按B,启动到single-user ...
随机推荐
- 13、Linux基础--grep、sed、awk三剑客综合运用
考试 1.找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 [root@localhost ~]# grep -E '^[sS]' /proc/meminfo [root@l ...
- 探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器?
探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器? 探针配置失误,线上容器应用异常死锁后,kubernetes集群未及时响应自愈重启容器? 线上多个服务应用陷入了死 ...
- 实体类分层命名PO,VO,BO,DTO,POJO,DAO,DO
一.Java中PO.DO.TO.DTO. VO. BO.POJO .DAO的概念 PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录 ...
- Linux下/目录 、/home目录 、~目录的区别
/ :根目录 ,所有目录的最顶层目录,从任何用户执行该命令都会进入同一个目录,即所有用户共享.如下图: /home:/下面的home目录,名为家目录,但是很多人叫为用户列表目录,因为/home下是这台 ...
- 巧用阿里云同步k8s.gcr镜像
问题 谷歌云镜像仓库:k8s.gcr.io 镜像拉取不下来 阿里云操作配置 注册阿里云账号:点击注册 右上角点击"控制台" 点击左上角 选择"容器镜像服务" 第 ...
- iOS桌面小插件 Widget Extension
iOS桌面小插件 Widget Extension 这个插件时iOS14以后才出现的,基于SwiftUI 旧项目新建时可能一堆错误,其中一个时要把插件target 开发sdk版本设置为14.0以上 新 ...
- 解决Js中的resize事件执行两次的方法
问题: 页面自适应的时候需要用到js的resize事件,但在执行过程中发现只要触发resize事件就会执行2次 原生js: window.onresize = function(){ console. ...
- 2022java蓝桥杯算法训练
1.印章: 代码: 1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] arg ...
- JZ-056-删除链表中重复的结点
删除链表中重复的结点 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4-> ...
- JZ-029-最小的 K 个数
标题 最小的 K 个数 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4. 题目链接: 最小的 K 个数 代码 import ja ...