hack the box 之swagshop靶场练习
字数 1553 2025-08-11 08:35:36
HackTheBox SwagShop靶场渗透测试教学文档
1. 靶场概述
SwagShop是HackTheBox上的一个Web应用靶场,基于Magento电子商务平台构建。本靶场主要考察以下技能:
- CMS漏洞识别与利用
- 文件上传漏洞利用
- 权限提升技术(vi/vim提权)
2. 环境准备
2.1 靶机信息获取
- 获取靶机IP地址(通过HackTheBox提供的VPN连接)
- 将IP与域名添加到本地hosts文件:
<靶机IP> www.swagshop.htb
2.2 工具准备
- Nmap:端口扫描
- Netcat:反弹shell监听
- 浏览器:用于Web应用交互
3. 渗透测试过程
3.1 信息收集
-
端口扫描
nmap -sV -p- <靶机IP>预期发现开放80端口,运行HTTP服务
-
Web应用识别
- 访问http://www.swagshop.htb
- 识别为Magento电子商务平台
- 通过logo识别具体版本或模板
3.2 漏洞利用
3.2.1 管理员账户创建
- 发现Magento存在默认安装漏洞,允许创建管理员账户
- 创建管理员账户:
- 用户名:forme
- 密码:forme
- 使用创建的管理员账户登录后台管理面板(通常位于/admin)
3.2.2 文件上传漏洞利用
- 进入后台管理面板后,导航至:
Catalog -> Manage Products - 选择任意产品进行编辑
- 在"Custom Options"部分创建新的选项:
- 选项标题:任意名称(必须以.php结尾,如"shell.php")
- 选项类型:File
- 其他设置保持默认
- 保存产品更改
3.2.3 获取Web Shell
- 返回前端产品页面,现在会出现文件上传选项
- 准备PHP反弹shell脚本(如pentestmonkey的PHP反弹shell)
- 上传该PHP文件
- 在攻击机上启动监听:
nc -lvnp <监听端口> - 访问上传的shell文件路径(通常在/media/custom_options/quote/目录下)
- 成功获取反向shell连接
3.3 权限提升
3.3.1 信息收集
-
查看当前用户:
whoami预期为低权限Web用户(如www-data)
-
检查sudo权限:
sudo -l预期发现vi/vim可以以root权限执行
3.3.2 vi/vim提权
- 利用sudo权限执行vim:
sudo vi /any/file - 在vim中执行命令:
:!/bin/sh - 现在获得root shell
3.3.3 获取flag
- 查找flag文件(通常在/root目录下):
find / -name "*flag*" -type f 2>/dev/null - 读取flag文件内容
4. 技术要点总结
4.1 关键漏洞
-
Magento默认安装漏洞:
- 允许未经授权创建管理员账户
- 利用方法:通过特定URL路径创建账户
-
文件上传漏洞:
- 通过产品自定义选项实现PHP文件上传
- 上传路径可预测(/media/custom_options/quote/)
-
权限配置不当:
- vi/vim配置为可sudo执行
- 利用vim的功能执行系统命令
4.2 防御建议
-
对于Magento管理员:
- 及时更新Magento到最新版本
- 删除默认安装文件
- 限制后台管理面板的访问IP
-
对于文件上传功能:
- 验证上传文件类型和内容
- 将上传文件存储在Web根目录外
- 对上传文件进行重命名
-
对于系统权限配置:
- 避免为Web用户配置不必要的sudo权限
- 使用最小权限原则配置服务账户
5. 扩展学习
-
Magento安全:
- 研究Magento的其他常见漏洞(如SQL注入、XSS等)
- 学习Magento的安全配置最佳实践
-
vi/vim提权技术:
- 研究其他编辑器/工具的提权方法(如nano、less等)
- 了解Linux权限配置的最佳实践
-
HTB类似靶场:
- 尝试其他电子商务平台靶场(如WooCommerce、PrestaShop等)
- 练习其他包含文件上传和权限提升的靶场
通过本靶场的练习,可以掌握从Web应用到系统层面的完整渗透测试流程,特别是CMS漏洞利用和Linux权限提升的关键技术。