Library
My library

+ Add to library

Contact us
24/7 Tech support | Rules regarding submitting

Send a message

Your tickets

Profile

返回新闻列表

BackDoor.Gootkit.112——新的多功能后门程序

 

2014.04.21


有后门功能的复杂多组件木马,能够在受感染的计算机上执行来自远程服务器的命令,并不常见。Doctor Web反病毒软件公司的技术人员不久前发现的一种恶意软件就属于此类木马,被命名为BackDoor.Gootkit.112。以下是对这一威胁的构架和运行原理的介绍。


负责将后门程序安装到系统中并实现Bootkit功能的模块显然是BackDoor.Gootkit.112编写人从木马家族Trojan.Mayachok借鉴而来,但同时病毒编写者对源代码进行了一些显著的修改。原来的Trojan.Mayachok在每个版本传播前都会生成一个独有VBR码,并以此码为基础架构恶意软件;BackDoor.Gootkit.112构架中所有功能都集中在dropper中,在感染过程中会改变VBR码。在系统初始化前将分区引导记录(Volume Boot Record, VBR)控制权转交给木马驱动程序,这一驱动程序也是从Trojan.Mayachok借鉴而来,但其代码被部分改写:因此,大部分带有非法目的的命令(用于注入的shell代码,各种表格)变为与库无关联的形式,同时某些命令没有发生改变。特别是,其中一个引用荷马•辛普森剧目中的一个句子“Just pick a dead end and chill out till you die”,加载器初始化后,木马将这行文字加入调试器。值得注意的是,TDSS木马家族(从BackDoor.Tdss.565 (TDL3)及更高版本开始)的编写者也喜欢将类似语句(大多是对荷马•辛普森的引用)转播给调试器。名称Gootkit既出现在恶意软件自身加载器中,也出现在有效负载模块中:


screen


此外,从驱动中删除了用户模式下负责与木马运行模块联系的所有组件,如,使这些模块使用VFS隐藏文件系统资源的组件。同时,在BackDoor.Gootkit.112中保留了对该文件系统进行初始化和保护的功能。


BackDoor.Gootkit.112有效负载模块保存在系统注册表分支中Windows HKLM\SOFTWARE\CXSW,根据操作系统位数使用binaryImage32或binaryImage64。


screen


BackDoor.Gootkit.112为获取有效负载,在SERVICES.EXE、EXPLORER.EXE、IEXPLORE.EXE、FIREFOX.EXE、OPERA.EXE、CHROME.EXE进程注入专门的shell代码。 这种嵌入恶意代码的方法(在用户模式下创建完整新线程,并在CSRSS.EXE中注册)在恶意软件中非常罕见。


shell嵌入代码的主要任务是从系统注册表中加载有效负载模块,或从远程网络资源中下载。有效负载二进制文件经压缩和并加密。


为了提高在被感染系统中的优先权,BackDoor.Gootkit.112使用一种特殊方式绕过用户账户控制保护(User Accounts Control, UAC),使用的是操作系统常规机制shim (Microsoft Windows Application Compatibility Infrastructure)。木马借用网络客户端程序SQL Server (cliconfg.exe),由于该程序AutoElevate属性值为true,因此,Windows会为这些应用提升其优先权来绕过UAC。


BackDoor.Gootkit.112利用程序库apphelp.dll在Windows中创建数据库,其名称和Application参数值随机生成。加载木马使用的是RedirectEXE属性,以便运行“被改过”的版本或恶意软件来取代应运行的应用。BackDoor.Gootkit.112将自己的可执行文件路径和所创数据库链接指定为RedirectEXE属性参数。


screen


数据库创建后使用sdbinst.exe工具安装到系统中,同时该工具AutoElevate属性值也为true,因此以特殊优先权在Windows中启动。总体上绕过UAC的方式表现为:

  1. 木马创建并安装新数据库;
  2. 运行cliconfg.exe工具,以更高优先权在系统启动;
  3. Shim机制终止原始进程,使用RedirectEXE运行木马。


BackDoor.Gootkit.112有效负载为C++语言可执行文件,大约5MB。该文件大部分为JavaScript编译器,名为Node.JS。 可执行文件中包含70多个JavaScript语言脚本,大部分为Node.JS内核,能够为运行内设对象创建方便的界面。部分脚本实现木马的恶意功能:使后门程序能够执行来自远程服务器的命令,并下载补充模块,并和BackDoor.Gootkit.112主要模块一样将其保存于系统注册表。 木马能够执行以下命令:

  • 拦截http流量;
  • 执行嵌入;
  • 阻止某些URL;
  • 截屏;
  • 获取系统运行中进程的列表;
  • 获取本地用户和用户组列表;
  • 卸载指定进程;
  • 执行控制台命令;
  • 运行可执行文件;
  • 自动更新木马

及其他指令。


我们已经提到,木马将代码嵌入正在运行的进程所使用的方法十分罕见。在wasm.ru论坛网名为Great的用户曾经写过类似算法:


screen


在这一描述中可以看到典型的回归状态:类似状态我们可以在BackDoor.Gootkit.112反汇编代码中观察到:


screen


可以推测病毒编写者是简单借用了论坛上公布的代码,然而在wasm.ru论坛公布的源代码的一个功能是名为DRIVER_TO_SHELLCODE_PARAMETERS的架构。类似名称的构架在另一作者个人博客中发现,该博客中详细描述了这种嵌入技术,并确认是与伊利亚Great一起编写的:


screen


同时在同一博客中,博客主人表达了对Node.JS框架的喜爱,其功能也被广泛用于木马代码中。这一作者曾发表题为《NodeJS\C++:注册表原生扩展》的博文,描述了Windows系统注册表分支SOFTWARE\CXS运行方法:


screen


在另一篇名为《NodeJS:Javascript的Spyware?》的博文中,作者提到了间谍模块SpywareModule,同时该模块的方法带有前缀“Sp”:


screen


类似代码也被应用于BackDoor.Gootkit.112


screen


根据上述种种迹象可初步判定这一新的恶意软件的编写者是谁。


BackDoor.Gootkit.112的特征码已经添加到病毒库中,因此该木马不会给Dr.Web反病毒软件产品用户带来威胁。

Tell us what you think

To ask Doctor Web’s site administration about a news item, enter @admin at the beginning of your comment. If your question is for the author of one of the comments, put @ before their names.


Other comments