文章目录

  • 小贴士
  • 场景
  • /etc/shadow文件介绍
  • 什么是加盐?
  • 能破解吗?
  • References

小贴士

哈希(又称为散列算法)不是加密,不是编码;哈希是不可逆的,加密可逆;编码解码不需要密钥,加解密需要密钥

常见的编码 & 哈希 & 加解密算法如下

编码:base64 Hex编码 Huffman编码

哈希:md5 SHA-1 SHA-128 SHA-256 SHA-512 SM3

加密:

​ - 对称加密(加解密密钥一样):DES AES SM4

​ - 非对称加密(加解密密钥不一样):RSA DSA SM2

场景

利用GlassFish任意文件读取漏洞,读取了/etc/shadow文件,可是密码是哈希过的,怎么破解呢?

/etc/shadow文件介绍

首先说一下Linux shadow文件和passwd文件的小小区别

文件 用户可访问?
/etc/shadow 所有用户可读取
/etc/passwd root可读取
cat /etc/shadow          # 看一下我自己的shadow文件的其中一行
root:$6$C.nLBV0u$Ya4XCw1/jEiqx8/nnwE0r6tEtw/l1zt5iUr8GMrsdxTN1Omp2uPVtFNIZb0ZsNFRImJvvj0CSgNvAcsZo7i6d0:18002:0:99999:7:::

/etc/passwd一样,shadow 文件中的每个字段也用“:::”冒号分隔,如下所示:

  1. 用户名:系统上存在的有效帐户名。

  2. 密码:您的密码采用哈希格式保存。散列值长度应至少为 15-20 个字符,包括特殊字符、数字、小写字母等。这里保存的是密码的哈希值。目前 Linux 的密码采用的是 SHA512 散列算法,原来采用的是 MD5 或 DES 算法。SHA512 散列算法的更加安全。

    注意,这串密码产生的乱码不能手工修改,如果手工修改,系统将无法识别密码,导致密码失效。很多软件透过这个功能,在密码串前加上 “!”、“*” 或 “x” 使密码暂时失效。

    所有伪用户的密码都是 “!!” 或 “*”,代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 “!!”,代表这个用户没有密码,不能登录。密码格式设置为$id$salt$hashed,$id值与 GNU/Linux 上使用的哈希算法对应如下:

    • $1$ is MD5

    • $2a$ is Blowfish

    • $2y$ is Blowfish

    • $5$ is SHA-256

    • $6$ is SHA-512

  3. 上次密码更改 (last changed):上次更改密码的日期,表示为自 1970 年 1 月 1 日(Unix 时间)以来的天数。值 0 具有特殊含义,即用户下次登录系统时应更改密码。空字段表示禁用密码老化功能。

  4. 最小值:密码更改之间所需的最短天数,即允许用户再次更改密码之前的剩余天数。空字段和值 0 表示没有最短密码期限。

  5. 最大值:密码有效的最大天数,在该用户被迫再次更改她的密码之后。

  6. 警告:密码到期前的天数,警告用户必须更改他/她的密码

  7. Inactive:密码过期后该帐户被禁用的天数。

  8. Expire:帐户的到期日期,表示为自 1970 年 1 月 1 日以来的天数。

什么是加盐?

明文密码是 passwdsalt 是随机字串

假设id=1,即选择md5哈希算法。

那么加盐的过程就是 计算 hashed=md5(salt+passwd)hashed=md5(salt+passwd)hashed=md5(salt+passwd)

算出来之后就是咱们在shadow文件里读的 $id$salt$hashed

/etc/shadow可以破解吗?相关推荐

  1. john 探测(爆破)弱口令(包含linux机器,aix小机)/linux上的shadow文件破解,亲测可用

    john 探测(爆破)弱口令(包含linux机器,aix小机),linux上的shadow文件破解 手头上上面的机器居多,而且这些机器也是几经转折到了奴家的手上,前期已经出现了有几个密码是1234的情 ...

  2. 口令破解(web安全入门07)

    一.口令破解 1.1 口令安全概述 现在很多地方以用户名(账户)和口令(密码)作为鉴权的方式,口令(密码)就意味着访 问权限.例如网站后台.数据库.服务器.个人电脑.QQ.邮箱等等. 1.2 口令安全 ...

  3. Python绝技第一章 入门 python3实现密码破解

    前言 对我而言,武术的非凡之处在于它的简单.简单的方法也是正确的方法,同时武术也没有什么特别之处.越接近武术的真谛,招式表现上浪费越少 简介 python 绝技 第一章是python入门语法,两个需要 ...

  4. 实验任务(三)---密码破解技术

    中国人民公安大学 Chinese people' public security university 网络对抗技术 实验报告   实验三 密码破解技术     学生姓名 陈秋雨 年级 2015 区队 ...

  5. 【CyberSecurityLearning 54】扫描技术+口令破解

    目录 扫描技术 资产发现 扫描神器(nmap)[效率高] 主机发现 端口扫描 扫描方式 参数 Nmap命令 nmap扫描时的端口状态 工具 扫描技术---网络漏洞扫描 漏洞扫描原理 漏洞扫描通常分为两 ...

  6. 系统安全和应用及实验部分(弱口令扫描、密码破解、NMAP嗅探)

    文章目录 一.账号安全控制 1.基本安全措施 (1)系统账号的清理 (2)密码安全控制 (3)历史命令.自动注销 二.用户切换.提权 1.用户切换 2. 提升执行权限 三.PAM安全认证 1.PAM认 ...

  7. 强力破解E-mail密码三种方法(转)

    强力破解E-mail密码三种方法(转)[@more@] 电子邮件并不是安全的,在邮件的发送.传送和接收整个过程中的每个环节都可能存在薄弱环节,恶意用户如果利用其漏洞,就能够轻易的破解出账号,获得邮件内 ...

  8. 口令攻击的理解和密码破解工具的使用

    常见的身份验证思路 What you know?(用户名,密码) What you have?(验证码,门禁) Who are you?(人脸,指纹) Where you are?(属性,qq异地登录 ...

  9. 菜鸟破解email账号的技巧

    菜鸟破解email账号的技巧 电子邮件并不是安全的,在邮件的发送.传送和接收整个过程中的每个环节都可能存在薄弱环节,恶意用户如果利用其漏洞,就能够轻易的破解出账号,获得邮件内容. 一. 利用邮件服务器 ...

  10. nmap,tcpdump

    目录 一.扫描与抓包分析 二.nmap的介绍与tcpdump的介绍 1.使用NMAP扫描来获取指定主机/网段的相关信息 2.用tcpdump分析FTP访问中的明文交换信息 三.kali系统的nmap ...

最新文章

  1. RNN 扫盲:循环神经网络解读及其 PyTorch 应用实现
  2. Python的嵌套函数使用和闭包
  3. Nginx实用指南V1 (连载之四:流行CMS博客rewrite写法)
  4. Python教程:hashlib加密
  5. [BZOJ3944] Sum
  6. 【Java从入门到头秃专栏 8】语法篇(七) :反射 动态代理 注解
  7. MYSQL5.6服务启动不起来
  8. 论文笔记_S2D.29_2017_CVPR_多尺度连续CRFs作为序列深度网络的单目深度估计
  9. 从零基础入门Tensorflow2.0 ----五、25TF1.0自定义estimator
  10. 多元统计分析最短距离法_多元统计分析(11个常见的多变量分析方法)
  11. linux SPI操作LCD12864液晶
  12. 7 Papers Radios | 矩阵乘法无需相乘,速度提升100倍;一个神经元顶5到8层神经网络...
  13. 本科学计算机大学学金融工程,2020年金融工程专业排名
  14. 如图标黄的是什么意思?
  15. Word2Vec--词向量模型
  16. 短网址跳转微信公众号
  17. 8.Spring学习笔记_使用外部属性文件(by尚硅谷_佟刚)
  18. Hive之Rank函数
  19. multi_map_server/MultiOccupancyGrid.h:没有那个文件或目录
  20. php无法访问_关于php无法用localhost访问的

热门文章

  1. Iterator中的 FailFast FailSafe【学习笔记】
  2. Java集合练习:模拟斗地主
  3. php curl支付宝登录,PHP接入支付宝教程
  4. 互联网人愚人节整蛊指南
  5. gif一键抠图 在线_在线抠图网站大全
  6. Linux:Pycharm中使用Git
  7. 解剖热敏打印原理—热敏打印机真的没墨水了吗?
  8. sob攻略超详细攻略_超详细西安旅游攻略
  9. 现成源码抢单软件开发|服务器
  10. QQ,微信小惊喜代码