攻防实战复盘
医疗系统数据泄露事件还原:SQL注入到脱库全过程
2026年07月05日 · 周日
真实攻击复盘 高级
场景:2026年6月,某三甲医院核心HIS系统被入侵,患者电子病历、处方数据及财务记录遭窃取。攻击者利用面向公众的挂号服务接口SQL注入漏洞突破边界,事件持续72小时后被安全运维团队发现。
攻击 / 事件时间线
1
初始访问:SQL注入突破
攻击者通过信息收集发现医院官网的在线挂号模块存在参数patientId未做类型校验。使用SQLMap自动化工具,以--level 5 --risk 3参数进行深度检测,确认存在基于时间的盲注漏洞。绕过WAF(Web应用防火墙)时,攻击者采用--tamper=space2comment绕过简单的关键字过滤,成功获取数据库版本信息(Microsoft SQL Server 2019)。
SQLMapBurp Suite
2
权限维持:XP_CmdShell提权
获取数据库SA权限后,攻击者未急于脱库。首先启用xp_cmdshell扩展存储过程,执行系统命令whoami确认数据库服务以NT Authority\SYSTEM权限运行。随后,通过certutil命令从远程服务器下载Cobalt Strike的Beacon负载,建立持久化C2通道。为避免触发EDR,Beacon采用HTTPS通信,并配置了5分钟心跳间隔。
Cobalt StrikeCertutil
3
横向移动:域控沦陷
在HIS服务器上,攻击者使用Mimikatz抓取内存中的明文凭证,成功获取域管理员账号哈希。通过PsExec横向移动到备份服务器,发现所有数据库备份文件均存储在此处,且未加密。进一步在域控上创建隐藏的域管理员账户,并利用BloodHound绘制域环境拓扑,确认备份服务器路径为数据窃取最佳通道。
MimikatzPsExecBloodHound
4
数据窃取:FTP外传
攻击者在备份服务器上使用7-Zip将包含患者姓名、身份证号、诊断记录等敏感数据的备份文件打包为加密压缩包(AES-256),避免内容被内容检测设备发现。通过FileZilla客户端,以被动模式将压缩包上传至海外VPS,整个过程耗时6小时,共计窃取约50GB数据。为掩盖痕迹,攻击者删除部分系统日志并修改文件时间戳。
7-ZipFileZilla
蓝队视角 · 发现与处置
数据外传期间,医院内网流量异常触发奇安信NGSOC告警:备份服务器产生大量出站流量至境外IP。安全团队立即启动应急响应,通过Wireshark抓包分析发现FTP协议特征,确认数据外传。随即切断备份服务器网络,提取内存镜像并保留入侵痕迹。威胁狩猎组使用YARA规则扫描HIS服务器,捕获Cobalt Strike的Beacon内存片段。溯源阶段,通过分析攻击者使用的SQLMap指纹和C2域名Whois信息,关联至已知APT组织。最终,通过备份恢复系统,并部署数据库防火墙。
涉及关键技术 / 工具
SQLMap 自动化注入与WAF绕过Mimikatz 凭证窃取Cobalt Strike C2通道建立
防护经验总结
  • 所有对外接口参数必须实施严格的白名单校验,并使用预编译SQL语句防止注入,同时部署RASP(运行时应用自我保护)作为最后一道防线。
  • 数据库服务账户应遵循最小权限原则,禁用xp_cmdshell等高危存储过程,定期进行权限审计。
  • 对核心数据服务器启用网络微隔离,仅允许特定IP段访问,并在出口部署具备深度包检测(DPI)能力的代理,实时告警异常大流量出站行为。
#SQL注入#数据泄露#医疗安全#Cobalt Strike#Mimikatz
数据安全早知道 · 攻防实战专栏
⚠️ 免责声明
本文内容源自公开披露的安全事件或高仿真模拟场景,所有涉及的组织、系统、技术细节均经过脱敏处理,仅供安全学习与交流参考,不构成任何技术指导或合规建议。
数安早知道
🔗 数据安全与信息安全知识库 datasafe.website
— 点击上方链接访问知识库,获取更多安全资讯 —