转载

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

0x00 背景

近期腾讯反病毒实验室在追踪一个知名黑客组织时,发现了一款纯脚本远程控制木马。与传统的远控木马不同,这款木马手法新颖,全程没有释放任何PE文件,通过脚本文件实现全部远控功能,如信息获取、网络访问、遍历目录和上传下载文件等等。其手法确实令人耳目一新,网上关于这类木马的资料少之又少。该木马主要有以下特点:

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

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

0x01 样本概述

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

(图1. 母体文件)

0x02 流程图

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

0x03 详细分析

lnk文件行为

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

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

2、lnk文件的功能是

创建 %temp%/x 文件,并写入脚本、使用wScript执行创建的文件

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

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

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

x行为

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

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

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

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

1.js行为

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

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

2.js行为

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

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

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

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

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

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

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

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

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

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

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

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

~f.js行为

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

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

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

~t.js行为

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

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

0x04 结语

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

原文  http://drops.wooyun.org/papers/16989
正文到此结束
Loading...