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

148次阅读
没有评论

共计 3387 个字符,预计需要花费 9 分钟才能阅读完成。

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

近期,火绒威胁情报系统监到木马病毒 pitou 的最新变种正在快速传播。该病毒感染系统后,可以根据 C &C 服务器下发的配置信息发送邮件进行钓鱼攻击和广告推销。同时,该病毒还采用内核级对抗手段来规避安全软件的查杀,并且能够在操作系统加载前执行,其较强的隐蔽性和持久性对用户构成较大安全威胁。目前,火绒安全产品可对上述病毒进行拦截查杀,请用户及时更新病毒库以进行防御。
pitou 新变种快速传播 于系统加载前执行
查杀图
该病毒被运行后,先通过多段 shellcode 来加载最内层的恶意模块,随后劫持系统 MBR 绕过 DSE 保护,来加载恶意驱动模块,这使得它能够绕开操作系统级别的安全措施,最终再根据 C &C 服务器下发的配置信息,向外发送垃圾邮件进行钓鱼攻击和广告推销。该病毒执行流程,如下图所示:
pitou 新变种快速传播 于系统加载前执行
病毒执行流程图
在此,火绒工程师建议广大用户,对陌生人发送的文件或可执行程序保持警惕,如有必要先使用安全软件扫描后再使用。
样本分析

初始化阶段

病毒运行后,先通过多段 shellcode 来加载最内层的恶意模块,其中还携带混淆代码,这样做的好处是可以绕过杀毒软件的查杀,如下图所示:
pitou 新变种快速传播 于系统加载前执行
执行 shellcode1
在 shellcode1 中会解密、执行 shellcode2,再通过 shellcode2 来加载内层的恶意模块,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
解密执行 shellcode2
在 shellcode2 中会以创建傀儡进程的方式来加载内层的恶意模块,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
加载最内层的恶意模块
在内层的恶意模块中通过直接操作 PhysicalDrive0 和调用 SCSI 接口两种方式来直接操作物理磁盘,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
两种方式直接操作物理磁盘
通过这两种方式来将恶意 MBR 以及 shellcode 和恶意驱动模块进行加密并写入到物理磁盘中,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
将相关恶意数据写入到物理磁盘中
恶意代码在物理磁盘的结构,如下图所示:
pitou 新变种快速传播 于系统加载前执行
恶意数据在物理磁盘中的结构
将恶意代码写入到磁盘后会进行重启,以便执行恶意的 MBR,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
重启执行 MBR
恶意 MBR 运行后,会将第 0x80 扇区中的 shellcode 拷贝到 0x5000 解密并执行,在 shellcode 中会对 INT 13 进行 HOOK,并重新调用原始的 MBR 执行正常的引导逻辑代码,当被 HOOK 的 INT 13 被调用时,会在 BootMgr 被加载后对其进行 HOOK,在 HOOK 后的恶意代码中,会通过匹配特征码的方式在 Bootmgr(16 位)中搜索实模式切换保护模式的代码进行 HOOK 来执行 32 位的代码。恶意 MBR 解密执行 shellcode 相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
解密、执行 shellcode
shellcode 中 HOOK int13 并执行原始 MBR,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
解密执行原始的MBR
hook int 13 后的恶意代码中,会在 Bootmgr 被加载后,对 Bootmgr 头部进行 HOOK,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
hook Bootmgr
在 Bootmgr 头部被 HOOK 的代码中,通过特征码在 Bootmgr 搜索实模式切换保护模式的代码进行 HOOK 来执行一段 32 位的恶意代码,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
HOOK Bootmgr 执行 32 位代码
被 HOOK 的代码会在 BootMgr(32 位)代码被加载前,搜索 Archx86TransferTo64BitApplicationAsm 并对其进行 HOOK,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
HOOK Archx86TransferTo64BitApplicationAsm
在 Archx86TransferTo64BitApplicationAsm 被 HOOK 后的代码中,搜索 winload.exe 的 OslArchTransferToKernel 函数并对其进行 HOOK 来执行一段 64 位恶意代码,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
搜索 OslArchTransferToKernel 函数
被 HOOK 后的 OslArchTransferToKernel 代码中,首先通过函数名哈希值获取 InbvIsBootDriverInstalled 函数地址,并在 INIT 节中通过特征码搜索 StartFirstUserProcess 中调用 InbvIsBootDriverInstalled 处,对其进行 HOOK,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
HOOK InbvIsBootDriverInstalled 调用位置
StartFirstUserProcess 被 HOOK 后,执行 InbvIsBootDriverInstalled 函数前,会先加载恶意驱动,具体操作:先会申请一块内存,shellcode 复制到新的内存中,之后再创建一个新的线程负责将恶意驱动模块加载到系统中,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
劫持 InbvIsBootDriverInstalled 来创建线程
创建的线程函数中会读取、加载扇区中的恶意驱动模块,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
加载恶意驱动模块

驱动模块分析

对抗手段

保护壳
在恶意驱动模块中使用代码虚拟化壳对关键代码进行保护,被加密后的函数会从 x86 汇编字节码转换为虚拟字节码,由虚拟机进行执行,可以有效防止被安全人员分析。被虚拟化后的函数,如下图所示:
pitou 新变种快速传播 于系统加载前执行
虚拟化的函数
虚拟机是一个大循环会读取后面的虚拟字节码来执行对应的处理函数(handler),虚拟机执行流,如下图所示:
pitou 新变种快速传播 于系统加载前执行
虚拟机执行流
在虚拟机的入口中,会先保存寄存器上下文环境,通过 rsi 寄存器进行访问,如下图所示:
pitou 新变种快速传播 于系统加载前执行
拟机入口
解析虚拟字节码取出 handler 编号并执行对应 handler,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
执行 handler
以 XOR 指令为例,XOR 的虚拟字节码为 04,虚拟指令 XOR 的执行过程,如下图所示:
pitou 新变种快速传播 于系统加载前执行
虚拟指令 xor 执行过程
为了更好地分析病毒,需要对该虚拟机进行还原,幸运的是虚拟机没有使用代码膨胀花指令等混淆手段,已经有相关安全人员对该虚拟机进行过还原并给出还原脚本,详见(https://bin.re/blog/the-dga-of-pitou/),该变种虚拟机 Handler 相较之前变种,handler 编号进行了改变,需要分析所有类型 handler 的编号,对脚本进行修改就可以进行还原,新老变种编号对比,如下图所示:
pitou 新变种快速传播 于系统加载前执行
handler 编号
需要分析出所有类型 handler 对应编号,再修改脚本中对应 handler 的编号就能对虚拟化后的函数进行还原。还原脚本 handler 编号位置,如下所示:
pitou 新变种快速传播 于系统加载前执行
还原脚本 handler 编号位置
以下大部分内容都是基于还原后的代码进行分析。
反沙箱和虚拟机
该病毒通过检测 bios 信息来判断是否处在虚拟机中,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
检测虚拟机代码
会被检测的列表,如下图所示:
pitou 新变种快速传播 于系统加载前执行
检测列表
禁用杀毒软件以及一些安全组件
该病毒还会通过删除系统更新和组件以及杀毒软件的服务和注册表,相关代码,如下图所示:
禁用安全组件和杀毒软件
DGA 算法
该病毒使用 DGA 算法以当前时间为种子来计算域名,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
DGA 生成域名
在调试该样本时生成的域名列表,经过测试这些域名目前还未被黑客注册,黑客可随时对这些域名进行注册来进行通讯,如下图所示:
pitou 新变种快速传播 于系统加载前执行
生成的域名列表

恶意功能

HOOK 网络相关函数
该病毒会对 ndis 层相关的函数进行 HOOK 来和 C &C 服务器进行通讯,因为 ndis 较为底层可以绕过很多防火墙的监控,还可以避免被防火墙流量拦截,在 win10 中会被 HOOK 的 ndis 函数列表,如下图所示:
pitou 新变种快速传播 于系统加载前执行
win10 被 HOOK 的 ndis 相关函数
病毒通过 HOOK NdisMSendNetBufferListsComplete 函数来向 C &C 服务器发送消息,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
发送数据
病毒通过 HOOK NdisMIndicateReceiveNetBufferLists 函数来接收 C &C 服务器发送的消息,相关代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
接收数据
DGA 算法生成的域名还未被黑客注册成 C &C 服务器,后续没法进行动态调试,不排除后续黑客对这些域名进行注册,以下为静态分析的结果。病毒会根据 C &C 服务器的配置信息,通过 MIME 协议向外发送垃圾邮件,pitou 支持四种类型 MIME,如下图所示:
pitou 新变种快速传播 于系统加载前执行
支持的 MIME 协议
以 multipart/related 邮件类型为例,接收到 C &C 服务器的配置信息之后,构建邮件代码,如下图所示:
pitou 新变种快速传播 于系统加载前执行
构建 multipart/related 类型的邮件
附录

HASH:
pitou 新变种快速传播 于系统加载前执行

温馨提示
想第一时间查看官方最新消息和资讯
可以打开“接收文章推送”哦
pitou 新变种快速传播 于系统加载前执行
pitou 新变种快速传播 于系统加载前执行
转发,点赞,在看,安排一下?

正文完
 0
root
版权声明:本站原创文章,由 root 于2024-02-28发表,共计3387字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码