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 信息收集

  1. 端口扫描

    nmap -sV -p- <靶机IP>
    

    预期发现开放80端口,运行HTTP服务

  2. Web应用识别

    • 访问http://www.swagshop.htb
    • 识别为Magento电子商务平台
    • 通过logo识别具体版本或模板

3.2 漏洞利用

3.2.1 管理员账户创建

  1. 发现Magento存在默认安装漏洞,允许创建管理员账户
  2. 创建管理员账户:
    • 用户名:forme
    • 密码:forme
  3. 使用创建的管理员账户登录后台管理面板(通常位于/admin)

3.2.2 文件上传漏洞利用

  1. 进入后台管理面板后,导航至:
    Catalog -> Manage Products
    
  2. 选择任意产品进行编辑
  3. 在"Custom Options"部分创建新的选项:
    • 选项标题:任意名称(必须以.php结尾,如"shell.php")
    • 选项类型:File
    • 其他设置保持默认
  4. 保存产品更改

3.2.3 获取Web Shell

  1. 返回前端产品页面,现在会出现文件上传选项
  2. 准备PHP反弹shell脚本(如pentestmonkey的PHP反弹shell)
  3. 上传该PHP文件
  4. 在攻击机上启动监听:
    nc -lvnp <监听端口>
    
  5. 访问上传的shell文件路径(通常在/media/custom_options/quote/目录下)
  6. 成功获取反向shell连接

3.3 权限提升

3.3.1 信息收集

  1. 查看当前用户:

    whoami
    

    预期为低权限Web用户(如www-data)

  2. 检查sudo权限:

    sudo -l
    

    预期发现vi/vim可以以root权限执行

3.3.2 vi/vim提权

  1. 利用sudo权限执行vim:
    sudo vi /any/file
    
  2. 在vim中执行命令:
    :!/bin/sh
    
  3. 现在获得root shell

3.3.3 获取flag

  1. 查找flag文件(通常在/root目录下):
    find / -name "*flag*" -type f 2>/dev/null
    
  2. 读取flag文件内容

4. 技术要点总结

4.1 关键漏洞

  1. Magento默认安装漏洞

    • 允许未经授权创建管理员账户
    • 利用方法:通过特定URL路径创建账户
  2. 文件上传漏洞

    • 通过产品自定义选项实现PHP文件上传
    • 上传路径可预测(/media/custom_options/quote/)
  3. 权限配置不当

    • vi/vim配置为可sudo执行
    • 利用vim的功能执行系统命令

4.2 防御建议

  1. 对于Magento管理员

    • 及时更新Magento到最新版本
    • 删除默认安装文件
    • 限制后台管理面板的访问IP
  2. 对于文件上传功能

    • 验证上传文件类型和内容
    • 将上传文件存储在Web根目录外
    • 对上传文件进行重命名
  3. 对于系统权限配置

    • 避免为Web用户配置不必要的sudo权限
    • 使用最小权限原则配置服务账户

5. 扩展学习

  1. Magento安全

    • 研究Magento的其他常见漏洞(如SQL注入、XSS等)
    • 学习Magento的安全配置最佳实践
  2. vi/vim提权技术

    • 研究其他编辑器/工具的提权方法(如nano、less等)
    • 了解Linux权限配置的最佳实践
  3. HTB类似靶场

    • 尝试其他电子商务平台靶场(如WooCommerce、PrestaShop等)
    • 练习其他包含文件上传和权限提升的靶场

通过本靶场的练习,可以掌握从Web应用到系统层面的完整渗透测试流程,特别是CMS漏洞利用和Linux权限提升的关键技术。

HackTheBox SwagShop靶场渗透测试教学文档 1. 靶场概述 SwagShop是HackTheBox上的一个Web应用靶场,基于Magento电子商务平台构建。本靶场主要考察以下技能: CMS漏洞识别与利用 文件上传漏洞利用 权限提升技术(vi/vim提权) 2. 环境准备 2.1 靶机信息获取 获取靶机IP地址(通过HackTheBox提供的VPN连接) 将IP与域名添加到本地hosts文件: 2.2 工具准备 Nmap:端口扫描 Netcat:反弹shell监听 浏览器:用于Web应用交互 3. 渗透测试过程 3.1 信息收集 端口扫描 预期发现开放80端口,运行HTTP服务 Web应用识别 访问http://www.swagshop.htb 识别为Magento电子商务平台 通过logo识别具体版本或模板 3.2 漏洞利用 3.2.1 管理员账户创建 发现Magento存在默认安装漏洞,允许创建管理员账户 创建管理员账户: 用户名:forme 密码:forme 使用创建的管理员账户登录后台管理面板(通常位于/admin) 3.2.2 文件上传漏洞利用 进入后台管理面板后,导航至: 选择任意产品进行编辑 在"Custom Options"部分创建新的选项: 选项标题:任意名称(必须以.php结尾,如"shell.php") 选项类型:File 其他设置保持默认 保存产品更改 3.2.3 获取Web Shell 返回前端产品页面,现在会出现文件上传选项 准备PHP反弹shell脚本(如pentestmonkey的PHP反弹shell) 上传该PHP文件 在攻击机上启动监听: 访问上传的shell文件路径(通常在/media/custom_ options/quote/目录下) 成功获取反向shell连接 3.3 权限提升 3.3.1 信息收集 查看当前用户: 预期为低权限Web用户(如www-data) 检查sudo权限: 预期发现vi/vim可以以root权限执行 3.3.2 vi/vim提权 利用sudo权限执行vim: 在vim中执行命令: 现在获得root shell 3.3.3 获取flag 查找flag文件(通常在/root目录下): 读取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权限提升的关键技术。