据媒体报道,伊朗“Homeland Justice”组织使用No-Justice破坏性工具袭击了阿尔巴尼亚组织。No-Justice工具攻击原理比较简单,仅使用了微软公开的IOCTL_DISK_DELETE_DRIVE_LAYOUT功能。
图1 No-Justice主要功能代码
该功能是这样被描述的:
图2 MS的功能说明
笔者在Win10上进行测试,对比前后对主引导扇区的影响
图3 主引导扇区被修改前的信息
图4 运行过程
图5 主引导扇区被修改后的信息
依据MS的说明,这时候如果选择重装系统,那么即中了攻击者的套路,极有可能磁盘会被重新初始化,从扇区0被格式化到磁盘末尾,这时候首选应当是重建分区表,方便起见可以选择各类WinPE集成的工具,例如DiskGen重建分区表后保存
图6 重建分区表的方法
图7 重建分区表重启后
经过笔者实际测试,发现重建分区表仅是分区恢复了,但系统依旧无法启动,这也是笔者写这篇文章的目的,经过再次对比主引导扇区发现,磁盘签名并没有计算成原始的签名值
图8 磁盘签名问题
在这里,如果没有提前备份过主引导扇区,基本很难恢复系统,这里笔者提供一个取巧的方法进行恢复。磁盘签名值在原始的注册表内有存储,只需要找到原始操作系统注册表内的磁盘签名写回即可恢复系统引导,方法如下:
1)进入WinPE,挂载原始注册表储巢
图9 在WinPE下打开注册表编辑器,选中HKLM
图10 选择加载配置单元
图11 浏览到操作系统所在盘符下windowssystem32config目录选择SYSTEM储巢
图12 选择打开后随便填写一个项名称
2)查看签名值
图13 查看引导分区的磁盘签名值,用小本本抄一下
3)写回签名值
方法一,WinPE中如有磁盘编辑工具可以直接利用工具写回,重启电脑,系统可正常启动
图14 使用Winhex工具写入
方法二,没有磁盘工具可以在dos模式下使用如下debug命令写入,然后重启电脑,系统可正常启动
图15 读主引导扇区
图16 编辑磁盘签名值所在偏移的内容
图17 写主引导扇区
图18 系统正常启动
Yara
rule Malware_KillDisk_C
{
meta:
description = "Homeland_Justice GROUP"
author = "virk"
thread_level = 10
in_the_wild = true
strings:
{74 1B 6A 00 6A 00 6A 00 6A 00 6A 00 6A 00 68 00 C1 07 00} =
condition:
= 0x5A4D) and $a =
}
原文始发于微信公众号(锐眼安全实验室):伊朗黑客滥用windows超级磁盘功能将电脑变砖
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论