场景:2026年HVV期间,某政务云平台在流量回溯中发现异常外联,一起以图片隐写为载体、持续两年的数据窃取攻击链逐渐浮出水面。
攻击 / 事件时间线
初始访问
攻击者通过弱口令登录图片服务器FTP端口,植入一张经Steghide隐写过恶意内容的PNG轮播图。前端JS读取图片像素LSB位,按预定偏移量重组出PowerShell脚本,并以内存加载方式执行。图片尺寸、颜色直方图与原始文件几乎一致,CDN与WAF均未产生拦截记录,初始据点就此悄然建立。
SteghidePowerShellFTP弱口令
权限提升
载荷落地后,攻击者探测同网段资产,发现Ruby on Rails运维平台存在CVE-2026-66066远程代码执行漏洞。利用公开PoC写入webshell并获取root权限,随后调用Mimikatz抓取管理员明文口令,通过DCOM远程调用在数据库节点投放Cobalt Strike Beacon,完成从Web入口到数据核心区的权限跨越。
CVE-2026-66066MimikatzCobalt Strike
横向移动
Beacon采用低频率、随机Jitter方式回连C2,流量伪装成HTTPS图片请求。攻击者利用WMI持续枚举域内主机,定位到连接隔离网段的备份服务器后,通过口令复用横向侵入。随后在数据仓库写入三个计划任务,每小时与C2同步时钟并拉取隐写指令,实现长期驻留和指令更新,期间多数安全设备将其识别为正常图片浏览行为。
WMI计划任务Cobalt Strike Beacon
数据窃取
数据仓库留存大量历史扫描件,天然以图片格式存储。攻击者将导出的敏感数据封装进图片LSB通道,再混入每日图片备份流中碎片化外传,两年累计窃取约12.6GB数据。直到防守方对异常流量做语义还原时,才发现外联目标IP恒定、图片分辨率不高但字节数严重偏高,该输出通道才被彻底截断。
LSB隐写PyExfil流量隧道
蓝队视角 · 发现与处置
SOC团队在清理流量基线时发现,某备份服务器对固定图床域名的请求频率远超正常峰值,且返回图片字节数与页面显示尺寸严重不符。结合Sysmon网络连接日志,进一步锁定主机存在rundll32调用powershell的异常父子进程。取证人员从外联图片尾部提取出加密数据块,YARA规则匹配到Steghide工具特征。蓝队随即对涉事主机执行网络隔离与内存转储,删除三个计划任务和Beacon服务;同时在防火墙上封禁C2网段,在DNS层下发Sinkhole策略,阻断其他主机潜在回连,最终确认无二次扩散。
涉及关键技术 / 工具
LSB隐写+Steghide载荷投递CVE-2026-66066漏洞利用Sysmon异常父子进程检测与YARA规则
防护经验总结
- Web目录启用文件哈希监控,图片更新时自动比对像素冗余度;关闭静态资源服务器FTP,改用带MFA的SFTP/SCP,并要求CDN回源时校验文件签名。
- 将运维平台与数据网段VLAN隔离,对Ruby on Rails等服务升级版本或部署WAF虚拟补丁;启用LAPS管理本地管理员口令,严禁同一口令跨服务器复用。
- 在出口DPI设备上对图片文件统计熵值与体积特征,当单图熵值高于正常基线两个标准差或图片大小与画幅比例异常时自动告警,并联动威胁情报阻断可疑C2回连。
#图片隐写#网络暗战#威胁狩猎