1. 项目背景与动机
去年冬天的一个深夜,我接到了一通紧急电话——客户的生产服务器被勒索病毒攻击,所有业务数据被加密。看着屏幕上那个刺眼的红色倒计时和比特币支付要求,我第一次感受到作为运维人员的无力感。这次事件最终以支付赎金告终,但也让我下定决心要彻底搞明白两个问题:第一,现代勒索病毒的攻击路径究竟有哪些;第二,市面上号称"防勒索"的备份方案是否真的可靠。
于是,我决定在自己的实验环境复现这场灾难。这不是普通的病毒测试,而是一次刻意设计的"叛变实验"——我要观察当备份系统本身被攻陷时,数据到底还能不能保住。选择松鼠备份作为测试对象,是因为它在中小企业市场占有率前三,广告中明确承诺"免疫勒索病毒"。
2. 实验环境搭建
2.1 硬件配置清单
- 宿主机:Dell PowerEdge R740xd(双路Gold 6248R/256GB RAM)
- 存储:4块960GB SSD做RAID10(系统盘)+ 12块8TB HDD做RAID6(数据盘)
- 网络:独立千兆物理网卡(与办公网络物理隔离)
2.2 软件环境
- 虚拟化平台:VMware ESXi 7.0 U3
- 测试虚拟机配置:
- DC服务器:Windows Server 2019(域控制器)
- 文件服务器:Windows Server 2016(承载共享文件夹)
- 终端PC:Windows 10 21H2(模拟员工办公机)
- 备份服务器:CentOS 7.9 + 松鼠备份企业版v5.3
2.3 勒索病毒样本
经过多方渠道验证,最终选用2022年活跃度TOP3的病毒家族:
- LockBit 3.0(当前最流行的RaaS模式病毒)
- BlackCat(使用Rust编写的新型变种)
- Phobos(针对中小企业的高频攻击变种)
重要提示:所有样本均存放在加密U盘中,实验网络全程断外网,实验后所有存储介质低格处理
3. 攻击链复现与观察
3.1 初始入侵模拟
故意在终端PC上执行伪装成"工资表.xlsm"的恶意文档,该文档携带CVE-2021-40444漏洞利用代码。实测发现:
- 宏警告被用户点击"启用内容"(模拟典型社工场景)
- 漏洞触发后,内存中加载了Cobalt Strike beacon
- 病毒通过SMB协议横向移动到文件服务器(利用弱口令Admin/Admin123)
3.2 权限提升与持久化
攻击者在DC服务器上发现了未修复的PrintNightmare漏洞(CVE-2021-34527),通过以下路径获得域管理员权限:
- 使用SharpHound收集域内信息
- 发现备份服务账户具有SeBackupPrivilege权限
- 通过磁盘卷影拷贝窃取NTDS.dit文件
- 使用Mimikatz提取krbtgt账户哈希
3.3 加密过程实录
病毒在获得域控权限后,按以下顺序发动攻击:
- 先加密备份服务器的挂载点(包括松鼠备份的存储仓库)
- 通过组策略推送加密程序到所有域成员
- 同时删除卷影副本(vssadmin delete shadows /all /quiet)
- 在每个加密文件尾部添加.[id]_[email].lockbit扩展名
4. 备份系统的"叛变"时刻
4.1 第一道防线失效
松鼠备份的"实时防篡改"功能本应阻止陌生进程修改备份文件,但实际观察到:
- 病毒通过合法的备份服务账户执行加密操作
- 备份软件的驱动层防护被绕过(利用已签名的恶意驱动)
- 存储仓库的访问日志显示加密过程持续了17分钟,期间无告警
4.2 最意外的发现
备份管理界面在攻击后显示"最后一次备份成功",但验证时发现:
- 全量备份文件头被篡改(前512字节被覆盖)
- 增量备份链的校验值全部失效
- 还原时提示"备份集不完整,无法继续"
4.3 数据抢救尝试
尝试使用松鼠备份的应急恢复工具时,遭遇更严重问题:
- 恢复ISO镜像内的工具组件被加密
- 云同步的备份副本同样遭到加密(因使用相同凭证)
- 备份服务器的审计日志被批量删除
5. 血泪教训与防御方案
5.1 备份系统硬性要求
根据这次测试,总结出防勒索备份必须满足的黄金标准:
- 物理隔离:备份存储必须与生产网络空气隔离
- 权限分离:备份账户绝不能有域管理员权限
- 版本固化:采用WORM(一次写入多次读取)存储
- 异构验证:定期用第三方工具校验备份可用性
5.2 具体改进方案
目前在生产环境实施的防御措施:
- 备份架构:改用磁带库+物理运输的离线备份方案
- 权限管理:新建专属备份域,与主域建立单向信任
- 流程控制:实施4-2-1备份原则(4份副本、2种介质、1份离线)
- 监控增强:部署备份完整性巡检系统(每小时校验关键备份)
5.3 运维习惯建议
从这次测试中提炼的日常操作规范:
- 永远假设备份系统会被攻破,定期做恢复演练
- 备份账户使用独立密码体系(不与域密码同步)
- 关键服务器上禁用Office宏、PowerShell脚本执行
- 对备份存储设置写入白名单(只允许备份服务进程)
6. 后续验证与厂商反馈
将测试结果提交给松鼠备份安全团队后,他们确认了以下漏洞:
- 服务账户权限过高(已发布v5.4修复)
- 驱动签名验证不严格(需重新认证)
- 云凭证同步机制缺陷(改为二次认证)
这次实验最深刻的体会是:在勒索病毒面前,没有100%安全的系统。真正的防御不是某个神奇工具,而是层层设防的深度防御体系。现在我的手机里存着所有关键系统的离线备份密码,它们被写在纸上锁在保险箱——这是数字时代最讽刺的安全措施,却也是最可靠的最后防线。