近日,一种新型的KillDisk变种攻击被发现,该攻击主要针对拉丁美洲地区的金融机构。经初步研究表明,该攻击可能是另一个有效载荷的一部分,或者背后存在着更大规模的攻击。
KillDisk背景
KillDisk在2015年12月份发现被用于攻击乌克兰的能源系统,以及银行、铁路和采矿等行业。该恶意软件逐渐转变成为一种网络勒索威胁,危及Windows和Linux平台。KillDisk生成的赎金信息是用来欺骗用户的,由于KillDisk会覆盖或者删除文件并且不会保存加密密钥,因此用户想要恢复文件是不可能的。
KillDisk攻击行为
图1: KillDisk攻击感染流程
感染主机
该KillDisk变种目前看来是由另一个进程或者恶意软件释放安装的,并且文件路径是硬编码的(c:\windows\dimens.exe),这表明它应该是和安装包一起使用的,或者是攻击框架的一部分。
该变种还有一个自毁功能,但并不是真正的删除自己,而是在运行时将文件重命名(c:\windows\0123456789),这个字符串也是硬编码的。KillDisk的原始文件路径为(c:\windows\dimens.exe),因此在磁盘取证过程中如果搜索了dimens.exe,找到的将会是一个大小为0字节的新生成的文件。
删除文件
该变种从驱动器b:开始,遍历所有的磁盘分区,如果其中包括系统目录,则以下目录/子目录中的文件/文件夹不会被删除:
- WINNT
- Users
- Windows
- Program Files
- Program Files (x86)
- ProgramData
- Recovery(大小写敏感检查)
- $Recycle.Bin
- System Volume Information
- Old
- PerfLogs
该变种在删除文件之前会先随机重命名文件,随后会使用0x00覆盖文件的前0x2800字节。
图2:KillDisk先覆盖再删除文件
清除磁盘
该变种会枚举磁盘从\\.PhysicalDrive0 到 \\.PhysicalDrive4,读取每一个成功打开的设备的主引导记录(MBR)并且使用“0x00”覆盖前0x20扇区。随后,该变种会利用从MBR读取的信息继续对其他分区进行攻击。对于非扩展分区,它会覆盖前0x10和最后一个分区。对于扩展分区,它会覆盖扩展引导记录(EBR)以及被关联的另外2个额外分区。
图3:KillDisk读取MBR,随后覆盖EBR
重启主机
该KillDisk变种中存在很多数字参数,这些参数决定着该变种在关闭受感染的主机前需要等待的时间(默认为15分钟)。在尝试重启主机时,该变种会尝试终止以下进程:
- 客户端/服务器运行子系统 (exe)
- Windows启动应用程序(exe)
- Windows登录应用程序 (winlogon.exe)
- 本地安全机构子系统服务 (exe)
终止这些进程均可能导致强制重启或者迫使用户重启(例如造成蓝屏,死机等)。同时,KillDisk也会使用ExitWindowsEx函数来强制重启机器。
图4:重启机器前的等待时间参数
KillDisk防护建议
鉴于KillDisk的攻击能力,以及它可能牵扯到更大规模攻击的可能性,以下为一些防护建议:
- 保持系统及其应用程序的更新/修补,防止攻击者利用安全漏洞。
- 定期备份数据并确保其完整性。
- 强化最小特权的原则(least privilege)。网络分段和数据分类有助于防止横向感染和进一步暴露。
- 部署安全机制,如应用程序控制/白名单和行为监控,这些安全机制可以阻止可疑程序运行并阻止异常系统修改。
- 主动监控系统和网络; 启用和使用防火墙以及入侵防护和检测系统。
- 实施管理事件响应政策,推动积极的补救战略。
- 培养网络安全意识的工作场所,进一步加强组织的安全态势。
参考链接:
IOC
sha256:8a81a1d0fae933862b51f63064069aa5af3854763f5edc29c997964de5e284e5