一、概述

在天穹沙箱日常运营分析过程中,监测到扩展名为 .hta 的文件,但其实际文件头却显示为 ZIP 格式,表明这类样本在文件类型上存在刻意伪装。为探究其攻击手法与规避原理,我们对该样本展开了深入分析。

二、样本信息

  • 样本名:setupi.hta
  • MD5:e5e3578329be22d26443d7f6c6690485
  • SHA1:179e19367d82da0458f42ea7647236a3cda3fb71
  • 文件类型:HTA
  • 文件大小:5.17 MB
  • 恶意家族:银狐
  • 报告链接:天穹沙箱分析报告

文件扩展名为 .hta,文件头信息实际为 50 4B 03 04,从文件头看属于 ZIP 文件。

图1 文件扩展名与文件头信息

但是文件中也包含 HTA 标签 <HTA:APPLICATION 标签。因此该样本的结构分为两部分:前面部分为 ZIP,后面部分为 HTA

图2 HTA标签

HTA(HTML 应用程序,HTML Application)是一个使用 HTML 和动态 HTML 构建的 Microsoft Windows 应用程序,运行在 Internet Explorer 中,并且支持其他的脚本语言,例如 VBS 和 JavaScript。HTML 用来创建用户界面,脚本语言则用来构建程序主体。HTA 运行时不受浏览器安全模型的限制,实际上,它就像是一个被“完全信任”的应用程序。在 Windows 上,由 mshta.exe 运行 .hta 文件,而 mshta.exe 主要依赖文件扩展名(.hta)来判断文件类型,mshta.exe 在读取 .hta 文件时,会扫描整个文件内容 (从头到尾), 如果在某处发现合法的 HTML 标记 + 脚本 (例如 <HTA:APPLICATION><script>、VBScript / JScript 代码等),就会把这些内容作为 HTA 应用来解析执行。

HTA 代码可以拼接到 ZIP 文件后面,还可以拼接到其他的文件 (例如 PDF、图片、BAT 脚本等) 的后面。Windows 的判断方式是基于文件扩展名(.hta),而不是严格依据文件头,一些安全产品 (如邮件网关、反病毒软件等) 更倾向于根据文件内容来判断,它们可能将此类文件当成 ZIP(PDF、图片、BAT 脚本等)处理,从而绕过一些安全产品的文件内容检查,执行隐藏的恶意脚本。

三、样本分析

该样本首先写入了一个名为 cmsadasd.dsadsad 的文件,并创建了大量可执行程序。其中 cmsadasd.dsadsad 文件包含一个合法的签名。

图3 写入可疑文件与创建可执行程序

写入大量文件,如 longlq.cl、lua5.1.dll 等等。

图4 写入文件

复制文件到目录 c:\Users\Public\A4y3zC\、c:\ProgramData\6mjxfjhc\,复制后的文件名和目录名均是随机生成的。

图5 复制文件

创建了一些进程,如 9wa.exe、W2ey7yY.exe 等。

图6 创建进程

下载了一个 Chrome 安装程序,下载的目标文件是合法的官方安装程序文件。

图7 下载 Chrome 安装程序

运行下载的 Chrome 安装程序,以便静默执行恶意代码。

图8 运行界面

删除了文件 yyD.zip、9wa.exe、msys-1.0.dll。

图9 删除文件

域名访问,其中可疑域名为 xiaoshihou[.]name。

图10 域名访问

四、HTA分析

head 标签中的 JavaScript 脚本会让将浏览器窗口移动到屏幕坐标为 (-3000, -3000) 的位置,窗口被移动到屏幕外,并将窗口的大小缩小到 0x0。其目的是隐藏窗口,即使用户试图恢复该窗口,也无法看到它。

<HTA:APPLICATION> 标签属性如下:

  • SHOWINTASKBAR=”no”:应用程序不会显示在任务栏上。

  • WindowState=”hidden”:应用程序窗口启动时是隐藏的。

  • INNERBORDER=”NO”:没有窗口的内边框。

  • MAXIMIZEBUTTON=”NO”:没有最大化按钮,用户不能将窗口最大化。

  • MINIMIZEBUTTON=”NO”:没有最小化按钮,用户不能将窗口最小化。

  • SCROLL=”NO”:不显示滚动条。

  • SELECTION=”NO”:禁用文本选择功能,用户无法选中文本。

  • SINGLEINSTANCE=”YES”:只能运行一个实例,如果尝试运行第二个实例,系统会忽略它。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="YES">
<script>
//console.log(111)
while(true){
try{
window.moveTo(-3000, -3000);
window.resizeTo(0, 0);
break;
}catch(e){}
}
</script>
<HTA:APPLICATION SHOWINTASKBAR="no" WindowState="hidden" INNERBORDER="NO" MAXIMIZEBUTTON="NO" MINIMIZEBUTTON="NO" SCROLL="NO" SELECTION="NO" SINGLEINSTANCE="YES" />
</head>
<body>
</body>
</html>
<script>
</script>
<script>
......
</script>

第二个 JavaScript 脚本中包含大量混淆。

图11 混淆

去混淆后的脚本中开头包含两个全局变量 serialized_obj4serialized_obj3,经 Base64 编码。

图12 serialized_obj4部分内容

以 serialized_obj4 为例,解码后的部分内容如下所示。解码后的内容显示了一个二进制数据的反序列化对象以及与 .NET 相关的一些类的结构,如序列化有关的 .NET 类 System.DelegateSerializationHolder,反射相关的类 System.Reflection.MemberInfoSerializationHolder ,以及一个 PE 文件。

图13 解码后的部分内容

这个 PE 文件实际上是 dll,dll 名称为 CshapeHostingBridageWrapperShowErrorWindow.dll,dll 中包含 SharpZipLib 全套组件,而 SharpZipLib 是一个完整的压缩与解压缩库。

图14 dll 内容

其中的字符串被加密,存储在一个字符串数组中,在需要时调用函数动态解密字符串。字符串解密前,都会对数组中的字符串进行预处理,如移除不可见的 Unicode 字符 [U+202E](右到左覆盖符)、正则表达式 /[MjUZEFmOtuniAhrRQt=]/g 移除 base64 干扰字符、通过 shift / push / pop 操作改变数组元素顺序等。

图15 数组预处理

字符串解密算法为 Base64 + RC4。

图16 字符串解密算法

分析浏览器的 navigator.userAgent 字符串关键词,实现对用户操作系统的名称和版本的检测。

图17 检测操作系统的名称和版本

脚本中的 codeRunner3 函数可以执行多种操作:

  • 创建临时目录:在 C:\Users\Public 下创建随机命名的目录结构。
  • 文件解压/释放:从内置资源或网络获取加密的恶意文件,解压到临时目录。
  • 文件操作:复制、移动和重命名恶意文件,主要针对 .exe、.dll、.bat等可执行文件。
  • 创建快捷方式:在启动文件夹创建恶意程序的快捷方式。
  • 自启动注册:通过快捷方式实现系统启动时自动运行恶意代码。
  • 进程创建:使用 WScript.Shell 的 Run 方法执行目标程序。
  • 延迟执行:使用 Sleep 函数延迟执行。

图18 codeRunner3 函数

dotnet4 函数会检测系统是否安装了 .NET Framework 4.0 ,base64 解码前面的 serialized_obj4serialized_obj3 的内容,然后将解码的数据注入到内存中执行。

图19 dotnet4 函数

只在特定日期 2025/11/26 20:42:00 前有效,过期后自动停止执行。

图20 特定日期触发

函数 downloadFromYouDaoYun 支持从有道云存储服务下载加密的恶意负载。

图21 downloadFromYouDaoYun 函数

五、IOC

恶意文件(MD5)

1
2
3
4
5
e5e3578329be22d26443d7f6c6690485
4fa09a60c9b0df80af1a9bac26c75f6b
1d98648e97fa1dd0a5befa07018aecae
3c81e25ae167b188fea030c86ca1dc63
009d53d4049374836e15737821054f89

恶意 IOC

1
2
xiaoshihou[.]name
202.95.6[.]233

报告链接
分析报告:天穹沙箱分析报告

六、 技术支持与反馈

星图实验室深耕沙箱分析技术多年,致力于让沙箱更好用、更智能。做地表最强的动态分析沙箱,为每个样本分析人员提供便捷易用的分析工具,始终是我们追求的目标。各位同学在使用过程中有任何问题,欢迎联系我们。