一攻击事件概述
Evilnum较早是pwncode于2018年5月披露JavaScript恶意软件。2020年,ESET将恶意软件Evilnum背后的运营团伙跟踪为针对欧洲和亚洲地区金融科技公司的APT组织。除金融领域外,Evilnum还针对游戏、电信等其他行业。该组织的攻击手法多样,包括利用各种漏洞、使用恶意软件和钓鱼等手段进行攻击。
Evilnum组织在攻击活动中部署的恶意软件主要为MaaS恶意软件提供商Golden Chickens的TerraLoader系列:More_eggs、TerraPreter等,相关代码被另一个出于经济动机的威胁组织Cobalt使用。这些恶意软件具有模块化和灵活的特性,可用于执行各种攻击任务,例如窃取凭据、拦截网络流量、窃取敏感数据等。
近日,安恒猎影实验室捕获了Evilnum组织针对以色列地区的攻击样本,原始文件为包含有JPG文件与伪装成PNG图片的LNK文件的ZIP文件,其中JPG文件如下图,为英国居民Emily Rose的护照信息,LNK则伪装成PNG图像引导用户点击执行。Evilnum此前常利用居民身份证件信息用作诱饵文件。
相关攻击流程如下图
二恶意文件执行
1、LNK文件
LNK文件包含一段经混淆的CMD指令,指令执行后将复制%windir%\System32\ie4uinit.exe文件到%tmp%目录,在%tmp%\ieuinit.inf文件中写入相关配置信息,最后启动%tmp%\ie4uinit.exe。
安恒云沙箱对LNK文件的进程信息分析如下,LNK文件运行后将启动ie4uinit.exe连接C2获取后续恶意负载。
2、Javascript脚本
LNK文件执行后将加载后续Javascript指令。
远程Javascript指令运行后,将解密以下3个文件到本地:
1白文件:%appdata%\Microsoft\msxsl.exe
2PersPays:%appdata%\Microsoft\{随机字符}.txt (1758 bytes)
3Pays:%appdata%\Microsoft\{随机字符}.txt (27098 bytes)
其中PersPays文件用于启动白文件msxsl.exe并加载Pays有效负载
除了释放文件外,远程Javascript指令还通过修改注册表键值实现恶意代码的持久化驻留。
最后尝试通过WMI Win32_Process创建cmd进程,启动白文件msxsl.exe并加载Pays有效负载,若创建失败,则使用WScript.Shell启动相应进程。
释放在本地的Pays文件解密下一阶段有效负载的过程与上一阶段类似,均使用basE91算法[1]。
此外,代码还通过WMI监控进程死亡:
三持久化驻留
Javascript脚本运行后将通过注册表HKCU\Environment\UserInitMprLogonScript设置环境变量cscript /b /e:jscript “%APPDATA%\Microsoft\VQKWTAG5IKIFRAUK.txt”,以实现恶意代码的持久化驻留。
四防御规避手段
1原始样本为伪装成PNG图片的LNK文件
2恶意文件中包含的cmd指令与Javascript指令等均经过混淆处理
3cmd指令通过INF-SCT技术执行后续有效负载
INF文件是一个纯文本文件,其中包含在Windows操作系统中安装设备驱动程序和软件应用程序的说明。攻击者通过加载INF文件,可以执行位于远程服务器上的远程脚本组件文件(SCT),并在目标计算机上执行任意代码。
本次捕获的Evilnum组织样本通过运行ie4uinit.exe -basesettings成功加载了名为ieuinit.inf的INF文件[2],从而远程执行了Javascript恶意代码。
4利用msxls.exe绕过AppLocker应用程序控制策略
msxls.exe可以在不启动MicrosoftExcel的情况下解析和执行多种类型的脚本文件,例如:VBScript、JavaScript、PowerShell、Python脚本、Perl脚本等。由于msxls.exe是Microsoft Excel自带的工具,而且在默认情况下被包含在Windows操作系统中,所以攻击者利用了其白文件属性绕过AppLocker的应用程序控制策略。
五信息发现与上传
Javascript脚本检查本机是否存在注册文件,若存在,则请求telemistry[.]net/get.php?id={文件内容} 以获取后续执行。
若不存在注册文件,则获取主机计算机名、用户名、用户所在域以及本机反病毒软件信息,以”|”符连接,请求telemistry[.]net/reg.php?g={主机信息} 进行“注册”,并将返回内容写入注册文件。
六样本关联分析
猎影实验室观察到Evilnum组织域名资产上存在多个攻击样本,这些样本均用于同一攻击活动,活动疑似较早开始于2022年12月,持续至2023年3月。
FileName |
Hash |
Axiance_FullReport_Volume.png.lnk |
76c84c02b044689e11c71fede9f0b61d |
screenshots-9201.jpg.zip |
cf66be681fa44f6a2ed8dc51cc73d0ad |
Screenshot-9501.JPG.lnk |
cf53baf5ec89b66224d208c64c39eeb3 |
Screenshot-9502.JPG.lnk |
f0dc2c2e01e0a7d1425cab539679927e |
Screenshot-9501.JPG.lnk |
ea896822cbc2f484be9d385c211322c1 |
Screenshot-9502.JPG.lnk |
772f58a2bbf689c5b6c8daf9e0445b43 |
Screenshot_0459159441.lnk |
88101c9a59741278879d3a4d59e96540 |
我们对同批攻击样本进行分析后发现,部分样本后续会下发Cobalt Strike Beacon继续加载后续负载(ukmedia[.]store/static-directory/html.mp3)执行。截至分析时间,后续文件已失活。
七活动总结
Evilnum组织在我们最新发现的活动中,使用了混淆cmd指令启动白文件的方式加载初始有效负载,该方式在VT平台上拥有较好的免杀率。同时,该组织还通过另一白文件msxsl.exe绕过AppLocker的应用程序控制策略后加载有效负载。
为了防止msxls.exe被滥用,安恒猎影实验室建议管理员在系统上实施适当的安全控制措施,例如禁用msxls.exe工具或限制其执行权限,以确保系统的安全性。针对WMI被滥用的情况同理,应限制WMI服务的访问权限。其他防范方式还包括正确配置AppLocker规则,及时更新应用程序等。
八 ATT&CK攻击矩阵 V12
Tactic |
ID |
Name |
Description |
执行 |
T1059.003 |
Windows Command Shell |
通过cmd.exe执行命令 |
T1059.007 |
JavaScript |
初始阶段负载获取JavaScript后续脚本执行 |
|
T1204 |
用户执行 |
受害者被引诱打开将安装恶意JS组件的LNK文件 |
|
T1047 |
Windows管理工具 |
JS组件使用WMI获取杀软产品信息 |
|
持久化 |
T1037.001 |
登录脚本 |
JS组件将脚本路径添加到HKCU\Environment\UserInitMprLogonScript注册表项 |
防御闪避 |
T1574 |
劫持执行流程 |
通过在ieuinit.inf文件写入相关配置使恶意代码被白文件ie4uinit.exe加载 |
T1553.002 |
代码签名 |
Evilnum使用合法(已签名)应用程序msxsl.exe作为防御规避机制 |
|
T1036.007 |
双文件扩展名 |
Evilnum使用.png.lnk或.jpg.lnk的双文件扩展名伪装文件真实类型 |
|
T1112 |
修改注册表 |
Evilnum为了在受损系统中持久存在使用注册表的运行键 |
|
T1027 |
混淆文件或信息 |
Evilnum恶意组件中使用大量了加密、编码和混淆 |
|
T1027.009 |
嵌入式有效载荷 |
Evilnum在JS脚本中嵌入了下一阶段有效负载 |
|
T1220 |
XSL脚本处理 |
More_eggs恶意软件使用msxsl.exe从XSL文件调用JS代码 |
|
发现 |
T1518.001 |
安全软件发现 |
JS组件会搜索已安装的防病毒软件 |
T1082 |
系统信息发现 |
Evilnum将有关系统的信息被发送到C&C服务器 |
|
C&C |
T1104 |
多级通道 |
Evilnum其各种组件使用独立的C&C服务器 |
T1105 |
远程文件复制 |
从C&C服务器上传/下载文件 |
|
T1071 |
标准应用层协议 |
HTTP和HTTPS用于C&C |
参考链接
[1] https://github.com/Equim-chan/base91/
[2] https://bohops.com/2018/03/10/leveraging-inf-sct-fetch-execute-techniques-for-bypass-evasion-persistence-part-2/
文章来自:https://www.freebuf.com/