导语:安天在近期捕获的样本中发现了一种利用CHM传播的银行木马,该银行木马来源于一种垃圾邮件传播的附件中。
一、CHM银行木马概述
安天在近期捕获的样本中发现了一种利用CHM传播的银行木马,该银行木马来源于一种垃圾邮件传播的附件中。当用户收到这种垃圾邮件并打开附件中的CHM文件时,恶意软件就会执行一个小的PowerShell命令,其下载并执行第二阶段的PowerShell脚本,当用户执行脚本时,会创建一个计划任务来运行恶意软件,从而获得持久性。
CHM是微软专有的在线帮助文件,它由编译成单一压缩文件格式的HTML页面组成,最常用的CHM是离线软件文档和帮助指南,这种编译过的HTML帮助文件已经被恶意软件作者利用过多次,他们将恶意的Downloader代码偷偷放入文件中,使其难以被检测。
图1 传播银行木马的垃圾邮件
目前,此款恶意软件主要针对巴西的用户进行传播,但是利用CHM隐藏恶意软件代码逃避检测正在成为攻击者努力发展的攻击手段,而且不排除此类银行木马在全球大规模传播的可能,因此需提高警惕。
经验证,安天智甲终端防御系统(英文简称IEP,以下简称安天智甲)、探海威胁检测系统等产品可通过安天自主先进的AVL SDK for Network威胁检测引擎(简称安天AVL SDK)对该病毒做出精准检测和处置。
作为网络安全产品的“发动机”,优质的威胁检测引擎可为产品注入强大的动力。安天AVL SDK不仅具有非常高的威胁检出率,并且可对威胁提供精准的命名和配套的知识体系;不仅可增强产品防御的有效性、灵活性,同时也可输出有效的安全知识和威胁情报。
针对该类威胁,安天AVL SDK可深度解析电子邮件、CHM等十余种常见文件结构,细粒度地对文件进行解析还原,具有针对性地分离出文件中易于隐藏恶意代码的代码部分,为后续防御提供准确的检测结果。
二、CHM银行木马样本分析
2.1 攻击流程概述
1.攻击者大量发送垃圾邮件,使受害方收取邮件,并打开附件中的CHM文件。
2.当受害方打开CHM文件,Microsoft Help查看器会加载包含在CHM文件中的恶意HTML文件。
3.当HTML文件被加载后,会运行其中的JavaScript代码。
4.当JavaScript代码运行后,会解密出一段PowerShell指令。
5.当PowerShell指令执行后,会从网络中下载用于攻击第二阶段的PowerShell脚本。
6.新的PowerShell会从网络中下载远控木马程序及其它功能组件。
2.2 详细分析过程
2.2.1 拆解恶意CHM文件
图 2.1 CHM文件的AVL SDK拆解结果
拆解CHM文件后,得到了10个文件,其中“Load_HTML_CHM0.html”为包含恶意JavaScript指令的HTML文件。
图 2.2 HTML文件中的恶意JS代码调用函数
HTML文件通过调用“open()”函数来运行恶意JavaScript代码。
2.2.2 恶意JavaScript代码分析
JavaScript代码通过“open()”函数运行,该函数首先将两段加密数据进行解密。
图 2.3 JS代码中的两段加密数据
加密数据的解密过程如下:
1. 对加密数据段进行base64解码。
2. 将解码出的数据进行逐字节异或解密操作。
图 2.4 解密后的数据
将两段数据解密后,得到图2.4中的结果。第一段解密数据为运行PowerShell的命令,其中包含另外一段加密数据,将在下一节进行分析。第二段解密数据是一段ClassID,“adb880a6-d8ff-11cf-9377-00aa003b7a11”能够运行后面出现的PowerShell脚本。
2.2.3 恶意PowerShell脚本分析
如图2.4所示,该攻击通过终止“hh.exe”(用于浏览CHM文件的程序)及设置窗口样式为“hidden”,来逃避检测。
运行后,其对自身包含的加密数据段进行base64解码操作,解码后的结果如下图所示:
图 2.5 解码后数据
解码后的数据为一段PowerShell指令,该指令会下载另外一段PowerShell指令。
图 2.6 下载的PowerShell片段
该PowerShell指令会下载远控木马程序及其它功能组件并运行,从而达到控制受害方主机、窃取信息的目的。
三、 防护建议议
警惕陌生来源的电子邮件,不要轻易打开邮件附件。