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

审计步骤:

  1. 下载源码进行审计
  2. 查找已知漏洞或编写exp
  3. 若无现成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

利用步骤:

  1. 初始化Gerapy:
sudo gerapy init
  1. 迁移数据库:
sudo gerapy migrate
  1. 创建管理员用户:
sudo gerapy createsuperuser
  1. 启动服务:
sudo gerapy runserver 192.168.56.129:8080
  1. 利用漏洞获取root shell:
  • 使用公开exp或手动构造请求获取反弹shell
  • 由于服务以root权限运行,获得的shell将是root权限

5. 关键知识点总结

  1. 信息收集:网络扫描和源码审计是渗透测试的基础
  2. 凭证发现:检查Web目录下的隐藏文件和敏感信息
  3. 权限提升路径
    • 从Web应用漏洞获取初始立足点
    • 通过发现的密码横向移动到普通用户
    • 利用sudo权限和Gerapy漏洞垂直提权到root
  4. Gerapy漏洞利用:CVE-2021-43857允许通过管理接口执行任意命令

6. 防御建议

  1. 避免在Web目录存放敏感信息
  2. 使用强密码策略,避免密码重用
  3. 限制sudo权限,遵循最小权限原则
  4. 及时更新存在已知漏洞的软件组件
  5. 对开源项目进行安全审计后再部署

7. 扩展学习

  1. 深入研究Online-Admission-System源码,寻找其他潜在漏洞
  2. 练习手动编写Gerapy漏洞的exp
  3. 尝试不使用已知密码的其他提权方法
  4. 学习清理渗透痕迹的方法

通过本靶场的练习,可以全面掌握从信息收集到权限提升的完整渗透测试流程,特别是学习如何利用开源项目的漏洞和系统配置不当进行权限提升。

HackMyVM系列3——University靶场渗透测试教学文档 1. 靶场概述 本靶场是基于HackMyVM系列的第三个靶机"University",是一个模拟大学在线招生系统的漏洞环境。靶场包含Web应用漏洞和系统提权路径,适合练习信息收集、代码审计和权限提升技能。 2. 信息收集阶段 2.1 网络扫描 使用 netdiscover 进行主机发现: 使用 nmap 进行端口和服务扫描: 2.2 源码审计 扫描发现目标系统运行着一个开源项目: 项目名称:Online-Admission-System GitHub地址:https://github.com/rskoolrash/Online-Admission-System 审计步骤: 下载源码进行审计 查找已知漏洞或编写exp 若无现成exp,则需手动审计代码寻找漏洞点 3. 初始访问 3.1 获取交互式shell 成功利用漏洞后,使用Python获取更稳定的shell: 4. 权限提升路径 4.1 发现敏感信息 在Web目录下发现隐藏文件: 找到密码凭证: 4.2 用户切换 检查系统用户: 发现存在用户 sandra ,尝试使用找到的密码切换用户: 4.3 提权分析 检查SUID文件: 检查sudo权限: 发现可以以root权限运行 gerapy 且不需要密码 4.4 利用Gerapy提权 Gerapy是一个Scrapy管理框架,存在已知漏洞CVE-2021-43857 利用步骤: 初始化Gerapy: 迁移数据库: 创建管理员用户: 启动服务: 利用漏洞获取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 尝试不使用已知密码的其他提权方法 学习清理渗透痕迹的方法 通过本靶场的练习,可以全面掌握从信息收集到权限提升的完整渗透测试流程,特别是学习如何利用开源项目的漏洞和系统配置不当进行权限提升。