linux密码暴力破解之SHA-512破解

pbkdf2_sha512加解密 # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------- # Author: CAO.T.F # Date: 2019/10/8 16:04 # Description: # ----------------------------------------------------------------------- 阅读详情

linux密码暴力破解

由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统密码开始采用SHA-512加密,与MD5加密相比,SHA-512加密后长度更长,也就意味着SHA-512相比MD5更加安全.

密码加密原理

在我们进行密码破解前,我们首先需要了解linux系统密码加密的原理:
1. 密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文

什么是ID?
ID用来表示加密的方法.
如下图,
1表示加密方法使用MD5,1表示加密方法使用MD5,6表示加密方法使用SHA-512

密文示例:  
$6$D0xsORq3b7GGsbYv$7L8myKFcJf1FqnvtzD.Zcbx9PeHnwGH1YJm/xDeEKmABPIxzUC7mQmEiIEHoHypXeJ969Tfp4c47WQgjkT0YH0  

$id$salt$encrypted
采用方法  盐值   加密密文  

——————————————   
ID   加密方法
1   MD5  
5   SHA-256
6   SHA-512
——————————————    

什么是盐值(salt)?
盐值就是使用随机字符码混合密码加密算法所产生的密码,作用就是即使是同一个密码,使用同一种加密方式,所产生的密文值也不同
如上面提到的密文示例:

$6$D0xsORq3b7GGsbYv  #这一段就是盐值,在加密的时候连同前面的ID一起加密  

什么是密文?
这个我就不多介绍了,同上面的密文示例

7L8myKFcJf1FqnvtzD.Zcbx9PeHnwGH1YJm/xDeEKmABPIxzUC7mQmEiIEHoHypXeJ969Tfp4c47WQgjkT0YH0  #这一段就是密文了

了解了原理,我们就可以使用工具来进行密码的暴力破解了
这里采用是利用python进行破解.

需要用到python下的 crypt 这个库,这个库下的.crypt方法可以根据猜想的密码原文和盐值来生成加密后的完整密文.

简单的讲一下思路:
1.获取到盐值
2.将获取的盐值和猜想的密码通过crypt.crypt()加密后生成的密文与系统中存储的密文进行对比,如果密文相同,则输出对应的用户和密码

环境准备:
1.python
2./root/Desktop/wordlist.TXT 存放着我们的密码字典
3./etc/shadow 存放着系统的密码

附上详细代码和注释,有不明的白的可以留言.

#!/usr/bin/env python         #指定这是一个python文件,使用这个解释器执行   
#-*- coding:utf-8 -*-         #设定编码格式,防止报错
import crypt                  #调用crypt这个库

user_passfile = "/etc/shadow"   #获取系统密码路径
zidian = "/root/Desktop/wordlist.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)

C# SHA512和Base64加解密方法 /// <summary> /// Get SHA512 Hash From String /// </summary> /// <param name="originalData"></param> /// <returns></... 阅读详情

相关推荐

从防御者视角看SHA-512:你的Linux密码真的安全吗?聊聊加盐、哈希与暴力破解的攻防实战

本文从防御者视角深入探讨了SHA-512在Linux密码安全中的应用,详细解析了加盐哈希机制如何抵御暴力破解攻击。通过分析shadow文件结构、模拟破解过程及提供加固措施,揭示了密码安全的关键要素,并推荐了多因素认证等现代安全方案。

weixin_30271335的博客 657

linux 密码文件 /etc/shadow,SHA512 破解

{用户名}:{加密后的口令密码}:{口令最后修改时间距原点(1970-1-1)的天数}:{口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令):{口令最大修改间隔}:{口令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}所有伪用户的密码都是 “!” 或 “*”,代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 “!注意,这串密码产生的乱码不能手工修改,如果手工修改,系统将无法识别密码,导致密码失效。比较复杂的密码,进行破解花费的时间会长一些。

自我---追梦的博客 1万+

从“盐值”到“彩虹表”:深入理解Linux SHA-512密码存储如何对抗暴力破解

本文深入解析Linux系统如何通过SHA-512加盐存储机制有效抵御暴力破解和彩虹表攻击。从密码存储的演变历程到现代SHA-512算法的优势,详细介绍了盐值的作用、多轮迭代的安全价值,以及暴力破解的经济学分析,为系统管理员提供全面的密码安全策略建议。

weixin_28717431的博客 335

linux下SHA-512加密及暴力破解

文章目录1 密文解析2 手动生成密文3 暴力破解 SHA-512 加密密码 在 /etc/shadow 文件中我们可以看到如下行 lilei:$6$zvt9aWzy$aoZDNPL0.mXFfsJczn.9gZtHZwmFTAFIbe4qHZd48zeB1mIka7jOsrmGvGMBV8LUV.iUdr6bk0hQZyGSOPiTy/:18420:0:99999:7::: 文件中每行代表一个用户,使用 “:” 分隔,每行的用户信息有 9 个字段,格式如下: 用户名:加密密码:最后一次修改时间:最小修改时

桑凯旋的博客 1万+

Linux系统下SHA-512密码的生成机制与安全攻防实战

本文深入解析Linux系统下SHA-512密码的生成机制与安全防护策略,涵盖密码存储原理、手动生成密文方法及防御暴力破解的最佳实践。通过实战案例展示如何利用随机盐值和多次哈希迭代增强安全性,并探讨高级防护方案如Argon2算法和多因素认证,为系统管理员提供全面的安全加固指南。

weixin_30256901的博客 553

从《流浪地球2》MOSS破解密码聊起:手把手教你用John the Ripper破解Linux shadow文件

本文从《流浪地球2》MOSS破解密码的情节出发,详细介绍了如何使用John the Ripper工具破解Linux shadow文件,并解析了Linux密码存储机制。通过实战演练和防御策略,帮助读者理解密码安全的重要性及合法合规的密码破解方法。

weixin_33725270的博客 421

linux密码暴力破解之SHA-512破解(转载)

linux密码暴力破解之SHA-512破解 由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x版本开始,系统密码开始采用SHA-512加密,与MD5加密相比,SHA-512加密后长度更长,也就意味着SHA-512相比MD5更加安全. 密码加密原理 在我们进行密码破解前,我们首先需要了解linux系统密码加密的原理:密文由3部分组成,以”$”分隔,第一部分为ID,第二部分为盐值,第三部分为加密密文 什么是ID? ID用来表示加密

tempulcc的博客 6538

Linux密码安全:从盐值到彩虹表攻击的防御机制详解

密码存储与验证是计算机安全领域的核心基础。其原理是将用户密码通过单向哈希函数转换为固定长度的密文,确保即使数据泄露也无法直接还原原始密码。这项技术的核心价值在于实现身份认证的同时保护用户凭证的机密性,广泛应用于操作系统登录、数据库存储和网络服务认证等场景。为了应对彩虹表等预计算攻击,现代系统引入了盐值机制,通过在哈希前为每个密码添加随机字符串,使得相同密码产生不同的哈希结果,从而瓦解攻击者的批量破解企图。本文以Linux系统的密码存储演进为例,深入解析了SHA-512加盐哈希如何协同工作,并探讨了在GPU加

dichengyan0013的博客 330

Hashcat破解linux hash密码

学习时获得了/etc/shadow文件,需要尝试破解linux的登录密码. 但是只是搜索到简单的命令解释和普通的MD5值破解示例,都没有讲清楚来龙去脉,估计好多像我一样的小菜都看得云里雾里.最后看了一遍介绍使用Hashat破解linux登录密码的文章,就记录下来学习心得吧. linux系统中有一个用户密码配置文件/etc/shadow,里面存放着用户名,Hash加密后的值,最后一次修改密码的日期(1970年1月1日距今的天数),密码的最小生存周期,最大生存周期等等,具体解释如下: 1)“登录名”是与

weixin_38023368的博客 4550

SHA-512 加密解密

简单易学的C#的SHA-512加密解密,是使用的C#里的本来就存在的加密解密方法,有助于初学者。

手把手教你用DCT/DCG实现Multi-bit FF物理优化(含SPG流程避坑指南)

本文详细解析了Multi-bit FF(MBFF)在芯片物理实现中的优化方法,重点介绍了DCT/DCG与SPG流程的实战应用。通过物理感知综合、寄存器组识别和增量优化三阶段流程,实现PPA(Power-Performance-Area)的协同提升。文章还提供了Innovus与ICC工具的协同优化策略及典型问题排查指南,帮助工程师高效完成MBFF物理优化。

ik67890123的博客 241

John破解Linux哈希密码文件

在现如今的Internet环境里,过于简单的口令、密码是服务器的最大风险。尽管都知道要设置一个长且复杂的口令密码会更安全,但仍有部分用户图省事而采用简单、便于记忆的口令密码字串。对于任何一个肩负安全责任的管理员,需要及时找出这些弱口令账号,以便于采取更进一步的安全措施。 John the Ripper是一款开源的密码破解工具,能在已知密文的情况下快速分析出明文的密码字串,支持DES、MD5等多种加密算法,而且允许使用密码字典(含各种密码组合的列表文件)进行暴力破解。通过John the Ripper,可以检

wanjia01的博客 2404

手把手教你用Keil5和Proteus8给51单片机跑个流水灯(附完整源码+安装包)

本文详细介绍了如何使用Keil5和Proteus8为51单片机实现流水灯效果,包括开发环境配置、汇编代码编写、电路设计及仿真调试。通过完整的源码和安装包,帮助初学者快速掌握C51单片机开发的核心流程,适合嵌入式开发入门学习。

weixin_42632434的博客 369

Kali Linux渗透测试的暴力破解方法

暴力破解是一种常见的密码破解方法,通过尝试所有可能的密码组合,知道找到正确的密码为止,其难度取决于密码的复杂度和长度,以及破解工具的性能和设置。

m0_73890999的博客 1667

深入解析MATLAB四旋翼仿真案例asbQuadcopter的核心模块与优化技巧

本文深入解析了MATLAB/Simulink中的四旋翼无人机官方案例asbQuadcopter,详细拆解了其指令、传感器、控制器、本体与环境等核心模块的工作原理。重点探讨了经典的PID双环控制结构、传感器噪声模拟、模型替换方法以及系统化的PID参数调优技巧,旨在帮助用户从“开箱即用”过渡到深度定制与优化,构建更精准的仿真模型。

weixin_29171087的博客 360

汽车以太网- IEEE 802.3标准

关于汽车以太网,大家看到最多的标准大概就是IEEE802.3bw,也就是我们车内使用的百兆以太网,专业称呼是100BASE-T1,该标准是车内百兆以太网的物理层协议,是我们学习汽车以太网必须要了解的协议。在正式了解协议之前,我们先介绍下什么是IEEE802.3标准。............

weixin_39974126的博客 7106

【kali渗透测试】暴力破解

【kali渗透测试】暴力破解

liuwanqing233333的博客 990

Cherry Studio 新手必看:5分钟搞定MCP服务器配置(附常见问题解决)

本文为Cherry Studio新手提供了详细的MCP服务器配置指南。文章从核心概念入手,解释了Cherry Studio作为MCP客户端如何通过MCP协议安全、标准化地扩展AI助手能力。重点讲解了uv和Bun环境的安装与常见网络问题的解决方案,并演示了如何添加首个MCP服务器(如mcp-server-fetch),助你快速构建可扩展的智能工作流。

corn8的博客 595

密码字典破解思路

利用密码字典暴力破解是非常浪费时间的!!!点击思路——》linux用户密码存放位置如下:打开终端输入:cat /etc/shadow#以上箭头所指是密码加密后的字符串解密方法如下:终端输入:vim /etc/shadow #对存放密码文档进行编辑#两个冒号之间的即在第二位方法一:#具体实现与否,不要过多耽误时间1.算法(SHA512)加密root用户密码的字符串进行如下图操作(复制)2.然后进行切换用户如下命令终端如下输入(切换到已有用户,然后再切换到目标用户)

qiqi776532的博客 1470

加速访问Cloudflare的网站的解决方案

本文主要介绍了加速访问Cloudflare的网站的解决方案,希望能对大家有所帮助。通过软件计算得到最快的IP地址的效果图如下图所示,具体解决方案参考下文。 在这里插入图片描述 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

将GroundDINO、EdgeMTAM和FoundationPose的ONNX模型转换为TensorRT格式并部署到NVIDIA Jetson Orin平台的完整技术指南

TensorRT模型部署指南:从ONNX到Jetson Orin的优化实践 本文详细介绍了将GroundDINO、EdgeMTAM和FoundationPose模型从ONNX格式转换为TensorRT引擎并在Jetson Orin平台部署的全流程。主要内容包括: 环境配置:JetPack 5.1.2+环境搭建,TensorRT工具链安装,存储与交换空间优化 模型转换:动态尺寸处理、自定义算子实现、层融合策略及INT8量化校准 部署优化:引擎序列化加密、多模型并行推理架构设计、CUDA流异步执行 实战技巧。

huanghm88的专栏 437

linux登录密码破解

下文是转载的一篇SHA512破解,经测此法也可破解MD5。 另外破解速度取决于字典的好坏,可寻找比较优秀的字典。   https://blog.youkuaiyun.com/Key_book/article/details/80439243   linux密码暴力破解 由于MD5加密已经发展了很多年,现在市面上已经积累了大量的MD5数据,这样,MD5的安全性也就受到了威胁,所以,从centos6.x...

weiqing的专栏 1622

30天入门 SAP BTP 开发系列之一:SAP 开发顾问为什么要学习 SAP BTP 开发?能带来哪些收获?

国内 SAP 开发顾问们的微信朋友圈,最近可能都被 SAP 和阿里这两家巨头宣布合作的重磅消息刷屏了吧。近日,德国软件巨头SAP SE与中国电商巨头阿里巴巴集团宣布建立战略合作伙伴关系。根据协议,阿里巴巴集团将利用 SAP Cloud ERP Private 强化企业基础设施,并采用联合上市策略为全球客户创造卓越价值。阿里巴巴将集成 SAP Business Suite,以简化系统维护与升级流程,并实现 AI 功能与核心业务流程的无缝整合。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2373

/etc/shadow可以破解吗?

文章目录小贴士场景/etc/shadow文件介绍什么是加盐?能破解吗?References 小贴士 哈希(又称为散列算法)不是加密,不是编码;哈希是不可逆的,加密可逆;编码解码不需要密钥,加解密需要密钥 常见的编码 & 哈希 & 加解密算法如下 编码:base64 Hex编码 Huffman编码 哈希:md5 SHA-1 SHA-128 SHA-256 SHA-512 SM3 加密: ​ - 对称加密(加解密密钥一样):DES AES SM4 ​ - 非对称加密(加解密密

coderge's 优快云 Blog. 7076

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何破解linux用户帐号密码二

转载 0x01 前言: 今天拿了个linux的主机,提下来了,以前提成root之后就没深入过,这次想着先把root密码破解出来; 以前交洞的时候只是单纯证明存在/etc/passwd和/etc/shadow,但从没管过里面的hash; 看网上教程也很多,我也记录一下我的学习成果吧。 0x02 大家都知道,linux系统中有一个用户密码配置文件/etc/shadow...

weixin_30763455的博客 146

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: 内网渗透--获取其他电脑相册
下一篇: python工具打造之实现端口扫描
红酒味蛋糕_
博客等级 码龄9年 1267粉丝 74原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值