场景:某三甲医院互联网诊疗平台,2026年10月深夜,攻击者通过预约挂号接口的SQL注入点,逐步渗透至核心数据库,窃取百万级患者病历数据。
攻击 / 事件时间线
初始访问
攻击者使用sqlmap对预约挂号接口的id参数进行探测,发现存在基于布尔的盲注。通过--technique=B和--tamper=space2comment绕过WAF,成功获取数据库版本和当前用户,确认为MySQL 5.7且具备FILE权限。
sqlmapBurp Suite
提权与横向
利用LOAD_FILE()读取/etc/passwd,并通过INTO OUTFILE写入WebShell至Web目录。随后使用蚁剑连接,发现内网可达HIS数据库服务器。通过mimikatz抓取本地哈希,利用PsExec横向移动至数据库服务器。
sqlmap蚁剑mimikatzPsExec
数据窃取
在数据库服务器上使用Navicat导出patient表(含姓名、身份证、诊断记录),压缩后通过curl分卷上传至境外云盘。为规避流量检测,使用DNS隧道外传部分敏感字段。
Navicatcurldnscat2
清痕
删除WebShell,清理~/.bash_history,使用wevtutil清除Windows事件日志,并重置MySQL通用日志。攻击全程耗时4小时07分,与当日首条攻击命令到清痕结束时间吻合。
wevtutilshred
蓝队视角 · 发现与处置
蓝队通过Sysmon日志发现异常PsExec服务创建,结合EDR告警(进程链sqlservr.exe → cmd.exe → curl.exe)触发研判。SOC立即隔离数据库服务器,提取内存镜像,并通过YARA规则扫描Web目录发现残留WebShell。溯源确认注入点后,紧急下线接口并重置所有数据库凭据。
涉及关键技术 / 工具
SQL盲注与WAF绕过(space2comment)Mimikatz抓取哈希与PsExec横向移动DNS隧道外传数据
防护经验总结
- 对所有用户输入参数实施严格白名单校验,并部署
ModSecurity规则拦截LOAD_FILE等危险函数。 - 数据库服务器禁用
FILE权限,限制INTO OUTFILE,并启用audit_log监控异常查询。 - 部署
Sysmon并配置PsExec服务创建告警,同时限制内网SMB横向移动。
#SQL注入#数据泄露#医疗安全#横向移动#溯源