如何使用JavaScript混淆来躲避AV

isnull   ·   发表于 2019-04-17 12:01:11   ·   漏洞文章

介绍

前不久,Cybaze-Yoroi ZLAB的安全研究人员发现了一个值得深入研究的可疑JavaScript文件:这个恶意JavaScript文件利用了多种技术来躲避所有AV产品的检测,在著名的VirusTotal平台上,总共58中反病毒解决方案没有一个能够检测到这个JavaScript文件。因此,我们打算对其进行更加深入的分析,并弄清楚这个恶意软件到底使用了怎样的技术。

如何使用JavaScript混淆来躲避AV


技术分析


这个恶意文件采用JavaScript开发,Windows脚本主机系统组件默认是支持该文件运行的。而且该文件所占空间要比常见脚本文件的要大很多,这个脚本大约有1MB左右,脚本内容乍看之下跟乱码差不多。

如何使用JavaScript混淆来躲避AV


脚本内容一眼看去倒是有个挺有趣的地方:整个脚本主体使用的是非ASCII码字符集:


如何使用JavaScript混淆来躲避AV


这些字符/字符串看起来似乎没有任何逻辑可言,但是仔细分析之后,我们发现这是恶意软件的开发人员所使用的第一种技术。首先,使用了ASCII和Unicode字符来混合组成长字符串,并用这种长字符来声明变量。有些地方甚至还涉及到了西里尔字符:


ыNиpsфбm3nxsцвиеKEсыBLQBеnьVWC

而且所有的变量名都有一个特征,即可见的变量名都在“_“字符之后,该字符前面的内容我们是看不到的,因此我们推测攻击者在声明所有变量时使用了常见的前缀。我们可以看到如下所示的变量:


var =[…]_0x5e24

那么第一步就是对这些代码进行反混淆处理,并使用其他的字符来替换掉这些变量前缀,增强代码的可读性。结果如下:


var A_0x5e24=[‘fromCharCode’,’function\x20H2B([string]$s){$H=@();forx20($i=0;$ix20-ltx20$s.Length;$i+=2){$H+=[Byte]::Parse($s.Substring($i,2),[System.Globalization.NumberStyles]::HexNumber);};return\x20$H;};$_b=(get-itemproperty\x20-path\x20\x27HKCU:\x5cSOFTWARE\x5cMicrosoft\x5cRun\x27\x20-name\x20\x27Microsoft\x27).Microsoft;


在分析过程中,我们还发现了另一种混淆技术,这里攻击者结合了ASCII码字符和十六进制字符来处理脚本代码。因为代码中可以看到类似如下图所示的十六进制字符:


0x27
0x20
0x5c

把这些十六进制值转义并进行ASCII编码之后,我们得到了它们所代表的实际意义:


0x27→ ‘0x20→ empty space0x5c→ \

经过反混淆处理之后,得到的脚本内容如下:


如何使用JavaScript混淆来躲避AV


这里,每一个十六进制字符前面的反斜杠必须配合一个以ASCII编码的十六进制值。现在,我们可以清楚地看到代码以及JavaScript Dropper中隐藏的可执行代码(部分)了:


如何使用JavaScript混淆来躲避AV


上述代码的第一行,用‘$’字符和_b变量替换了字符‘5’。手动执行整个操作后,我们就可以获取到格式化的可执行文件了,也就是目标设备受感染后最终的攻击Payload:


如何使用JavaScript混淆来躲避AV


我们可以看到,前四个字符为“4D5A”,这在Windows环境下的可执行文件中有着重要意义。经过解码后,Payload为了实现持久化感染,会写入下列注册表键:

HKCU\SOFTWARE\Microsoft\Run\Microsoft

此时,我们提取出来的经过解码的可执行文件就可以被VirusTotal平台上大多数AV解决方案检测到了:


其中的代码来自于著名的Remote Access木马,这也是很多网络犯罪分子经常会使用的一款木马病毒,这个变种使用的命令控制服务器如下:


networklan[.]asuscomm[.]com


总结

通过对这个恶意JavaScript脚本进行分析后,我们也了解了目前恶意攻击者的确可以轻松绕过反病毒技术的检测,即使他们使用的是著名的RevengeRAT,在引入了高级混淆技术或其他方式之后他们仍可以“逍遥法外”。

另一个需要引起大家注意的就是,即使该变种被发现了多日并已将后续样本提交到了VirusTotal,几天之后也仅有两个AV解决方案检测到了这个恶意脚本文件,这是不是有点不太合适啊?


转载自freebuf

打赏我,让我更有动力~

0 条回复   |  直到 2019-4-17 | 1237 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.