AZORult是一款著名的信息窃取器和恶意软件下载器,其3.3版本于2018年10月出现在黑市论坛上。AZORult可以从用户终端窃取大量信息,包括文件、缓存的密码、甚至加密货币key。
之前国内外许多安全公司都对AZORult活动和样本进行了分析。近期Minerva研究人员发现了新的AZORult样本利用其他技巧来扩展其功能,包括使用签名的恶意可执行文件来绕过安全工具的检查。下面是这次AZORult攻击活动的详细分析。
签名可疑的Google Update
调查最早是基于一个可疑的可执行文件。有用户反馈说Minerva的软件拦截了一个名为GoogleUpdate.exe的可执行文件,而该文件是经过有效的、非吊销的证书签名的。
恶意文件的图标于合法updater图像匹配:
恶意Google Updater的图标看起来和合法的没有什么区别。
但对恶意文件进行签名的证书并不属于Google:
GoogleUpdate.exe的签名是有效的,但不属于Google
虽然该签名是有效的,但是并不能说明该文件就是非恶意的,但是大多数用户可能会这么认为。证书签发机构CA只验证签名者的信息是合法的,而无法确保该证书签名的文件的安全性。
用来对恶意GoogleUpdate.exe文件签名的证书要么是从合法所属者处窃取的,要么是出于恶意目的获取的。因为证书是2018年11月19日签发的,而且已经被用过上百次了,每次都是为伪装成GoogleUpdate.exe的文件进行签名。目前还无法确定签名者是否意识到证书被恶意使用了。
签名文件中的AZORult
在确认GoogleUpdate.exe是恶意文件后,下一步就是确认其所属的恶意软件家族。研究人员分析网络通信发现其与AZORult模式比较相似:
HTTP POST request to a /index.php Using a .bit domain (for DNS over blockchain) Typical User-Agent Mozilla/4.0…
AZORult典型的HTTP POST请求
研究人员使用Intezer Analyze平台分析发现,解包后,与AZORult有98%的相似度。
Intezer对GoogleUpdate.exe文件的分析报告
驻留机制
其中一个AZORult样本的功能是不仅使用GoogleUpdate.exe文件名,还可以替换C:\Program Files\Google\Update\GoogleUpdate.exe中合法的Google Updater。这可以以管理员权限帮助恶意软件执行,并允许恶意软件建立驻留机制。Google定义了2个计划任务来更新其产品,分别是:
· GoogleUpdateTaskMachineCore – 登陆时运行,每隔1天
· GoogleUpdateTaskMachineUA – 每隔1天
除此之外,还有两个Google update服务运行着该二进制文件,这是定义在注册表值里的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\gupdatem\ImagePath HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\gupdate\ImagePath
AZORult变种不修改定时任务或注册表。但替换了原始GoogleUpdate.exe文件后,当更新开始后,恶意软件就可以以管理权限运行了。这样恶意软件就可以在系统中驻留,因为计划任务和服务都是非恶意的。
Google的更新路径, GoogleUpdateBroker启动恶意GoogleUpdate.exe
这也不是一个全新的技术,MuddyWater APT组织就使用过这样的技术,但目前还没有AZORult样本与该方法(组织)之间联系的证据。
除了替换GoogleUpdate.exe外,该AZORult变种还会释放一个副本到C:\ProgramData\localNETService\localNETService.exe,并在注册表中加入一项记录并以服务的形式启动。
5个不同的驻留机制,其中4个是通过替换原有的updater获得的