勒索软件——JS邮件恶意脚本分析

在互联网发展越来越壮大的同时,网络安全也面临着各种挑战与机遇。在过去数年,基于脚本的恶意软件的大幅增加让企业、用户等面临着更多勒索软件的威胁。

众所周知,勒索病毒等新型恶性病毒,常通过邮件来传播。“邮件欺诈——病毒下载器——恶性病毒”是目前最常见的传播方式。“脚本类”下载者病毒(TrojanDownloader)呈现激增的趋势。病毒制作者经常将这两种病毒作为邮件附件并将其赋以诱惑性的文字发送给受害者。其运行后会下载勒索病毒等高危病毒,使用户造成严重的经济损失。

JavaScript传播方式

用户在访问恶意网站或恶意电子邮件附件时可能会受到感染威胁。在大多数情况下,电子邮件附件会提供恶意的可执行文件,通常使用.exe、.pif 或.scr 作为扩展名;具有隐藏的双重文件扩展名的看上去无害的文档;或者嵌入恶意可执行文件的文件存档。

垃圾邮件活动最常用的文件名包括“发票”、“扫描”、“文档”、“任务”、“传真”等形式的文件名。

图1:以发货确认邮件形式显示的.zip 附件中包含恶意JavaScript 的电子邮件

JavaScript恶意脚本形式

互联网中所流行的绝大多数脚本病毒都不同程度的应用了混淆技术。其主要混淆手法如下:

1.随机变量名及函数名。

图2:随机变量、函数名混淆效果图

2.添加垃圾代码。

脚本病毒中的垃圾代码有两种比较常见的形式:a)在代码中插入大量注释;b)在逻辑中添加大量无效分支。

图3:垃圾代码举例

3.等效替换。

常见形式如下:a)常数替换。例如:将0替换成(-485+485)/993;b)字符串拆分;c)函数拆分。

4.利用自定义算法加密原始代码数据。

Nemucod(即JS/TrojanDownloader.Nemucod)是一个近年来十分流行的JavaScript脚本病毒。Newmucod利用包含zip文件的邮件来广泛传播。邮件是以一种非常值得信赖的方式写的,声称是发票,在法院或其他官方文件中出现的通知。攻击者是试图让收到邮件的人去打开附件中的恶意JavaScript,而JavaScript一旦被打开后,就会下载并安装恶意软件到受害者的电脑。Newmucod会在网上下载多种其他类型的恶意软件。

ESET的推广人员Peter Stančík 说:“Nemucod当前主要下载勒索软件,例如TeslaCrypt or Locky。它们加密受害者电脑上的数据并勒索赎金。”

图4:Nemucod代码展示图

计算机感染机制

恶意JavaScript 运行时,通常会从远程主机下载可执行文件,并将其保存在%TEMP% 文件夹中。这些脚本会使用wscript.shell、msxml2.xmlhttp 和adodb.stream 等ActiveX 控件创建HTTP GET 请求来下载此文件。例如,使用wscript.shell 通过GetSpecialFolder 和TemporaryFolder(值= 2)来获取环境变量%TEMP%,或使用参数%TEMP% msxml2.xmlhttp从远程服务器下载恶意二进制文件,并使用”Open” 方法。这些脚本会使用所需HTTP 方法GET、URL 以及“true”或“false”布尔值这三种参数,分别执行同步或异步调用操作。

在前面的实例中,反伪装很普通,因为要使用其他格式转换Unicode(打印文本编码标准)是很容易的。此代码段中的每个Unicode 字符均与一个ASCII字符相对应。

将图4 Nemucod代码解密后,能够看到此代码是使用外部URL 将EXE 文件下载到TEMP 文件夹中。

图5:解密代码展示

总结

  • 脚本类病毒有几大明显优势:

1.各大电子邮件服务网站对文本文件的审查力度有限。

2.用户对此类文件的警惕性较低。

3.脚本病毒的混淆成本较低。

  • 在这里给出小小的安全建议:

1.不要打开陌生人发的邮件附件;

2.提醒那些经常接收外部邮件的同事,比如说财务和HR部门;

3.定期备份数据,外部的光盘或者其他存储介质最好不要连接到电脑上;

4.定期安装系统和软件更新;

5.安装最新的安全软件。

发表评论