这款奇特的银行木马可以根据鼠标移动轨迹来区分用户和虚拟机

在2016年1月,Forcepoint安全实验室报告了一个传播Ursnif银行木马的恶意邮件活动。而在2017年7月份,我们又发现了一种传播新型Ursnif变种的恶意邮件样本。这一次,木马被嵌入在了一份加密的Word文件之中,并且在邮件内容中直接给出了明文密码。根据我们从2017年4月份所记录下的Ursnif活动来看,这种Word文档中包含了多个经过混淆处理的VBS文件,而这些文件将会通过WMI来加载恶意DLL。
但是,我们最新检测到的样本也表现出了很多新的功能,比如说利用鼠标移动轨迹和文件时间戳来判断沙盒环境,以及从Thunderbird应用(Mozilla的邮件工具)中窃取数据等等。
详细分析
下图显示的是我们所检测到的一封恶意邮件截图:

解密成功之后,会显示出三个OLE文档图标,文件后缀名都是docx,这将会诱使用户去直接点击并打开文件:

实际上,这些文件的属性表明这三个文件就是完全相同的VBS脚本,其中包含有完全相同的经过高度混淆化的代码。攻击者在这些代码中填充了大量的无效代码,并以此来掩盖其基本逻辑。
触发之后,它会尝试从地址‘hxxp://46.17.40[.]22/hyey.pnj’下载恶意软件。如果下载失败,它又会尝试从另一个站点‘hxxp://inshaengineeringindustries[.]com/head.pkl’进行下载。下载下来的恶意软件实际上是恶意DLL文件,下载成功之后它们便会通过WMI进行加载:
rundll32 [malwarepath] DllRegisterServer
这种恶意DLL文件经过了打包,并且同样填充了大量的无效代码来防止静态分析。在执行过程中,这些恶意DLL文件还会释放另外的DLL文件,并且将这些新生成的DLL文件映射到当前位置,然后修复导入地址表(IAT)以及重定向表(RT),然后最终跳转到执行入口点。
新生成的DLL文件首先会对自身的完整性进行自检:
-执行反沙盒环境检测;
-执行反虚拟机检测;
-通过Autorun注册表键实现持久化感染;
-将自身注入到"explorer.exe"进程中;
接下来,我们将注意力主要放在恶意软件所采用的基于鼠标移动轨迹的新型沙盒环境检测特性。
反沙盒环境检测
这个样本所使用的算法会对当前鼠标的坐标与之前记录的鼠标坐标进行对比,然后以此来检测鼠标移动,由于沙盒环境下鼠标并不会经常性地移动,因此恶意软件可以通过这种方式来检测沙盒环境。除此之外,在这个过程中它还会生成一个值,然后使用这个值来对其自己的解密密钥进行“暴力破解”。
第一步:密钥生成
首先,恶意软件会计算最后一次和当前鼠标位置的x-和y-坐标,计算后得到Delta值(δ)。然后选择.BSS段的相对虚拟地址(RVA)和‘SizeOfRawData’值作为生成种子。
它会拿文件创建时间(例如’Apr 11 2017′)与生成种子进行异或(XOR)计算,然后用异或计算得出的值加上鼠标移动Delta值(δ)的最低五位数字来生成最终的解密密钥。

第二步:解码.BSS段
恶意软件会循环遍历DLL的.BSS段,每次遍历一个DWORD,然后对当前DWORD数据和上一个DWORD数据进行异或计算。接下来,计算得出的值需要与之前生成的解密密钥以及循环遍历的次数进行异或,然后‘当前’的DWORD会被下一个所替换。

第三步:计算与验证
在.BSS段数据被解码之后,恶意软件会从.BSS段的偏移量0x61d、0×619和0×625处获取三个值,这三个值求和之后会与校验和’0EE553B4E’进行比对。如果比对相匹配,它将会继续执行剩下的代码,否则它将会存储加密的.BSS段元数据并重新进行一次新的密钥生成计算和验证操作。

如果运行在沙盒环境中,则鼠标移动的Delta值(δ)将会一直是‘0’,那么.BSS段的解码结果就一直是不正确的,而恶意软件将会不断地循环执行相同的代码。但在真实环境中,由于算法使用的是Delta值(δ)的最低五位而并非完整的32位数据,因此生成正确解码值的可能性会更高。
解密密钥本身是一个重要的全局常量,之后的解码API\隐藏PE文件、注册表数据和URL等都会需要使用这个常量。
除此之外,解码操作会在运行过程中进行,这样可以防止安全研究人员导出内存中的明文数据流来对恶意软件进行内存分析。
解码Windows API还需要进行进一步的注入操作:

在解密密钥的帮助下,额外嵌入的PE文件(第三个DLL文件)可以安全地从第二个DLL文件的数据域中提取出来,然后将恶意代码释放到一个临时缓冲区中,最后注入到’explorer.exe’进程中。

总结
Ursnif可以通过电子邮件附件(邮件内容中提供了明文密码)的形式进行自我传播,一般只有在发送敏感信息的时候才会使用加密附件。在最近几年里,这种方法得到了网络犯罪分子的广泛使用。在这种攻击场景中,攻击者的Payload可以成功地绕过目标系统中的入侵检测系统,并让目标用户坚定地相信这封邮件中包含的是十分重要的信息。
Ursnif的隐蔽性也非常高,它可以通过Tor网络来与C2服务器进行通信,所以我们很难对其通信流量进行追踪,而且它还具备反沙盒能力和反虚拟机技术,这也使得Ursnif的检测变得难上加难。
入侵威胁指标IoC
下载地址:
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.bin
C2:
aaxvkah7dudzoloq[.]onion
0x7293c971[.]ru
SHA1哈希:
82615b4bb03ba00f141bb4d4b57bf8a73e76ebe9
bdcb4b96a281da3e09e29071dc9661ce39d442f1
73fdde182759e644a3d7296537a048a6980e8526
60e221bd9e234ab6786def88a1f0e11460678fb4
ce7e48d8ee6e113429dba75a8528568fda4b0067
设置AutoRun注册表键:
Key: HKEY_USERS\S-1-5-21-746137067-1417001333-1606980848-500\Software\Microsoft\Windows\CurrentVersion\Run
Name: Random String
Value: rundll32 [malwarepath]
* 参考来源:forcepoint, FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
小龙