作者梦野间

URSNIF 变种通过收集鼠标移动轨迹判断是否处于沙盒以绕过查杀

发布于:2017-08-10 18:15:45 阅读:97 回帖:0



2016年1月 Forcepoint 安全实验室报告了一个通过邮件进行传播的Ursnif银行木马,它在初始HTTP请求中使用“Range“特征来规避检测。


在2017年7月我们在一封恶意邮件中发现了Ursnif的新变种,附件中是一个加密的word文档,解密密码在邮件的正文中。正如2017年4月以来记录的几个Ursnif的活动,这个word文档包含了几个混淆过的VBS文档,通过WMI来载入恶意DLLs。


然而,这些例子中出现了一些新的特征,包括使用鼠标位置的组合来进行反沙盒,和使用文件的时间戳来解码他们的内部数据,并从Thunderbird应用中偷窃数据。


分析


诱饵邮件的一个例子如下所示:




在解密之后,它显示了三个以“docx“为扩展名的OLE文档图标,它诱惑用户去双击它们(如下图)。



事实上,他们的文件属性表明他们是三个VBS脚本,包含同样调试混淆过的代码,使用大量垃圾脚本来掩盖正常的逻辑。

一旦脚本被触发,它就会从“hxxp://46.17.40[.]22/hyey.pnj”处下载恶意软件。如果失败了,它就会从另一个网站进行下载:“hxxp://inshaengineeringindustries[.]com/head.pkl”,这些文件事实上是可以通过WMI载入的DLL文件:


rundll32 [malwarepath] DllRegisterServer


恶意DLL被加壳,并填充了大量垃圾代码以防止对其进行静态分析。在运行时,它会下载第二个DLL文件,并把这个新的DLL文件映射到当前地址,并修复IAT和重定位表,最后跳转到入口点执行。


下载下来的DLL文件首先会检测自身的完整性,然后:


——进行反沙盒检测

——进行反VM检测

——通过自动运行的注册表项实现持久化

——将它本身注入到‘explorer.exe’进程中

——分析的剩余部分将重点关注基于鼠标移动反沙盒/解密功能。


反沙盒检测


这个例子中使用的算法,使用了当前的和先前的鼠标坐标来检测鼠标的移动并避开沙盒环境,因为沙盒环境中鼠标通常是不移动的。它进一步使用了进程产生的值来暴力破解自己的解密密钥。


第一步——产生Key


首先,恶意软件计算上一次和当前鼠标x和y坐标间的D-Value(delta)。然后把.BSS段的相对虚拟地址(RVA)和 “SizeOfRawData”的和,作为基础种子。


把这个基础种子与文件的创建时间(在这个例子中是2017年4月11日)进行XORs(异或)运算,并将得到的值与鼠标移动D-Value的低5位相加,最终的结果作为解密密钥。



第二步——解密.BSS段


恶意软件会进行一个循环运算,在这个运算中,每次把DLL的.BSS段的一个DWORD,和当前的DWORD数据以及上一个DWORD数据进行异或,然后和解密密钥进行异或,将得到的值循环右移count位(count为循环计数器),最终将结果替换掉当前的DWORD数据。



第三步——验证解密密钥


在.BSS段的数据被解密后,从.BSS段的偏移0x61d,0x619和0x625分别获取三个值,将它们的总和与“0EE553B4E“这个校验和进行比较。如果匹配上了,就会执行余下代码,否则它就会恢复加密的.BSS段,并重新计算一个新的key来进行另一次解密和验证操作。


因为在沙盒环境中,基于鼠标移动的D-Value值总是0,解密出来的BSS段总是不对,它就会循环执行这段解密代码。当在实际的环境中,因为使用的仅仅的D-Value的低5位而不是整个32位,会更有可能得到正确的解密后的段数据。


解密密钥本身是一个重要的全局常量,在随后的解密APIs的代码,一个隐藏的PE文件(在这个变种中是DLL),同步对象,注册表数据,URLs等等中都有使用到。


此外,解密操作在运行时进行,防止内存分析工具转储恶意软件内存的整个明文字符串。


使用进一步的注入操作解密Windows APIs:



使用解密密钥,可以从第二个DLL文件中提取出第三个DLL文件,然后将它释放到一个临时缓冲区中,然后注入到“explore.exe”进程中。



保护声明


Forcepoint的顾客可以免受这一威胁,因为他们受到Forcepoint云和网络安全和保护,包括电子邮件,web和NGFW安全产品的一部分的高级分类引擎(ACE),ACE(也叫木马ACE)提供不需要签名的分析来识别恶意目的,包括掩饰恶意软件的逃避技术。Forcepoint NGFW能够检测并拦截TOR。


保护主要集中在下面攻击场合中:


场合2(引诱)-可以识别并拦截与这一攻击相关的恶意电子邮件

场合5(下载文件)-可以预防各种变体进行下载

场合6(自动通报)-尝试联系C&C服务器的行为会被拦截


总 结


Ursnif通过在邮件中包含明文密码,使用加密文档作为附件。一般而言,如果附件中包含敏感内容,发送者就会采用这种方式。最近几年,这一方法被攻击者广泛使用,这样不仅能够绕过IDS检测,也能欺骗接受者,使它们相信邮件中包含重要信息。

总而言之,Ursnif非常隐蔽:它通过Tor与C2服务器进行交互,使其难以被追踪,并带有反沙盒和反VM技术。

这一例子中和Thunderbird相关的功能的基本原理还不清楚:这可能是一次尝试,也就意味着将来可能的版本中可能会有更多的电子邮件客户端或应用包含这一特征。


感染指标


下载位置

hxxp://46.17.40[.]22/hyey.pnj
hxxp:// 46.17.40[.]142/45.txt
hxxp://inshaengineeringindustries[.]com/head.pkl
hxxp://ardshinbank[.]at/key/x32.bin
hxxp://ardshinbank[.]at/key/x64.bi


C2

aaxvkah7dudzoloq[.]onion
0x7293c971[.]r


SHA1 哈希值

82615b4bb03ba00f141bb4d4b57bf8a73e76ebe9
bdcb4b96a281da3e09e29071dc9661ce39d442f1
73fdde182759e644a3d7296537a048a6980e8526
60e221bd9e234ab6786def88a1f0e11460678fb4
ce7e48d8ee6e113429dba75a8528568fda4b0067


设置自动运行的注册表项

Key:   HKEY_USERS\S-1-5-21-746137067-1417001333-1606980848-500\Software\Microsoft\Windows\CurrentVersion\Run
Name:  Random String
Value: rundll32 [malwarepath]


本文由看雪翻译小组 梦野间 编译,来源Yogi Gao@Forcepoint's security lab  转载请注明来自看雪社区


返回