❿⁄₈ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 破解SSH私钥的密码短语

❿⁄₈ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击 ➱ 破解SSH私钥的密码短语
        郑重声明:本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。

🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论 | 保持连接💬

🌌 立即前往 👉晖度丨安全视界🚀​​​

▶ 信息收集 
▶ 漏洞检测
▶ 初始立足点 ➢ 密码攻击 ➢ 破解SSH私钥的密码短语 🔥🔥🔥
▶ 权限提升
▶ 横向移动
▶ 报告/分析
▶ 教训/修复

目录

1.密码破解实践

1.2 破解SSH私钥的密码短语

1.2.1 SSH密钥认证原理与密码短语的作用

1.2.1.1 基本认证流程

1.2.1.2 私钥泄露的风险

1.2.1.3 密码短语:私钥的最后防线

1.2.2 攻击场景还原

1.2.2.1 信息收集发现敏感文件

1.2.2.2 攻击流程梳理

1.2.3 使用SSH私钥文件登录尝试(失败)

1.2.3.1 修改id_rsa文件权限

1.2.3.2 SSH登录尝试(失败)

1.2.3.3 密码策略分析

1.2.4 使用Hashcat破解私钥文件id_rsa的密码短语(失败)

1.2.4.1 私钥文件id_rsa转换为.hash格式

1.2.4.2 Hashcat模式识别

1.2.4.3 创建密码规则

1.2.4.4 创建密码字典

1.2.4.5 使用Hashcat来执行破解(失败)

1.2.5 改用JtR破解私钥文件id_rsa的密码短语(成功)

1.2.5.1 规则集成至JtR的配置文件

1.2.5.2 执行密码破解

1.2.5.3 破解结果分析

1.2.5.4 破解成功的关键因素

1.2.5.5 核心安全启示

1.2.6 使用破解的私钥密码短语完成远程SSH登录

1.2.7 总结:完整的SSH密钥认证流程

欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论


1.密码破解实践

1.2 破解SSH私钥的密码短语

1.2.1 SSH密钥认证原理与密码短语的作用

1.2.1.1 基本认证流程

      SSH使用非对称加密进行身份验证,其核心流程基于“公钥锁,私钥开”的机制:

  1. 用户侧:生成一对密钥(id_rsa私钥 + id_rsa.pub公钥),私钥自己严格保管。
  2. 服务侧:将用户的公钥id_rsa.pub)放置于目标服务器的特定文件(如~/.ssh/authorized_keys)中。这相当于为你的账户装一把只让对应私钥打开的“数字锁”。
  3. 登录时:当你连接服务器,服务器会向你发出一个挑战。你用私钥进行签名响应。服务器用预留的公钥验证签名,匹配则允许登录。

1.2.1.2 私钥泄露的风险

      一旦攻击者获取了你的私钥文件(id_rsa,他便拥有了你这把“钥匙”,可以尝试冒充你的身份去开启服务器上的那把“锁”。如果没有额外保护,他就能直接登录。为了防止这个情况发生,这个时候就出现了“密码短语”


1.2.1.3 密码短语:私钥的最后防线

     密码短语:是在创建密钥对时,为用户私钥额外添加的一层对称加密保护

  • 作用机制:私钥文件本身被一个由密码短语派生出的密钥加密存储。每次使用私钥前,必须先输入正确的密码短语来解密它
  • 安全价值:即使私钥文件不慎泄露,攻击者得到的也只是一个被加密的乱码文件,无法直接使用。密码短语从而成为保护身份的最后一道屏障
  • 攻击门槛:攻击者必须通过暴力破解或字典攻击等方式猜出密码短语,才能解密并最终使用私钥。这极大地增加了攻击难度和成本。

💎 核心总结
      SSH密钥认证的安全模型建立在 “公钥在服务端,私钥在客户端” 的基础上。密码短语并非用于远程服务器验证,而是用于本地加密保护私钥文件本身。它是防止私钥泄露后导致即时权限沦陷的关键安全措施

💡 类比理解:这就像你捡到了一把保险柜的钥匙(私钥),但钥匙上还挂着一个密码锁(密码短语),不知道密码仍然打不开柜子。

1.2.2 攻击场景还原

      在本文的示例中,攻击者已通过字典攻击破解了目标Web登录表单(用户名:user,密码:121212),从而获得了基于Web的文件管理器访问权限(地址:http://192.168.50.201:8080)。以上过程参考:前述文章“HTTP POST登录表单”的内容。

1.2.2.1 信息收集发现敏感文件

      在登录文件管理器后,攻击者在服务主目录中发现了两个重要文件,将这两个文件下载至本地Kali机器的 passwordattacks 目录中。

  • id_rsaSSH私钥文件
  • note.txt说明文档

      查看 note.txt 文件,内容令人惊喜:

      该文件竟以明文形式记录了用户“Dave”的潜在密码列表!这为后续破解SSH私钥的密码短语提供了宝贵的字典来源。同时,还说了:

  • “新的密码政策何时启用:2022年1月”
  • 具体密码政策“需包含:3个数字、一个大写字母、一个特殊字符

1.2.2.2 攻击流程梳理

下图概括了从初始渗透到最终破解SSH私钥密码短语的完整过程:


1.2.3 使用SSH私钥文件登录尝试(失败)

      在拿到SSH私钥文件后,尝试使用用户dave的私钥id_rsa文件进行SSH连接。

1.2.3.1 修改id_rsa文件权限

在使用SSH私钥前,必须修改id_rsa的私钥文件的权限:

chmod 600 id_rsa # 设置仅所有者可读写

🔐 注意:权限过宽的私钥文件会被SSH客户端拒绝使用,这是重要的安全限制

1.2.3.2 SSH登录尝试(失败)

执行命令尝试连接目标服务器(端口:2222):

ssh -i id_rsa -p 2222 [email protected]

系统提示输入私钥的