“紫狐木马”暴力来袭,不幸被查杀
- 2018-09-18 19:52:31
一:木马概述
360安全中心近期接到用户反馈,在下载安装并且使用了某个下载器后,电脑不定期的会被安装,甚至重复安装各种软件,在提取相关文件分析后,我们发现这是一类利用系统正常"Pending File Rename Operations"机制替换系统文件,实现开机自动启动加载驱动(自动下载软件)的恶意木马,我们将其命名为"紫狐"。据初步统计,目前至少有三万以上用户中毒。
二:木马分析
我们先看下木马整个执行流程:
开始运行下载器后会联网下载木马安装包下载地址
http://216.250.99.5/m/wpltbbrp_011up.jpg
wpltbbrp_011up.jpg该文件实际上是一个MSI安装包
该MSI运行后:
木马安装包MSI包含3个文件,一个非PE文件(加密的PE文件),另外两个分别是32位和64位的木马DLL:
木马安装后会通过PendingFileRenameOperations实现开机启动,比较有意思的是,木马会进行多次删除替换,来创建多次进程链实现断链防止查杀。替换系统文件Sense.dlll启动,我们把它叫FakeSense.dll。
FakeSense.dll启动后,DLL会创建Shellcode并执行,将自身DLL代码拷贝到临时内存,再把DLL进行free,然后把临时内存再写回进程代码中,来实现隐藏,删除木马DLL原体。删除木马FakeSense.dll过程先将FakeSense.dll 重命名为C:WindowsAppPatchCustomS721141.tmp然后将之前备份的C:WindowsAppPatchAcpsens.dll拷贝到C:Windowssystem32sens.dll
内存Shellcode执行:
删除木马文件过程如下:
先调用MoveFileA将C:Windowssystem32sens.dll
文件移动到
C:WindowsAppPatchCustomS721141.tmp
再调用CopyFileA将原系统文件C:WindowsAppPatchAcpsens.dll
放回到C:Windowssystem32sens.dll
删除FakeSens.dll (C:WindowsAppPatchCustomS721141.tmp)
然后会解密出非PE并创建服务启动
该模块会创建互斥,检测DLL是否在winlogon或者svchost进程中,如果在则解密内存DLL和驱动文件,创建Svchost进程并注入Shellcode执行,再将DLL和驱动远程写入Svchost进程中供Shellcode调用:
注入的DLL进行驱动释放,名称为dump_开头拼接随机数字,进行加载:
驱动文件:
驱动入口处注册MiniFilter和线程回调:
线程定时器回调:
MiniFilter中隐藏自身木马文件:
32位挂钩NtEnumerateKey函数隐藏自身注册表项目:
然后替换掉Ntfs.sys的 NtfsFsdCreate派遣函数:
Hook后地址为:
访问保护的文件时候会返回STATUS_ACCESS_DENIED:
抹除掉驱动信息:
线程回调中注入代码:
关机回调:
注入后svchost.exe创建的木马线程:
后联网下载安装各种软件,从用户反馈机器上看被安装了四五款各类软件:安装命令行为:/c start "" "C:WindowsTEMPFastpic_u44047309_sv67_52_1.exe" /at=591 /tid1=67
三:安全提醒
为了电脑和隐私的安全,尽量不要下载来历不明的软件,更不要相信木马提示退出安全防护,如果安全软件提示"发现木马风险"要立即清理,目前360安全卫士已经支持"紫狐木马"查杀,发现电脑反复自动安装软件的用户可以下载360安全卫士进行查杀。