OSCP Astronaut Write-wp
本文最后更新于 2026年3月12日 下午
一、靶场详情
靶场名称:
Astronaut
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结
突破边界:
GravCMS 任意 YAML 写入 –> www-data 用户权限
权限提升:
www-data 用户权限 –> php suid 权限 –> root 用户权限 –> 管理员旗帜
三、靶场攻击演示
3.1 靶场信息收集
TCP 端口扫描:
1 | |
UDP 端口扫描:未发现有价值信息。
TCP 服务信息搜集:
1 | |
系统为 Linux 环境,开放有 HTTP、SSH 服务。
3.2 渗透测试突破边界
3.2.1 GravCMS 任意 YAML 写入/ 更新(未经身份验证)
访问靶机 HTTP 服务,发现系统为 GravCMS 系统,无法通过枚举获取系统具体版本信息。

这里尝试了各种信息枚举,想通过枚举获取 GravCMS 具体版本信息,卡了一段时间之后更改思路,直接通过应用名检索漏洞。有时候突破的方式并没有那么复杂,尝试了所有可能性,依然没有任何发现,就回头重新整理思路。
使用 searchsploit 检索 Grave 应用可利用的 EXP,发现两个可利用脚本。
1 | |

经过测试通过第二个漏洞利用代码可获取到系统反弹 shell,注意: 需要修改脚本 Payload 和 URL。
1 | |


在 kali 使用 nc 监听 4444 端口,然后执行漏洞利用代码,成功获取系统 www-data 用户权限 shell,注意: 如若执行一次未成功,需检查脚本反弹 shell Payload 和 URL,再次执行。

升级为交互式 shell。

3.3 提权获取系统管理员权限
3.3.1 PHP sudo 提权获取系统 root 用户权限
使用 find 命令发现系统 php 程序具有 suid 权限,可利用该权限提权至 root。
1 | |

提权参考链接:
1 | |

1 | |

3.3.2 管理员旗帜获取

Thanks
如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡
最后,祝您生活愉快!🌞✨