OSCP 实战:破解 SSH 私钥的密码短语
1. 密码破解实践
1.2 破解 SSH 私钥的密码短语
1.2.1 SSH 密钥认证原理与密码短语的作用
1.2.1.1 基本认证流程
SSH 使用非对称加密进行身份验证,其核心流程基于'公钥锁,私钥开'的机制:
- 用户侧:生成一对密钥(
id_rsa私钥 +id_rsa.pub公钥),私钥自己严格保管。 - 服务侧:将用户的公钥(
id_rsa.pub)放置于目标服务器的特定文件(如~/.ssh/authorized_keys)中。这相当于为你的账户装一把只让对应私钥打开的'数字锁'。 - 登录时:当你连接服务器,服务器会向你发出一个挑战。你用私钥进行签名响应。服务器用预留的公钥验证签名,匹配则允许登录。
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_rsa:SSH 私钥文件note.txt:说明文档





