hackmyvm系列3——university
字数 1155 2025-08-11 21:26:06
HackMyVM系列3——University靶场渗透测试教学文档
1. 靶场概述
本靶场是基于HackMyVM系列的第三个靶机"University",是一个模拟大学在线招生系统的漏洞环境。靶场包含Web应用漏洞和系统提权路径,适合练习信息收集、代码审计和权限提升技能。
2. 信息收集阶段
2.1 网络扫描
使用netdiscover进行主机发现:
netdiscover -r 192.168.56.0/24
使用nmap进行端口和服务扫描:
nmap -sV -Pn -sC 192.168.56.129
2.2 源码审计
扫描发现目标系统运行着一个开源项目:
- 项目名称:Online-Admission-System
- GitHub地址:https://github.com/rskoolrash/Online-Admission-System
审计步骤:
- 下载源码进行审计
- 查找已知漏洞或编写exp
- 若无现成exp,则需手动审计代码寻找漏洞点
3. 初始访问
3.1 获取交互式shell
成功利用漏洞后,使用Python获取更稳定的shell:
python3 -c "import pty;pty.spawn('/bin/bash');"
4. 权限提升路径
4.1 发现敏感信息
在Web目录下发现隐藏文件:
ls -a /var/www/html
找到密码凭证:
密码: Myyogaiseasy
4.2 用户切换
检查系统用户:
cat /etc/passwd
发现存在用户sandra,尝试使用找到的密码切换用户:
su sandra
密码: Myyogaiseasy
4.3 提权分析
检查SUID文件:
find / -perm -4000 -type f 2>/dev/null
检查sudo权限:
sudo -l
发现可以以root权限运行gerapy且不需要密码
4.4 利用Gerapy提权
Gerapy是一个Scrapy管理框架,存在已知漏洞CVE-2021-43857
利用步骤:
- 初始化Gerapy:
sudo gerapy init
- 迁移数据库:
sudo gerapy migrate
- 创建管理员用户:
sudo gerapy createsuperuser
- 启动服务:
sudo gerapy runserver 192.168.56.129:8080
- 利用漏洞获取root shell:
- 使用公开exp或手动构造请求获取反弹shell
- 由于服务以root权限运行,获得的shell将是root权限
5. 关键知识点总结
- 信息收集:网络扫描和源码审计是渗透测试的基础
- 凭证发现:检查Web目录下的隐藏文件和敏感信息
- 权限提升路径:
- 从Web应用漏洞获取初始立足点
- 通过发现的密码横向移动到普通用户
- 利用sudo权限和Gerapy漏洞垂直提权到root
- Gerapy漏洞利用:CVE-2021-43857允许通过管理接口执行任意命令
6. 防御建议
- 避免在Web目录存放敏感信息
- 使用强密码策略,避免密码重用
- 限制sudo权限,遵循最小权限原则
- 及时更新存在已知漏洞的软件组件
- 对开源项目进行安全审计后再部署
7. 扩展学习
- 深入研究Online-Admission-System源码,寻找其他潜在漏洞
- 练习手动编写Gerapy漏洞的exp
- 尝试不使用已知密码的其他提权方法
- 学习清理渗透痕迹的方法
通过本靶场的练习,可以全面掌握从信息收集到权限提升的完整渗透测试流程,特别是学习如何利用开源项目的漏洞和系统配置不当进行权限提升。