近期腾讯反病毒实验室捕获了一批针对性攻击的高级木马,该木马使用近期热门的时事话题做诱饵,对特殊人群做持续针对性攻击,目前腾讯电脑管家已经能够准确拦截和查杀该木马。
图 1. 腾讯反病毒实验室拦截到的部分木马文件压缩包
木马介绍
该木马主要通过邮箱等社交网络的方式对特定用户进行针对性推送传播,原始文件伪装成常见的windows 软件安装程序,一旦用户运行了该木马文件,便会将包含 0day 漏洞的一个第三方软件及相应的库文件释放到指定目录中,同时释放一个加密的数据文件到同一目录下。将含有针对性0day 漏洞攻击的命令行参数传递给该文件执行。随后进行自毁操作,不留痕迹。
图 2. 木马安装后将特定的第三方软件文件释放到磁盘指定目录中
该木马释放出的所有 PE文件均为 9158多人视频聊天软件的模块,具有很大的用户群,文件有完整且正确的该公司的数字签名信息。其中的science.exe 在解析命令行参数时存在缓冲区溢出漏洞,且编译的时候未开启 GS 等安全开关,触发后能够执行参数中携带的任意 Shellcode 恶意代码。这也是木马找到这个白文件漏洞来利用的原因,用户群体大,漏洞非常方便利用。由于恶意代码是在正常文件的内存中直接执行,同时在磁盘中驻留的文件均为正常软件的白文件,因此此木马绕过了几乎所有安全防护软件。腾讯电脑管家使用了云查引擎,第一时间发现并查杀该木马,同时已经第一时间通知相关厂商修复该漏洞。
图3.9158多人视频软件安装目录,对比发现,木马释放的PE均在其中
木马加载执行的详细过程
1、首先释放文件到指定目录,共 5个文件,其中 science.exe、DDVCtrlLib.dll、 DDVCtrlLib.dll均是9158多人聊天软件的相关文件,Config.dat是一个加密的数据文件,t1.dat是一个配置文件。
2、带参数运行 science.exe,其中参数共 0×2003 字节,随后原始木马文件进行自毁操作
图 4. 使用含有恶意代码的参数执行含有 0day 漏洞的文件
3、由于 science.exe对输入的参数没有检查,当输入的参数长度过长时,造成栈溢出
图 5. 漏洞细节:由于软件解析参数时没有校验长度,导致缓冲区溢出
图6.漏洞利用细节:精心构造最后三字节数据精确定位跳转执行ShellCode#p#
图 7.ShellCode 的自解密算法
图8. ShellCode的功能是读取并解密Config.dat文件,直接在内存中加载执行
图9.创建一个系统服务,服务对应的镜像文件为science.exe,并带有恶意参数
木马通过创建服务来实现永久地驻留在用户电脑中,实现长期地监控。完成服务创建后,即完成了木马的安装过程,为了隐蔽运行不被用户发觉,木马服务启动后会以创建傀儡进程的方式注入到svchost.exe进程中,在该进程中连接C&C服务器,连接成功后黑客便可通过该木马监视用户桌面、窃取用户任意文件、记录用户键盘输入、窃取用户密码、打开摄像头和麦克风进行监视监听等。从而实现远程控制目标计算机的目的。