请叫我峰子:
感受VPS建站的乐趣。

一次真实的攻防演练:3个高危漏洞,2天被攻破,1年后才完全修复

一次真实的攻防演练:3个高危漏洞,2天被攻破,1年后才完全修复

2023年5月,一场代号”香山网盾”的网络安全攻防演练,让一个刚通过6个月试运行、被判定为”系统运行正常”的政务系统,在2天内被攻击队攻破3次。

01 试运行181天全正常,攻防2天就被打穿

2023年4月30日,中山市香山书房智慧管理系统完成了长达181天的试运行。每天的值班日志上,都工工整整地写着”系统正常”。

建设单位、监理单位、承建单位三方签字确认:系统运行平稳,无重大缺陷发生,已具备正式上线条件。

一个月后,”香山网盾—2023″网络安全攻防演练拉开帷幕。

攻击队入场。2天内,这个”完全正常”的系统被攻破了3次。

试运行验证的是功能,攻防演练检验的是安全。两者是两码事。

02 漏洞一:Spring Boot Actuator 未授权访问

攻击队发现系统的 Spring Boot Actuator 端点没配任何访问控制。

攻击者只需要在浏览器输入 /actuator,就能看到系统的全部监控端点。

但这还不是最严重的。

攻击队找到了 /actuator/heapdump,下载了Java虚拟机的内存转储文件。

一个heapdump文件,装的是系统运行时的一切——数据库密码、配置中心密钥、所有业务数据。

通过解析这个文件,攻击队直接拿到了:

  • MySQL数据库的root账号密码
  • Nacos配置中心的管理员账号密码

从发现漏洞到拿到最高权限,用了不到30分钟。

一个配置项的错误,能让所有加密形同虚设。

03 漏洞二:后台没上锁,密码写在前端代码里

同一个攻击队,换了一个系统——香山书房中控平台。

这次更直接:中控平台的后台页面,压根不需要登录。直接在浏览器输入网址,就能看到全市香山书房的实时监控视频。

不用猜密码,不用绕认证,连门槛都没有。

攻击队继续翻看前端代码,在 config.js 文件中找到了系统账号和密码。虽然密码用了MD5加密,但2023年的MD5,在线网站一秒就能破解。

两个高危漏洞叠加:

  • 后台未授权:直接访问,全市监控视频一览无余
  • 前端硬编码:拿到账号密码,登录系统任意操作

把密码写在前端代码里,相当于把家门钥匙贴在门外。

04 漏洞三:一个参数就能绕过登录

攻击队没有停手。第三个漏洞来自图书馆的核心业务系统——Interlib图书馆自动化集群管理系统。

这是一个文件上传漏洞,配合一个让人哭笑不得的认证绕过方式:

只需要在请求中传入 cmdACT=fenjiqun 和任意 loginid,系统就会自动分配一个虚拟操作员身份,直接放行。

不需要正确的账号密码,只需要知道参数名。

攻击队利用这个漏洞,上传了恶意代码,成功提权,获得了服务器的完全控制权。随后上传了内网流量代理程序,开始在政务云内部横向渗透。

一个参数值,把整道门打开了。

代码里的每一行逻辑,都可能是攻击者的入口。

05 防守方做了什么

防守方其实并非毫无察觉。

政务云平台的流量探针设备在攻击发生的24小时内就发出了告警。防守方发现了一个境外IP正在对系统进行Python脚本扫描,目标端口是8182。

溯源分析发现,攻击者通过Swagger API文档页面获取了系统的全部接口信息——Swagger同样没有开启认证。

防守方的响应流程:

  1. 防火墙屏蔽攻击者IP
  2. 屏蔽Swagger接口,访问自动抛错
  3. 对API接口开启认证授权
  4. 粤政易通知项目/技术/运维负责人
  5. 按应急预案上报

1天内完成处置。

但防守方只发现了Swagger这一个问题。攻击队通过另外三条路径,全都成功了。

防守方的监控系统覆盖了网络层,但应用层的Actuator端点、前端代码中的硬编码密码,都处于监控盲区。

你监控不到的,就是攻击者最喜欢的。

06 整改:从发现问题到彻底修复

攻防演练结束后,防守方进行了全面复盘,发现了比攻击队报告更多的漏洞:

漏洞 系统 发现方 整改方案
Actuator未授权→heapdump泄露 智慧管理系统 攻击队 阻断外部访问,更新全部泄露密码
后台未授权+前端硬编码 中控平台 攻击队 增加授权访问,SHA-256替代MD5
Interlib认证绕过+文件上传 图书馆集群系统 防守方复盘发现 增加随机数+加密字符验证,修复注入点

有趣的是,第三个漏洞是防守方在复盘时自己发现的,攻击队并没有报告它。

但整改的代价是高昂的。系统在2022年11月已经申请了延期6个月,原因之一就是”三个测评(等保、第三方软件、密码)流程复杂,整改和复评多次进行”。

攻防演练暴露的漏洞,又让整改周期进一步拉长。

从2023年5月攻防演练发现问题,到2023年12月系统最终通过综合验收,中间整整隔了7个月。

一个安全配置错误,可能让整个项目延期半年以上。

07 三个教训

回顾这场攻防演练,有三件事值得每一个做政务系统的人记住:

第一,试运行正常不等于安全达标。

181天的试运行日志全部正常,但攻防演练2天就被打穿。功能测试验证的是”能不能用”,安全测试检验的是”扛不扛打”。两者覆盖的是完全不同的维度。

第二,安全问题的根因往往是最基础的配置错误。

Actuator没配认证、前端写了密码、登录参数绕过了校验——没有一个是高级攻击技术,全都是基础安全配置。政务系统的安全短板,往往不在技术深度,而在执行细节。

第三,安全整改的代价远超预防。

一个Actuator端点的配置错误,导致数据库密码泄露、系统被控制、项目延期7个月、整改成本数万元。如果在上线前花10分钟检查一下配置文件,这一切都不会发生。

攻防演练的意义,不是证明谁更强,而是让所有人看到:安全不是成本,而是基础设施。


本文案例来源于中山市”香山网盾—2023″网络安全攻防演练的真实记录。人员姓名、IP地址、具体账号密码等敏感信息已做脱敏处理。

铁三角团队 · 峰哥 | write | tech
共同成长 💪

赞(1)
转载请注明:峰网博客 » 一次真实的攻防演练:3个高危漏洞,2天被攻破,1年后才完全修复

登录

找回密码

注册