baku分析
baku分析
样本
- SHA256:704a0fa7de19564bc743fb68aa0652e38bf86e8ab694bc079b15f945c85f4320
- MD5:8b9a0b44b738c7884e6a14f4cb18afff
- SHA1:9d9c33493aa0e1a12efe472e7cfc74bebec9a270
- 木马家族:Babuk
分析
重点关注文件加密部分,baku会在线程中扫描文件并指向加密操作
首先是使用CreateFileW
打开待加密的文件,并且通过会话的模式获取正在访问文件得到进程,并终止该进程。即保证待加密的文件没有被其余进程访问。
这里是babku
加密文件的关键,babku
不是通过直接对磁盘文件读写进行加密,而是将文件映射到进程空间中进行加密的
加密完毕后通过FlushFileBuffers
将内存的修改同步到磁盘中,然后通过MoveFileExW
将加密后的文件替换原始文件。
用于改写文档内容的API
CreateFileW
CreateFileMappingA
MapViewOfFile
UnmapViewOfFile
FlushFileBuffers
MoveFileExW
结论
baku是通过将文件加载在进程内存中后再进行加密,加密完成后通过刷新流将进程内存的内容同步到磁盘中,最后通过移动文件的方式替换原文件。此过程没有用到Windows读写文件操作的API,这可能是读-写文档卫士不能成功防御的原因。
baku病毒是将原始文件映射到内存中,在内存加密后,在重写回原始文件中,因此对应下图(1)
baku分析
https://h0pe-ay.github.io/babku分析/