行业赛半决赛渗透
字数 1142 2025-08-29 08:30:19

行业赛半决赛渗透测试实战教学文档

1. 外网信息收集与初步渗透

1.1 目标识别

  • 目标IP: 192.168.10.128
  • 初始扫描: 全端口扫描发现5503端口存在上传点

1.2 文件上传绕过技术

  • 初始上传PHP文件返回403错误
  • 发现过滤机制:
    • PHP扩展名过滤
    • 危险函数过滤
    • 文件长度限制

绕过方案:

  1. 使用PHP短标签技术: <?=<?php echo ...; ?> 的简写形式
  2. 构造精简的一句话木马: <?=$_GET[1]?>
  3. 参考文章: PHP短标签与输出技术

1.3 获取初始权限

  • 上传成功后通过URL参数执行命令: http://target/upload.php?1=system("whoami");
  • 使用echo写入完整Webshell:
    echo "<?php system($_GET['cmd']);?>" > shell.php
    

1.4 获取Flag

  • Flag1、Flag2、Flag3通过命令执行获取

2. 内网横向移动

2.1 代理搭建

  • 使用Stowaway工具搭建第一层代理
  • 攻击机与目标机之间建立隧道

2.2 第一层内网信息收集

  • 发现内网IP段: 172.16.16.0/24
  • 访问内网服务: http://172.16.16.17/

2.3 Flag获取

  • Flag4、Flag5、Flag6通过内网服务获取

2.4 XXE漏洞利用

绕过技巧:

  • 命令执行限制特殊字符时使用Base64编码
  • 多次编码直到无特殊字符

3. 数据库渗透

3.1 数据库访问

  • 发现数据库服务
  • 默认凭据: root/root
  • 直接连接数据库

3.2 Flag获取

  • Flag8在数据库表中
  • 通过查询所有表数据找到Flag

4. 权限提升

4.1 提权准备

  • Flag9位于/root/flag文件
  • 需要root权限才能读取

4.2 提权方法

  • 官方提示使用xzbot漏洞
  • 参考CVE-XXXX-XXXX (具体漏洞编号需根据环境确定)

5. 深度内网渗透

5.1 第二层代理

  • 使用Stowaway搭建第二层代理
  • 扩展内网访问范围

5.2 第二层内网信息收集

  • 发现新的内网资产
  • Flag10通过第二层内网服务获取

6. 总结与防御建议

6.1 渗透路径总结

  1. 外网文件上传绕过
  2. 命令执行获取初始立足点
  3. 内网代理搭建
  4. 内网服务漏洞利用(XXE)
  5. 数据库渗透
  6. 权限提升
  7. 深度内网横向移动

6.2 防御建议

  1. 文件上传严格限制文件类型和内容
  2. 禁用PHP短标签功能
  3. 命令执行函数禁用或严格过滤
  4. 内网服务最小权限原则
  5. 数据库不使用默认凭据
  6. 及时更新系统补丁
  7. 网络分段隔离

附录: 参考工具与资源

  • Stowaway: 多层代理工具
  • xzbot: Linux提权工具
  • PHP短标签技术文档
  • XXE漏洞利用指南
行业赛半决赛渗透测试实战教学文档 1. 外网信息收集与初步渗透 1.1 目标识别 目标IP: 192.168.10.128 初始扫描: 全端口扫描发现5503端口存在上传点 1.2 文件上传绕过技术 初始上传PHP文件返回403错误 发现过滤机制: PHP扩展名过滤 危险函数过滤 文件长度限制 绕过方案: 使用PHP短标签技术: <?= 是 <?php echo ...; ?> 的简写形式 构造精简的一句话木马: <?=$_GET[1]?> 参考文章: PHP短标签与输出技术 1.3 获取初始权限 上传成功后通过URL参数执行命令: http://target/upload.php?1=system("whoami"); 使用echo写入完整Webshell: 1.4 获取Flag Flag1、Flag2、Flag3通过命令执行获取 2. 内网横向移动 2.1 代理搭建 使用Stowaway工具搭建第一层代理 攻击机与目标机之间建立隧道 2.2 第一层内网信息收集 发现内网IP段: 172.16.16.0/24 访问内网服务: http://172.16.16.17/ 2.3 Flag获取 Flag4、Flag5、Flag6通过内网服务获取 2.4 XXE漏洞利用 发现XXE漏洞特征 参考文章: XXE漏洞详解 XXE实战案例 绕过技巧: 命令执行限制特殊字符时使用Base64编码 多次编码直到无特殊字符 3. 数据库渗透 3.1 数据库访问 发现数据库服务 默认凭据: root/root 直接连接数据库 3.2 Flag获取 Flag8在数据库表中 通过查询所有表数据找到Flag 4. 权限提升 4.1 提权准备 Flag9位于/root/flag文件 需要root权限才能读取 4.2 提权方法 官方提示使用xzbot漏洞 参考CVE-XXXX-XXXX (具体漏洞编号需根据环境确定) 5. 深度内网渗透 5.1 第二层代理 使用Stowaway搭建第二层代理 扩展内网访问范围 5.2 第二层内网信息收集 发现新的内网资产 Flag10通过第二层内网服务获取 6. 总结与防御建议 6.1 渗透路径总结 外网文件上传绕过 命令执行获取初始立足点 内网代理搭建 内网服务漏洞利用(XXE) 数据库渗透 权限提升 深度内网横向移动 6.2 防御建议 文件上传严格限制文件类型和内容 禁用PHP短标签功能 命令执行函数禁用或严格过滤 内网服务最小权限原则 数据库不使用默认凭据 及时更新系统补丁 网络分段隔离 附录: 参考工具与资源 Stowaway: 多层代理工具 xzbot: Linux提权工具 PHP短标签技术文档 XXE漏洞利用指南