精于分析对抗的Floxif感染型病毒
2021-04-09 19:05:03 Author: sec.thief.one(查看原文) 阅读量:168 收藏

Floxif 是一种由来已久的 感染型病毒 ,该病毒会 暴力感染受害者机器上的exe以及dll文件 来传播自身,直至今日依然有部分机器受到该病毒感染,痼疾难愈。在2017年,该木马更是捆绑到CCleaner中进行传播,造成大面积感染,部分受感染机器还受到第二阶段有效负载后门程序入侵。

该病毒不仅通过感染文件进行传播,还以巧妙的方式对抗安全分析人员的静态分析和动态调试,而由于病毒代码的问题,也导致了许多被感染程序无法正常运行,影响影响受害者机器的正常使用。

病毒的分析对抗功能

01

静态分析对抗

以病毒的导出函数FloodFix为例,我们首先通过反汇编分析工具快速浏览其功能,但展示出来的反汇编代码却显示,FloodFix调用了子函数SubFunc1,SubFunc1又再调用子函数SubFunc2,SubFunc2却直接调用retn指令返回了。

如上图所示,FloodFix调用到最终的子函数乍看起来似乎没有任何“动作”,并且FloodFix函数下方高地址处似乎还有“冗余的”未识别代码,而实际上,这只是病毒作者对反汇编工具的干扰。病毒作者通过push ,retn指令来完成实际的跳转,而反汇编工具则将retn指令识别为函数的结束,却又发现调用栈不平衡,所以反汇编工具显示“sp-analysis failed”,而木马实际跳转的位置,则是FloodFix函数下方看似“冗余”的代码:

到了这里,似乎动态分析更为恰当,而病毒作者,也为动态分析,准备了惊喜。

02

动态分析对抗

为了对抗针对设置eip指令指针类型的动态调试,木马dll挂钩了宿主进程的ntdll!KiUserExceptionDispatcher函数;因此,任何修改eip指针调试木马dll的行为,都会经由被挂钩的KiUserExceptionDispatcher跳转到Floxif的指令中,再由Floxif调用MessgeBox函数显示错误弹窗并结束线程。

文件感染

Floxif病毒的symsrv.dll一旦加载运行后,会将symsrv.dll释放到Program Files\Common Files\System目录下,并将dll路径写入到HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Windows注册表项中。

同时病毒通过挂钩KiUserExceptionDispatcher函数反调试,挂钩RegOpenKeyExA,RegOpenKeyExW保护隐藏自身注册表项,还挂钩

CredReadW,CreateServiceACreateServiceW,OpenServiceA,OpenServiceW,WinVerifyTrust,CreateFileW,ExitProcess,

CreateProcessInternalW,MessageBoxTimeoutW,WahReferenceContextByHandle

以上函数用于自保和文件感染。

木马加载后,会调用GetSystemDirectoryA,GetWindowsDirectoryA和GetTempPathA API获取%system%,%windows%和%temp%文件夹位置,从而不感染这些文件夹中的文件,从而避免感染系统关机文件导致系统异常。

然后,病毒通过Toolhelp32 API,遍历进程以及进程中的各个模块,如果这些模块不属于%system%,%windows%和%temp%文件夹中的任意一个文件夹的话,那么病毒会将模块对应的文件读取到内存中,进行感染,再将原始文件添加”.dat”后缀名,然后将被感染文件从内存中写入磁盘并命名为原始文件名,再删除已经被重命名添加了.dat后缀的原始文件,从而完成感染。

总结与建议

不同于普通的感染型病毒,Floxif在与安全分析人员的对抗上下了一定的功夫,来增加分析工作的难度,以进一步保护自己。

相关安全建议:

1、前往http:weishi.360.cn/下载安装 360安全卫士 ,可对同类病毒威胁进行有效防护;

2、提高个人网络安全意识,建议从软件官网,360软件管家等正规渠道下载安装软件,对于被 360安全卫士 拦截的不熟悉的软件,不要继续运行和添加信任。


文章来源: https://sec.thief.one/article_content?a_id=eb591aaf75a0229761bff7dc11d43d01
如有侵权请联系:admin#unsafe.sh