记一次攻防演练
字数 1658 2025-08-24 23:51:25

攻防演练实战教学:从信息搜集到漏洞利用

一、演练概述

本次攻防演练持续10天,前4天仅获得两个外围权限,未能进入核心内网。演练特点:

  • 无靶标提供,完全依赖自主信息搜集
  • 采用纯外网攻击方式(无钓鱼手段)
  • 主要针对厂商系统进行渗透测试

二、信息搜集方法论

2.1 基础资产发现

  • 备案查询:通过ICP备案信息获取初始资产
  • 搜索引擎:使用FOFA、云悉等网络空间测绘工具
  • 移动端分析:APP脱壳逆向、公众号接口分析、小程序逆向
  • 企业信息:天眼查查询母公司及子公司备案和资产信息

2.2 二次信息拓展

  • IP范围扫描:对发现的资产进行C段、B段扫描
  • 目录爆破:针对已发现网站进行目录扫描
  • 资产关联:通过已获取信息寻找关联系统

三、实战渗透过程

3.1 初始突破尝试

3.1.1 功能点测试

发现目标子公司备案网站系统:

  • 表面注册功能失效,F12检查发现注册代码被注释
  • 删除注释符号后成功注册账号
  • 尝试文件上传功能但被文件大小限制阻挡

3.1.2 ThinkPHP框架探测

  • 确认使用ThinkPHP框架但版本未知
  • 尝试常见TP5 RCE漏洞未果
  • 无法通过报错或敏感文件获取版本信息

3.2 CMS识别与利用

3.2.1 CMS识别

  • 通过上传接口title泄露发现使用PigCMS
  • 搜索历史漏洞(CNVD平台)但复现失败

3.2.2 源码获取

  • 官网版本昂贵,通过网盘/搜索引擎获取近似版本源码
  • 本地搭建测试环境分析

3.3 代码审计与漏洞利用

3.3.1 未授权访问发现

使用自制工具生成路径字典,通过Burp Intruder爆破:

  • 配置要点:去掉"Payload Encoding"选项
  • 成功发现未授权访问入口文件

3.3.2 文件上传漏洞分析

发现两处关键上传函数:

  1. action_picUpload

    • 限制:仅允许图片上传(name=thumb)
    • 文件命名:基于时间戳+随机数
    • 无法用于getshell
  2. action_flashUpload

    // 关键漏洞点:
    - 上传name="filepath"
    - Content-Type需为flash格式
    - 文件后缀由filename参数控制
    

    利用POC

    POST /path/to/upload HTTP/1.1
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundary...
    
    ------WebKitFormBoundary...
    Content-Disposition: form-data; name="filepath"; filename="shell.php"
    Content-Type: application/x-shockwave-flash
    
    <?php phpinfo(); ?>
    

3.3.3 数据导出漏洞

发现数据库导出功能存在安全隐患:

private function export_database($tables,$sqlcompat,$sqlcharset,$sizelimit,$action,$fileid,$random,$tableid,$startfrom) {
    // ...
    $filename = date('Ymd').'_'.$random.'_'.$fileid.'.sql'; // 文件名部分可控
    file_put_contents($bakfile, $tabledump); // 内容可控
}

潜在利用方式

  • 尝试截断后缀(冒号截断失败)
  • Windows文件流截断尝试(未成功)

3.4 蓝队对抗记录

  1. 周末突袭:周六发现webshell被替换为"hack"页面
  2. 入口删除:蓝队删除admin.php后台入口
  3. 服务关闭:最终直接关闭整个网站服务

四、关键经验总结

4.1 渗透测试要点

  1. 信息搜集深度:从备案到关联资产的全方位发现

  2. 代码审计技巧

    • 关注被注释的功能代码
    • 系统性地遍历未授权访问点
    • 重点审计文件操作函数(file_put_contents等)
  3. 漏洞利用思路

    • 从黑盒测试转向白盒审计
    • 本地环境搭建验证漏洞
    • 多角度尝试截断、绕过技术

4.2 攻防对抗经验

  1. 权限维持:第一时间建立持久化访问通道
  2. 规则认知:不轻信官方规则,做好对抗准备
  3. 应急响应:蓝队可能采取极端措施(删站)

五、防御建议

5.1 开发层面

  1. 输入过滤

    • 严格校验上传文件内容和类型
    • 限制导出文件名和路径
  2. 信息隐藏

    • 移除接口中的CMS标识
    • 禁用前端注释中的敏感信息

5.2 运维层面

  1. 监控措施

    • 建立异常文件修改监控
    • 对周末和非工作时间活动加强警戒
  2. 应急方案

    • 准备完善的应急响应流程
    • 避免直接关站等极端措施

附录:工具与技术清单

类别 工具/技术 用途
信息搜集 FOFA, 云悉 资产发现
漏洞扫描 Burp Suite 目录爆破、漏洞测试
代码审计 自制路径生成工具 未授权访问发现
漏洞利用 自定义HTTP请求 文件上传绕过
环境搭建 PigCMS源码 本地漏洞验证

通过本次演练可见,全面的信息搜集、深入的代码审计能力以及灵活的漏洞利用思路是成功渗透的关键要素,同时也凸显了权限维持和对抗意识在实战中的重要性。

攻防演练实战教学:从信息搜集到漏洞利用 一、演练概述 本次攻防演练持续10天,前4天仅获得两个外围权限,未能进入核心内网。演练特点: 无靶标提供,完全依赖自主信息搜集 采用纯外网攻击方式(无钓鱼手段) 主要针对厂商系统进行渗透测试 二、信息搜集方法论 2.1 基础资产发现 备案查询 :通过ICP备案信息获取初始资产 搜索引擎 :使用FOFA、云悉等网络空间测绘工具 移动端分析 :APP脱壳逆向、公众号接口分析、小程序逆向 企业信息 :天眼查查询母公司及子公司备案和资产信息 2.2 二次信息拓展 IP范围扫描 :对发现的资产进行C段、B段扫描 目录爆破 :针对已发现网站进行目录扫描 资产关联 :通过已获取信息寻找关联系统 三、实战渗透过程 3.1 初始突破尝试 3.1.1 功能点测试 发现目标子公司备案网站系统: 表面注册功能失效,F12检查发现注册代码被注释 删除注释符号后成功注册账号 尝试文件上传功能但被文件大小限制阻挡 3.1.2 ThinkPHP框架探测 确认使用ThinkPHP框架但版本未知 尝试常见TP5 RCE漏洞未果 无法通过报错或敏感文件获取版本信息 3.2 CMS识别与利用 3.2.1 CMS识别 通过上传接口title泄露发现使用PigCMS 搜索历史漏洞(CNVD平台)但复现失败 3.2.2 源码获取 官网版本昂贵,通过网盘/搜索引擎获取近似版本源码 本地搭建测试环境分析 3.3 代码审计与漏洞利用 3.3.1 未授权访问发现 使用自制工具生成路径字典,通过Burp Intruder爆破: 配置要点:去掉"Payload Encoding"选项 成功发现未授权访问入口文件 3.3.2 文件上传漏洞分析 发现两处关键上传函数: action_ picUpload : 限制:仅允许图片上传(name=thumb) 文件命名:基于时间戳+随机数 无法用于getshell action_ flashUpload : 利用POC : 3.3.3 数据导出漏洞 发现数据库导出功能存在安全隐患: 潜在利用方式 : 尝试截断后缀(冒号截断失败) Windows文件流截断尝试(未成功) 3.4 蓝队对抗记录 周末突袭 :周六发现webshell被替换为"hack"页面 入口删除 :蓝队删除admin.php后台入口 服务关闭 :最终直接关闭整个网站服务 四、关键经验总结 4.1 渗透测试要点 信息搜集深度 :从备案到关联资产的全方位发现 代码审计技巧 : 关注被注释的功能代码 系统性地遍历未授权访问点 重点审计文件操作函数(file_ put_ contents等) 漏洞利用思路 : 从黑盒测试转向白盒审计 本地环境搭建验证漏洞 多角度尝试截断、绕过技术 4.2 攻防对抗经验 权限维持 :第一时间建立持久化访问通道 规则认知 :不轻信官方规则,做好对抗准备 应急响应 :蓝队可能采取极端措施(删站) 五、防御建议 5.1 开发层面 输入过滤 : 严格校验上传文件内容和类型 限制导出文件名和路径 信息隐藏 : 移除接口中的CMS标识 禁用前端注释中的敏感信息 5.2 运维层面 监控措施 : 建立异常文件修改监控 对周末和非工作时间活动加强警戒 应急方案 : 准备完善的应急响应流程 避免直接关站等极端措施 附录:工具与技术清单 | 类别 | 工具/技术 | 用途 | |------|----------|------| | 信息搜集 | FOFA, 云悉 | 资产发现 | | 漏洞扫描 | Burp Suite | 目录爆破、漏洞测试 | | 代码审计 | 自制路径生成工具 | 未授权访问发现 | | 漏洞利用 | 自定义HTTP请求 | 文件上传绕过 | | 环境搭建 | PigCMS源码 | 本地漏洞验证 | 通过本次演练可见,全面的信息搜集、深入的代码审计能力以及灵活的漏洞利用思路是成功渗透的关键要素,同时也凸显了权限维持和对抗意识在实战中的重要性。