场景:2026年5月,某三甲医院互联网医院系统遭定向攻击。攻击者从挂号API接口的SQL注入点切入,历时72小时完成从入口点到核心数据库的渗透,最终窃取超200万条患者病历与处方数据。
攻击 / 事件时间线
初始访问:注入点的发现与利用
攻击者扫描发现医院挂号系统的 GET /api/patient/appointment?date= 接口存在时间盲注漏洞。利用 sqlmap 自动化工具,以 --technique=T --delay=1 --random-agent 参数绕过简单WAF规则,获取了web应用后台管理员的数据库账号(webadmin)和哈希密码。随后使用 hashcat 配合rockyou字典破解出明文密码,通过弱口令成功登录至医院内网的管理后台。
sqlmaphashcat
提权与横向移动:堡垒失守
攻击者在管理后台发现文件上传功能存在路径穿越漏洞,上传了经过混淆的 Godzilla Webshell,获取了Web服务器的System权限。通过 Mimikatz 抓取服务器内存中的域管理员凭据,并利用 CrackMapExec 在域内进行横向扫描,发现核心数据库服务器(DB-HIS-PROD)开放1433端口且未配置白名单访问控制。
GodzillaMimikatzCrackMapExec
数据窃取:沉默的脱库
攻击者在数据库服务器上部署 SharpSQLDumper,以域管理员身份连接SQL Server,执行 SELECT * FROM patient_records 等批量查询。为避免触发磁盘告警,数据被分片压缩为500MB的rar包,并通过 Bitsadmin 工具以系统进程名义分段上传至远程的匿名云存储。全过程未启用数据库审计日志,导致脱库行为未被即时发现。
SharpSQLDumperBitsadmin
蓝队视角 · 发现与处置
防守方于攻击发生72小时后才通过外部情报渠道获知患者数据已在暗网叫卖。蓝队应急响应时,通过分析IIS日志发现可疑的GET请求参数异常(大量sleep函数调用),追溯至Webshell上传记录,并在域控日志中定位到异常的Kerberos票据请求。溯源结论:攻击链完整,但防守方缺乏数据库行为审计和东西向流量监控,导致黄金时间内无任何告警。
涉及关键技术 / 工具
SQL时间盲注绕过WAFMimikatz凭证窃取与横向移动Bitsadmin隐蔽传输
防护经验总结
- 部署数据库审计系统(如Database Firewall),对SELECT * FROM 等批量查询触发实时告警。
- 互联网接口必须实施严格的参数化查询,并禁用高权限数据库账号的远程登录。
- 配置域控和服务器日志集中管理(如Windows Event Forwarding),并针对Kerberos异常行为(如服务票据请求异常)建立检测规则。
#SQL注入#医疗数据泄露#横向移动#Mimikatz#数据安全