OSCP LaVita Write-up
本文最后更新于 2026年3月12日 下午
一、靶场详情
靶场名称:
LaVita
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结
突破边界:
信息搜集,用户注册 –> Laravel 远程代码执行(CVE-2021-3129) –> www-data 用户权限 –> pspy 进程监控,修改 artisan 文件 –> skunk 用户权限 –> 用户旗帜
权限提升:
skunk 用户 composer sudo 权限 –> www-data 用户修改 composer.json 文件 –> 执行 skunk 用户 sudo composer 指令 –> root 用户权限 –> 管理员旗帜
三、靶场攻击演示
3.1 靶场信息收集
TCP 端口扫描:
1 | |
UDP 端口扫描:未发现有价值信息。
TCP 服务信息搜集:
1 | |
系统为 Linux 环境,开放有 HTTP、SSH 服务。
3.2 渗透测试突破边界
3.2.1 Laravel 远程代码执行(CVE-2021-3129)
访问系统 HTTP 80 端口,页面存在登录注册接口。


注册任意用户登录后台,发现存在开启关闭系统 app_debug 和上传文件功能。

搜索引擎检索 app_debug exploit,该配置可能与 Laravel 远程代码执行漏洞有关联(CVE-2021-3129),且低于 8.4.2 版本均受影响。


回到网站主页进行信息搜集,发现页面泄露了一些关于聘请 Laravel 应用工程师信息。访问不存在的页面时,报错信息泄露了应用版本信息:Laravel 8.4.0,满足 CVE-2021-3129 漏洞版本要求,可尝试利用。


参考链接:
1 | |

注意: 利用该漏洞的前提需先在后台开启 app_debug 功能。

下载并执行漏洞利用脚本。
1 | |

执行过程会下载一些依赖。

第一次执行 payload 没有回显然后点击 y 再次执行,得到了 whoami 命令回显。

注意: 可能是脚本的问题,当成功一次时,之后的命令都无法执行,需要重新运行脚本。
执行反弹 shell,和上一次的步骤保持一致,可获取到系统 www-data 用户 shell。
1 | |



升级为交互式 shell。

3.2.2 Pspy 监控系统进程,修改 artisan 文件,获取到 skunk 用户权限
使用 pspy 监控系统进程,发现系统会以 skunk(uid 1001)用户权限执行/var/www/html/lavita/artisan 文件,而 www-data 用户对该文件具有读写权限,可写入反弹 shell 当程序再次执行即可得到 skunk 用户 shell。

在 kali 编辑一个 php 的反弹 shell,然后在靶机通过 wget 下载覆盖 artisan 文件。
1 | |

1 | |


升级为交互式 shell。

3.2.3 用户旗帜获取

3.3 提权获取系统管理员权限
3.3.1 Composer sudo 提权至 root
skunk 用户可通过 sudo 以 root 用户权限执行 Composer 程序,利用该配置可提升至 root 权限。
1 | |

参考链接:
1 | |

步骤一: sudo -l 定义的 working 路径是 www-data 用户可以修改的,可使用 www-data 用户更新 composer.json 文件内容(反弹 shell)。

1 | |

步骤二: 使用 skunk 用户执行 sudo 指令,获取系统到 root 用户权限。
1 | |

3.3.2 管理员旗帜获取

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