baku分析

baku分析

样本

  • SHA256:704a0fa7de19564bc743fb68aa0652e38bf86e8ab694bc079b15f945c85f4320
  • MD5:8b9a0b44b738c7884e6a14f4cb18afff
  • SHA1:9d9c33493aa0e1a12efe472e7cfc74bebec9a270
  • 木马家族:Babuk

分析

重点关注文件加密部分,baku会在线程中扫描文件并指向加密操作

image-20221204130934095

首先是使用CreateFileW打开待加密的文件,并且通过会话的模式获取正在访问文件得到进程,并终止该进程。即保证待加密的文件没有被其余进程访问。

image-20221204131108630

这里是babku加密文件的关键,babku不是通过直接对磁盘文件读写进行加密,而是将文件映射到进程空间中进行加密的

image-20221204131456878

加密完毕后通过FlushFileBuffers将内存的修改同步到磁盘中,然后通过MoveFileExW将加密后的文件替换原始文件。

image-20221204131651489

用于改写文档内容的API

  • CreateFileW
  • CreateFileMappingA
  • MapViewOfFile
  • UnmapViewOfFile
  • FlushFileBuffers
  • MoveFileExW

结论

baku是通过将文件加载在进程内存中后再进行加密,加密完成后通过刷新流将进程内存的内容同步到磁盘中,最后通过移动文件的方式替换原文件。此过程没有用到Windows读写文件操作的API,这可能是读-写文档卫士不能成功防御的原因。

baku病毒是将原始文件映射到内存中,在内存加密后,在重写回原始文件中,因此对应下图(1)

c5afb72c3ac7268db602cd723d6248a


baku分析
https://h0pe-ay.github.io/babku分析/
作者
hope
发布于
2024年3月13日
许可协议