Loading
0

一款用于定向攻击的JavaScript远控木马分析

近期腾讯反病毒实验室在追踪一知名黑客组织时,发现了一款纯脚本远程控制木马。与传统的远控木马不同,这款木马手法新颖,全程没有释放任何PE文件,通过脚本文件实现全部远控功能,如信息获取、网络访问、遍历目录和上传下载文件等等。

Hackers-With-An-Agenda.jpg

他们手法确实令人耳目一新,但网上关于这类木马的资料少之又少。该木马主要有以下特点:

1.以lnk文件为传播载体,主要功能通过javascript脚本实现,全程没有释放任何PE文件。

2.木马实现了简单的远程控制,分析过程中服务器返回的脚本主要实现了文件管理功能(遍历目录、上传文件、下载文件、执行文件),但理论上服务器可返回任意脚本,实现各种功能。

一、 样本概述

木马传播母体是一个双后缀的lnk文件,且大小只有2KB,由于lnk文件在windows下不会显示其.lnk的后缀名,只是在图标的左下角多了一个小箭头,使用户看起来误以为是doc文件,文件极具欺骗性,如下图:

 图片1.png

(图1. 母体文件)

二、 流程图

图片2.png

三、 详细分析

lnk文件行为:

1.右键打开母体属性对话框,如下图,得到目标命令行。

 图片3.png

2.lnk文件的功能是创建%temp%\x文件,并写入脚本、使用wScript执行创建的文件。

00.png

3.通过此种方式是用户双击一个lnk文件时执行一段恶意脚本的攻击大部分安全软件都无法检测和拦截,通过virustotal扫描发现,仅有不到10%的杀毒引擎能够识别此类攻击。

图片4.png

x行为:

访问C&C,附带参数c=1,接收返回的脚本并执行。

 图片5.png

接收到脚本功能是在%temp%目录下创建{rand}.js(称1.js)、{rand}.js(称2.js)两个脚本文件,并使用执行创建的两个脚本文件。

图片6.png

1.js行为:

下载一个伪装文件到本地存储为%temp%\Korea_EU_FTA.doc,并打开,此伪装相当隐蔽,用户基本无感。

图片7.png

2.js行为:

1)访问C&C,附带参数c=2,接收javascript脚本并执行

 图片8.png

2)循环访问hxxp://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js,直到成功获取到该文件为止,该js文件是aes加密脚本,之后木马将使用此js脚本代码进行网络数据加密。

图片9.png

3)获取本机的计算机名、用户名、IP地址等信息,发送到C&C。

图片10.png

4)读取C&C返回的命令,如果返回的数据类型是text/plain则进行以下命令分发:

命令编号:00 结束循环退出程序
命令编号:0 继续下一轮循环,接收下一个命令
命令编号:1 %temp%目录下创建~f.js并执行,将C&C地址 AES密钥,命令号等信息传递给它,该文件主要用于文件管理
命令编号:2 %temp%目录下创建~t.js并执行,将C&C地址 AES密钥,命令号等信息传递给它,该文件主要用于执行命令/文件

图片11.png

5)如果不是text/plain,则将接收到的数据写入到指定的文件中,文件路径在http头的upload字段中,文件内容在responseBody中。

图片12.png

6)循环以上4- 5步骤,不断进行远控命令分发。

~f.js行为:

从运行参数中获取子命令号,根据子命令号进行命令分发:

命令编号:0 获取计算机所有磁盘驱动器的编号、大小,剩余空间等信息
命令编号:1 返回指定目录中的所有文件信息,目录名称从子命令中获取,由控制端传来。
命令编号:2 上传指定文件,文件路径从子命令中获取,由控制端传过来。

图片13.png

~t.js行为:

从运行参数中获取中获取文件路径、命令,执行。

图片14.png

总结

随着安全软件监控、查杀能力的不断提升,许多木马开始不以传统的PE文件为传播载体,传统上觉得安全的文件都有可能被木马用来作恶,以逃避安全软件的监控和查杀,除了传统的exe、scr、pif、com、bat等扩展名文件不要轻易打开外,对.js、.vbs、.vbe、.lnk等类型的扩展名文件也要格外小心。

【声明】:8090安全小组门户(http://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。