全程带阻:记一次授权网络攻防演练(上)
字数 1510 2025-08-18 11:38:52

授权网络攻防演练教学文档

1. 攻击链概述

完整的网络攻击链通常包括以下七个步骤:

  1. 信息搜集
  2. 漏洞利用
  3. 建立据点
  4. 权限提升
  5. 权限维持
  6. 横向移动
  7. 痕迹清除

2. 信息收集阶段

2.1 初步观察

  • 目标系统:供应商管理系统
  • 关键观察点:
    • .do接口地址(可能为Struts2框架)
    • 登录功能
    • 密码找回功能

2.2 技术验证

  1. Struts2验证

    • 使用安恒S2漏洞验证工具扫描
    • 确认无Struts2命令执行漏洞
  2. 登录功能分析

    • 存在图片验证码
    • 验证码防御机制有效(应答标志变化)
    • 暂时放弃暴力破解

3. 密码找回功能攻击

3.1 用户名枚举

  • 漏洞点:密码找回功能未验证验证码
  • 攻击方法:
    • 使用中国人姓名(top500)和后台账号字典
    • 枚举获得有效账号:nana、admin、liufei

3.2 敏感信息泄露

  • 漏洞点:密码找回响应中包含敏感信息
  • 泄露信息包括:
    • 用户邮箱
    • 哈希密码(MD5格式)

3.3 密码破解

  1. 信息库查询

    • 从邮箱提取用户名查询历史密码
    • 仅找到liufei的历史密码但验证失败
  2. 哈希破解

    • 使用彩虹表破解liufei密码:!QAZ2wsx
    • 其他账号密码未破解

4. 低权限访问

4.1 使用弱口令登录

  • 账号:liufei
  • 密码:!QAZ2wsx
  • 功能限制:仅有回收站功能,无业务数据

4.2 社工字典生成

  • 使用hashcat生成社工属性密码字典
    • 规则库:dive.rule
    • 基础信息:用户名nana
    • 生成字典:se_passwds.txt
  • 破解结果:nana密码为nanacnacnanac

5. 权限提升尝试

5.1 上传功能分析

  • 非管理员禁止上传文件
  • 需要获取admin权限

5.2 密码重置漏洞

  1. IDOR漏洞

    • 参数email可被篡改
    • 可劫持密码重置邮件到攻击者邮箱
  2. 攻击步骤

    • 修改email参数为攻击者邮箱
    • 接收重置链接
    • 修改admin密码

注意:实际演练中需获得授权

6. JWT攻击

6.1 JWT结构分析

  • 格式:三段式base64(header.payload.signature)
  • 解码发现:
    • 第一部分:JWT标识
    • 第二部分:包含用户名信息
    • 第三部分:签名

6.2 JWT攻击方法

  1. 未校验签名

    • 直接修改user字段为admin
    • 尝试绕过签名验证(失败)
  2. 禁用哈希

    • 修改alg字段为none
    • 使用pyjwt库生成无签名token
    • 尝试绕过(失败)
  3. 密钥爆破

    • 使用自定义脚本爆破弱密钥
    • 爆破成功:密钥为"\(admin\)"

6.3 垂直越权实现

  1. 使用正确密钥生成伪造token
    • 修改user字段为admin
    • 使用正确签名
  2. 成功绕过权限检查
    • 实现文件上传功能

7. 工具与技术总结

7.1 使用工具

  1. 信息收集:
    • Burp Suite
    • 安恒S2漏洞验证工具
  2. 密码破解:
    • cmd5.com彩虹表
    • hashcat
  3. JWT攻击:
    • pyjwt库
    • 自定义爆破脚本

7.2 关键技术

  1. 用户名枚举技术
  2. 社工字典生成技术
  3. JWT签名绕过技术
  4. 垂直越权技术

8. 漏洞总结

  1. 用户名枚举漏洞
  2. 敏感信息泄露漏洞
  3. 弱口令漏洞(liufei)
  4. 社工属性口令漏洞(nana)
  5. 任意用户密码重置漏洞(IDOR)
  6. JWT弱密钥漏洞(导致垂直越权)

9. 防御建议

  1. 密码找回功能:
    • 实施验证码保护
    • 限制错误响应信息
  2. 认证机制:
    • 使用强密码策略
    • 避免密码哈希泄露
  3. JWT实现:
    • 使用强密钥
    • 严格校验签名
    • 禁用none算法
  4. 权限控制:
    • 实施最小权限原则
    • 关键操作二次验证

10. 后续攻击方向

  1. 文件上传getshell
  2. 权限维持技术
  3. 内网横向移动
  4. 痕迹清除技术

注:实际攻击需获得授权,本文仅用于教学目的

授权网络攻防演练教学文档 1. 攻击链概述 完整的网络攻击链通常包括以下七个步骤: 信息搜集 漏洞利用 建立据点 权限提升 权限维持 横向移动 痕迹清除 2. 信息收集阶段 2.1 初步观察 目标系统:供应商管理系统 关键观察点: .do 接口地址(可能为Struts2框架) 登录功能 密码找回功能 2.2 技术验证 Struts2验证 : 使用安恒S2漏洞验证工具扫描 确认无Struts2命令执行漏洞 登录功能分析 : 存在图片验证码 验证码防御机制有效(应答标志变化) 暂时放弃暴力破解 3. 密码找回功能攻击 3.1 用户名枚举 漏洞点:密码找回功能未验证验证码 攻击方法: 使用中国人姓名(top500)和后台账号字典 枚举获得有效账号:nana、admin、liufei 3.2 敏感信息泄露 漏洞点:密码找回响应中包含敏感信息 泄露信息包括: 用户邮箱 哈希密码(MD5格式) 3.3 密码破解 信息库查询 : 从邮箱提取用户名查询历史密码 仅找到liufei的历史密码但验证失败 哈希破解 : 使用彩虹表破解liufei密码: !QAZ2wsx 其他账号密码未破解 4. 低权限访问 4.1 使用弱口令登录 账号:liufei 密码: !QAZ2wsx 功能限制:仅有回收站功能,无业务数据 4.2 社工字典生成 使用hashcat生成社工属性密码字典 规则库:dive.rule 基础信息:用户名nana 生成字典:se_ passwds.txt 破解结果:nana密码为nanacnacnanac 5. 权限提升尝试 5.1 上传功能分析 非管理员禁止上传文件 需要获取admin权限 5.2 密码重置漏洞 IDOR漏洞 : 参数email可被篡改 可劫持密码重置邮件到攻击者邮箱 攻击步骤 : 修改email参数为攻击者邮箱 接收重置链接 修改admin密码 注意:实际演练中需获得授权 6. JWT攻击 6.1 JWT结构分析 格式:三段式base64(header.payload.signature) 解码发现: 第一部分:JWT标识 第二部分:包含用户名信息 第三部分:签名 6.2 JWT攻击方法 未校验签名 : 直接修改user字段为admin 尝试绕过签名验证(失败) 禁用哈希 : 修改alg字段为none 使用pyjwt库生成无签名token 尝试绕过(失败) 密钥爆破 : 使用自定义脚本爆破弱密钥 爆破成功:密钥为"$admin$" 6.3 垂直越权实现 使用正确密钥生成伪造token 修改user字段为admin 使用正确签名 成功绕过权限检查 实现文件上传功能 7. 工具与技术总结 7.1 使用工具 信息收集: Burp Suite 安恒S2漏洞验证工具 密码破解: cmd5.com彩虹表 hashcat JWT攻击: pyjwt库 自定义爆破脚本 7.2 关键技术 用户名枚举技术 社工字典生成技术 JWT签名绕过技术 垂直越权技术 8. 漏洞总结 用户名枚举漏洞 敏感信息泄露漏洞 弱口令漏洞(liufei) 社工属性口令漏洞(nana) 任意用户密码重置漏洞(IDOR) JWT弱密钥漏洞(导致垂直越权) 9. 防御建议 密码找回功能: 实施验证码保护 限制错误响应信息 认证机制: 使用强密码策略 避免密码哈希泄露 JWT实现: 使用强密钥 严格校验签名 禁用none算法 权限控制: 实施最小权限原则 关键操作二次验证 10. 后续攻击方向 文件上传getshell 权限维持技术 内网横向移动 痕迹清除技术 注:实际攻击需获得授权,本文仅用于教学目的