当前位置:   article > 正文

第一个感染UEFI的BootKit——DreamBoot复现_dreambooth

dreambooth

环境Windows 8 64位企业版
在这里插入图片描述
首先看下UEFI的启动过程。

                                   **DreamBoot的HOOK情况**
  • 1

其中bootmgfw.efi被EFI固件在0x10000000地址处加载。
在加载winload.exe的入口点代码前,进行
.text:0000000010108D78 call bootmgfw_Archpx64TransferTo64BitApplicationAsm_hook
Patch的内容:五个字节 0xFF,0xD0,0x48,0x8B,0x25

在加载ntoskrnl.exe代码入口点和初始化内核gdt/idt前
.text:0000000140115820 patch iOslArchTransferToKernel()
Patch的内容:9个字节0x48,0x33,0xF6,0x4C,0x8B,0xE1,0x4C,0x8B,0xEA

smss.exe的导出函数:nt!NtSetInformationThread
kiSystemStartup的一个子函数sub_1406F3360
Patch NX flag activation

Anti patch-guard

  • sub_1406C5050 proc near
  • INIT:00000001406C5060 sub rsp, 28h
  • INIT:00000001406C5064 cmp cs:InitSafeBootMode, 0
  • INIT:00000001406C506B jnz short loc_1406C509A
  • INIT:00000001406C506D movzx edx, byte ptr cs:KdDebuggerNotPresent
  • INIT:00000001406C5091 idiv r8d

如何复现运行Dreamboot?

在这里插入图片描述
编译虚拟机设置,把默认的bios启动更改为UEFI启动。

Dreamboot复现成功后,电脑开机时出现的界面。
在这里插入图片描述
除了EFI加载基地址会变以外,其余均不会改变地址。
在这里插入图片描述

在这里插入图片描述
开机之后先在内核看到一个未知模块的PE,是注册了一个镜像加载回调,可以判定系统已经被成功感染。
在这里插入图片描述
在这里插入图片描述
再次启动后发现没有签名的Microsoft驱动。

首先,感谢任何一个阅读,关注或点赞我博客的朋友!! 当然博客中的任何问题都欢迎大家随时指出! 欢迎有兴趣的人私信留下你的联系方式,我们可以一起沟通,一起学习哦!我的学习交流QQ群366469549。 再次感谢大家的支持!!! 我会再接再厉的!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/751555
推荐阅读
  

闽ICP备14008679号