查看: 3286|回复: 23
收起左侧

[讨论] pitou新变种快速传播 于系统加载前执行

[复制链接]
火绒工程师
发表于 2024-2-28 17:44:56 | 显示全部楼层 |阅读模式
近期,火绒威胁情报系统监到木马病毒pitou的最新变种正在快速传播。该病毒感染系统后,可以根据C&C服务器下发的配置信息发送邮件进行钓鱼攻击和广告推销。同时,该病毒还采用内核级对抗手段来规避安全软件的查杀,并且能够在操作系统加载前执行,其较强的隐蔽性和持久性对用户构成较大安全威胁。目前,火绒安全产品可对上述病毒进行拦截查杀,请用户及时更新病毒库以进行防御。
查杀图
该病毒被运行后,先通过多段shellcode来加载最内层的恶意模块,随后劫持系统MBR绕过DSE保护,来加载恶意驱动模块,这使得它能够绕开操作系统级别的安全措施,最终再根据C&C服务器下发的配置信息,向外发送垃圾邮件进行钓鱼攻击和广告推销。该病毒执行流程,如下图所示:
病毒执行流程图
在此,火绒工程师建议广大用户,对陌生人发送的文件或可执行程序保持警惕,如有必要先使用安全软件扫描后再使用。
一、样本分析初始化阶段
病毒运行后,先通过多段shellcode来加载最内层的恶意模块,其中还携带混淆代码,这样做的好处是可以绕过杀毒软件的查杀,如下图所示:
执行shellcode1
shellcode1中会解密、执行shellcode2,再通过shellcode2来加载内层的恶意模块,相关代码,如下图所示:
解密执行shellcode2
shellcode2中会以创建傀儡进程的方式来加载内层的恶意模块,相关代码,如下图所示:
加载最内层的恶意模块
在内层的恶意模块中通过直接操作PhysicalDrive0和调用SCSI接口两种方式来直接操作物理磁盘,相关代码,如下图所示:
两种方式直接操作物理磁盘
通过这两种方式来将恶意MBR以及shellcode和恶意驱动模块进行加密并写入到物理磁盘中,相关代码,如下图所示:
将相关恶意数据写入到物理磁盘中
恶意代码在物理磁盘的结构,如下图所示:
恶意数据在物理磁盘中的结构
将恶意代码写入到磁盘后会进行重启,以便执行恶意的MBR,相关代码,如下图所示:
重启执行MBR
恶意MBR运行后,会将第0x80扇区中的shellcode拷贝到0x5000解密并执行,在shellcode中会对INT 13进行HOOK ,并重新调用原始的MBR执行正常的引导逻辑代码,当被HOOK的INT 13 被调用时,会在BootMgr被加载后对其进行HOOK HOOK后的恶意代码中,会通过匹配特征码的方式在Bootmgr(16位)中搜索实模式切换保护模式的代码进行HOOK来执行32位的代码。恶意MBR解密执行shellcode相关代码,如下图所示:
解密、执行shellcode
shellcode中HOOK int13并执行原始MBR,相关代码,如下图所示:
解密执行原始的MBR
hook int 13后的恶意代码中,会在Bootmgr被加载后,对Bootmgr头部进行HOOK,相关代码,如下图所示:
hook Bootmgr
Bootmgr头部被HOOK的代码中,通过特征码在Bootmgr搜索实模式切换保护模式的代码进行HOOK来执行一段32位的恶意代码,相关代码,如下图所示:
HOOK Bootmgr执行32位代码
HOOK的代码会在BootMgr(32位)代码被加载前,搜索Archx86TransferTo64BitApplicationAsm并对其进行HOOK,相关代码,如下图所示:
HOOK Archx86TransferTo64BitApplicationAsm
在Archx86TransferTo64BitApplicationAsm被HOOK后的代码中,搜索winload.exe的OslArchTransferToKernel函数并对其进行HOOK来执行一段64位恶意代码,相关代码,如下图所示:
搜索OslArchTransferToKernel函数
HOOK后的OslArchTransferToKernel代码中,首先通过函数名哈希值获取InbvIsBootDriverInstalled函数地址,并在INIT节中通过特征码搜索StartFirstUserProcess中调用 InbvIsBootDriverInstalled处,对其进行HOOK ,相关代码,如下图所示:
HOOK InbvIsBootDriverInstalled调用位置
StartFirstUserProcess被HOOK后,执行InbvIsBootDriverInstalled函数前,会先加载恶意驱动,具体操作:先会申请一块内存,shellcode复制到新的内存中,之后再创建一个新的线程负责将恶意驱动模块加载到系统中,相关代码,如下图所示:
劫持InbvIsBootDriverInstalled来创建线程
创建的线程函数中会读取、加载扇区中的恶意驱动模块,相关代码,如下图所示:
加载恶意驱动模块
驱动模块分析对抗手段
保护壳
在恶意驱动模块中使用代码虚拟化壳对关键代码进行保护,被加密后的函数会从x86汇编字节码转换为虚拟字节码,由虚拟机进行执行,可以有效防止被安全人员分析。被虚拟化后的函数,如下图所示:
虚拟化的函数
虚拟机是一个大循环会读取后面的虚拟字节码来执行对应的处理函数(handler),虚拟机执行流,如下图所示:
虚拟机执行流
在虚拟机的入口中,会先保存寄存器上下文环境,通过rsi寄存器进行访问,如下图所示:
虚拟机入口
解析虚拟字节码取出handler编号并执行对应handler,相关代码,如下图所示:
执行handler
XOR指令为例, XOR的虚拟字节码为04,虚拟指令XOR的执行过程,如下图所示:
虚拟指令xor执行过程
为了更好地分析病毒,需要对该虚拟机进行还原,幸运的是虚拟机没有使用代码膨胀花指令等混淆手段,已经有相关安全人员对该虚拟机进行过还原并给出还原脚本,详见(https://bin.re/blog/the-dga-of-pitou/),该变种虚拟机Handler相较之前变种,handler编号进行了改变,需要分析所有类型handler 的编号,对脚本进行修改就可以进行还原,新老变种编号对比,如下图所示:
handler编号
需要分析出所有类型handler对应编号,再修改脚本中对应handler的编号就能对虚拟化后的函数进行还原。还原脚本handler编号位置,如下所示:
还原脚本handler编号位置
以下大部分内容都是基于还原后的代码进行分析。
反沙箱和虚拟机
该病毒通过检测bios信息来判断是否处在虚拟机中,相关代码,如下图所示:
检测虚拟机代码
会被检测的列表,如下图所示:
检测列表
禁用杀毒软件以及一些安全组件
该病毒还会通过删除系统更新和组件以及杀毒软件的服务和注册表,相关代码,如下图所示:
禁用安全组件和杀毒软件
DGA算法
该病毒使用DGA算法以当前时间为种子来计算域名,相关代码,如下图所示:
DGA生成域名
在调试该样本时生成的域名列表,经过测试这些域名目前还未被黑客注册,黑客可随时对这些域名进行注册来进行通讯,如下图所示:
生成的域名列表
恶意功能
HOOK 网络相关函数
该病毒会对ndis层相关的函数进行HOOK来和C&C服务器进行通讯,因为 ndis较为底层可以绕过很多防火墙的监控,还可以避免被防火墙流量拦截,在win10中会被HOOK的ndis函数列表,如下图所示:
win10被HOOK的ndis相关函数
病毒通过HOOK NdisMSendNetBufferListsComplete函数来向C&C服务器发送消息,相关代码,如下图所示:
发送数据
病毒通过HOOK NdisMIndicateReceiveNetBufferLists函数来接收C&C服务器发送的消息,相关代码,如下图所示:
接收数据
DGA算法生成的域名还未被黑客注册成C&C服务器,后续没法进行动态调试,不排除后续黑客对这些域名进行注册,以下为静态分析的结果。病毒会根据C&C服务器的配置信息,通过MIME协议向外发送垃圾邮件,pitou支持四种类型MIME,如下图所示:
支持的MIME协议
multipart/related邮件类型为例,接收到C&C服务器的配置信息之后,构建邮件代码,如下图所示:
构建multipart/related类型的邮件
二、附录
HASH:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +3 收起 理由
DisaPDB + 3

查看全部评分

DisaPDB
发表于 2024-2-28 18:07:31 | 显示全部楼层
许久未见bootkit
wowocock
发表于 2024-2-29 14:52:08 | 显示全部楼层

主要是现在都是UEFI的了,老式MBR基本退出历史舞台了。但记得这个PITOU还算是老式里,支持WIN10系统里比较好得。这个样本也不新了,出来2年多了,还是老规律,用10几年前我写的启发式检测即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
wowocock
发表于 2024-2-29 14:53:33 | 显示全部楼层
wowocock 发表于 2024-2-29 14:52
主要是现在都是UEFI的了,老式MBR基本退出历史舞台了。但记得这个PITOU还算是老式里,支持WIN10系统里比 ...

记得有好几个变种,厉害的保护估计还不好检测,必须上强力模式开机检测才行。
Hibike
发表于 2024-2-29 15:51:47 | 显示全部楼层
看见pitou还以为我穿越了
驭龙
发表于 2024-2-29 16:02:25 | 显示全部楼层
wowocock 发表于 2024-2-29 14:53
记得有好几个变种,厉害的保护估计还不好检测,必须上强力模式开机检测才行。

大佬,问一句,如果开启UEFI安全启动和VBS的话,可以防这种的变种吗
wowocock
发表于 2024-2-29 16:20:33 | 显示全部楼层
驭龙 发表于 2024-2-29 16:02
大佬,问一句,如果开启UEFI安全启动和VBS的话,可以防这种的变种吗

UEFI 安全启动针对UEFI BOOTKIT的,这种针对MBR的,本身就没用。因为系统从EFI分区加载,不通过MBR了。这就是当初微软吹捧的UEFI启动的优越性。
但随着BLACK LOTUS的出现,SECURE BOOT也不一定能安全了。只不过利用难度上升了而已。VBS只是增加了内核利用难度,但解决不了ROOTKIT,BOOTKIT的根本问题,更别说各种主板证书泄露后,是否会出现新的 UEFI BIOS BOOTKIT.

评分

参与人数 1人气 +3 收起 理由
驭龙 + 3 版区有你更精彩: )

查看全部评分

驭龙
发表于 2024-2-29 16:28:24 | 显示全部楼层
wowocock 发表于 2024-2-29 16:20
UEFI 安全启动针对UEFI BOOTKIT的,这种针对MBR的,本身就没用。因为系统从EFI分区加载,不通过MBR了。这 ...

感谢解答,之前看主贴分析是MBR感染,但我不确定是否能绕过UEFI,所以问问大佬。

感觉你说的主板证书泄露的新UEFI BOOTKIT太恐怖了,现在有什么防御方法吗
wowocock
发表于 2024-2-29 17:12:15 | 显示全部楼层
驭龙 发表于 2024-2-29 16:28
感谢解答,之前看主贴分析是MBR感染,但我不确定是否能绕过UEFI,所以问问大佬。

感觉你说的主板证书 ...

没有把,就是难度比较高,如同当年的BMW BIOS木马,不过对于BIOS内行人来说不难,就看有没有人那么干了。

评分

参与人数 1人气 +3 收起 理由
驭龙 + 3 感谢解答: )

查看全部评分

驭龙
发表于 2024-2-29 17:25:51 | 显示全部楼层
wowocock 发表于 2024-2-29 17:12
没有把,就是难度比较高,如同当年的BMW BIOS木马,不过对于BIOS内行人来说不难,就看有没有人那么干了。

感谢解答。

对了,我问个题外话,微软搞了好几年的pluton处理器,好像真正使用的设备微乎其微,是不是没发展了,感觉只是比TPM强一点点,所以没多少厂商支持吗?现在好像就AMD ryzen 6000系以后内置,结果没几个OEM在主板上开启的。

难道pluton处理器是凉凉了,未来还有机会大面积推广吗?

先感谢大佬的耐心回复了,谢谢
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-23 18:04 , Processed in 0.146953 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表