对伪装docx文件病毒的逆向分析

程序IT圈

共 1530字,需浏览 4分钟

 · 2021-04-06



1.病毒文件的基本信息分析



1.1 病毒文件具体展示


病毒文件用的资源图标是wps的图标,以此让大家误认为是docx文件,最终是为了诱导大家点击打开病毒文件。




1.2 病毒信息具体提示


打开解压病毒文件以及打开病毒文件就会被杀毒软件提示是恶意软件,它属于trojan.generic病毒



1.3 trojan.generic病毒的定义信息


trojan.generic它是计算机木马名称,启动后会从体内资源部分释放出病毒文件,有些在WINDOWS下的木马程序会绑定一个文件,将病毒程序和正常的应用程序捆绑成一个程序,释放出病毒程序和正常的程序,用正常的程序来掩盖病毒。病毒在电脑的后台运行,并发送给病毒制造者。这些病毒除有正常的危害外,还会造成主流杀毒软件和个人防火墙无法打开,甚至导致杀毒时系统出现“蓝屏”、自动重启、死机等状况。


1.4 分析病毒的加壳情况


通过Exeinfo PE工具可以分析出该病毒样本是没有加壳的样本,并且是64位程序。通过区段表信息可以看到它是个常规的PE文件



1.5 分析病毒所依赖的模块信息


通过CFF Explorer工具可以查看该病毒样本主要依赖如下的5个模块信息。



1.6 监控病毒文件行为


通过Procmon进程监控工具进行可以监控进程启动时,该病毒文件会删除自身文件,并重新创建一个新docx文件并将原来的文件内容写入到文件中。



下面是病毒运行后释放出来的原始文件,第二个文件是为了分析用,不让其进行自动删除病毒文件。





2.病毒文件的关键功能信息分析



2.1 病毒样本的反调试功能


背景:ollydbg动态逆向分析工具附加病毒文件进程,病毒文件就直接退出了,所以猜测该病毒样本具体反调试功能。


病毒样本的反调试功能函数:IsDebuggerPresent()


过掉反调试功能:通过API Hook(可以用微软Detours库)方式将反调试功能函数给Hook掉,让其反调试功能失效,这样我们的ollydbg动态调试工具才能正常调试。




IsProcessorFeaturePresent()函数详解




IsDebuggerPresent()函数详解



2.2 每次只能启动一个病毒样本实例


通过创建互斥体CreateMutexA()方式进行实现功能



CreateMutex()函数详解



2.3 病毒文件结束自身进程


释放完原始的docx文件后,病毒文件就通过如下方式进行结束自身进程,并通过获取mscofee模块中未导出的函数并调用corExitProcesss函数实现关闭当前进程的非托管进程。



2.4 启动原始的docx文件


通过CreateProcess()函数方式进行启动打开docx文件。



2.5 进行信息收集上传


通过TCP网络传输方式进行数据的信息收集并上传到病毒服务器(服务器ip在山西某地)上,其中服务器信息及上传的内容通过进行MD5加密并进行处理。




3. 总结


通过对该病毒样本的基本信息分析,可以了解到该病毒的整个流程是:启动病毒文件获取病毒文件的路径及文件相关信息,释放出原始的文件到病毒文件所在的路径,并将运行的环境信息上传到病毒服务器,接着自动删除病毒文件,最后启动原始的文件。

通过对病毒逆向分析,可以了解到调用IsDebuggerPresent()函数可以实现反调试检测功能。


end

点个

在看

你最好看


浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报