⬇ Download sample (00d9e0c440cc5d6c.zip)

🔴 恶意 — 自定义JS混淆器 | 签名: 无 | JS PowerShell 下载器

00d9e0c440cc5d6c65a4bd401afb58c2198a281793f4c8aaa1e14ce096d77727
MD5 cdd54ad599d195175f9a2cbb41c2032f  |  大小 61,459 字节  |  来源 2026-08-10.zip  |  分析日期 2026-08-14
🔴 恶意 JavaScript 混淆 下载器 PowerShell RC4 加密
95%
置信度评分
JS PowerShell Dropper

§1 📋 样本概要信息

SHA256
00d9e0c440cc5d6c65a4bd401afb58c2198a281793f4c8aaa1e14ce096d77727
MD5
cdd54ad599d195175f9a2cbb41c2032f
文件大小
61,459 字节
文件类型
JavaScript (ASCII text, CRLF)
目标架构
N/A (脚本)
位宽
N/A
字节序
N/A
编译器
N/A (手写 JavaScript)
链接方式
N/A
加壳/保护
自定义混淆器 — 248 加密字符串 + 自定义 Base64 + RC4 流密码
入口点
IIFE (立即执行函数表达式)
编译时间戳
未知
子系统
Windows Script Host (WScript/CScript)
数字签名
无数字签名
📌 概要
该样本是使用自定义混淆方案(自定义 Base64 字母表 + RC4 流密码)加密的 JavaScript 下载器,设计用于 Windows Script Host (WScript) 环境执行。 核心恶意行为:
  • 混淆层:248 个加密字符串,通过 _0x4363() 函数在运行时解密(自定义 Base64 + RC4),解密密钥分散在代码各处
  • 下载执行:使用 ActiveXObject('MSXML2.XMLHTTP') 从 hxxp://178.16.53[.]176/DV/ojdcrypted.ps1 下载第二阶段的 PowerShell 载荷
  • 持久化暂存:通过 Scripting.FileSystemObject 在 C:\Temp\ 目录创建文件
  • 命令执行:powershell.exe -nop -ep bypass -file 绕过执行策略执行下载的 PowerShell 脚本
  • 重试机制:最多重试 2 次,检查 HTTP 200 状态码
  • 反调试:通过 Function 构造函数检测调试器(检查 arguments.callee.caller.toString())
  • C2 基础设施:178.16.53[.]176 为俄罗斯 IP 地址,托管 PowerShell 载荷文件。

    §2 🏷️ 分类标签与威胁情报

    分类标签

    分类标签置信度
    恶意类型JavaScript 下载器/投放器 (Dropper)HIGH
    混淆方式自定义 Base64 + RC4 流密码 (248 加密字符串)HIGH
    第二阶段载荷PowerShell 脚本 (ojdcrypted.ps1)HIGH
    执行环境Windows Script Host (WScript)HIGH
    通信协议HTTP GET (MSXML2.XMLHTTP)HIGH
    持久化方式无直接持久化 (下载器角色)MEDIUM
    隐匿级别中等 — 强混淆但无高级反沙箱MEDIUM
    目标平台Windows (x86/x64)HIGH
    📌 证据→推理→结论
    file(1) 检测 → 手动反混淆分析 → 字符串提取 → IOC 提取 → 行为重建

    威胁情报

    字段
    关联组织未归因(通用 JS 下载器)
    别名无已知 APT 关联
    动机载荷投递、第二阶段感染
    目标行业无特定行业目标
    活动名称无已知攻击活动
    C2协议HTTP GET (MSXML2.XMLHTTP ActiveX)
    C2基础设施178.16.53[.]176 (俄罗斯 IP)
    🎯 威胁组织判定
    未归因。该 JavaScript 下载器使用通用混淆方案,无已知 APT 组织特征。C2 IP 178.16.53[.]176 位于俄罗斯。

    ★ §3 🔬 持久化机制

    🔴 机制1: 无直接持久化

    位置N/A
    方法该样本为下载器,本身不建立持久化。第二阶段 PowerShell 载荷可能包含持久化机制
    触发N/A
    反汇编证据:
    代码中未发现注册表操作、计划任务或启动文件夹操作

    持久化技术评估

    维度评估
    持久化可靠性N/A (下载器角色)
    隐蔽性N/A
    清除难度N/A
    ATT&CK 映射: N/A (下载器本身无持久化)

    ★ §3b 🌐 C2 架构分析

    通联关系图

    graph LR A[JS Dropper] -->|HTTP GET| B[178.16.53.176] B -->|ojdcrypted.ps1| C[C:\\Temp\\] C -->|powershell.exe -ep bypass| D[PowerShell 载荷执行] D --> E[第二阶段恶意行为]
    📋 ASCII 文本视图 (点击展开)
    
        

    🌐 C2 通信深度分析

    🔬 C2 地址分析技术细节:
    C2 URL 以明文形式出现在反混淆后的代码中(行 512)。URL 路径 /DV/ojdcrypted.ps1 暗示第二阶段载荷也经过加密。

    通道 1: 载荷下载通道

    协议HTTP GET
    端口80
    地址/Domainhxxp://178.16.53[.]176/DV/ojdcrypted.ps1
    IP178.16.53[.]176
    加密无 (明文 HTTP)
    用途下载第二阶段 PowerShell 载荷
    API引用MSXML2.XMLHTTP (ActiveXObject)
    证书N/A

    C2 通信时序

    下载后立即执行

    ⚠ C2 基础设施评估

    C2 基础设施:178.16.53[.]176 为俄罗斯 IP 地址,托管经 RC4 加密的 PowerShell 脚本。HTTP 明文传输使流量容易被网络检测设备识别。

    📌 ATT&CK 映射: T1071.001 (Web 协议), T1105 (入站工具传输)

    §4 🏗️ 结构分析

    段/节区布局

    N/A

    熵值分析

    段/节区熵值判定
    整体文件5.82高熵 — 混淆代码 + 加密字符串表
    📊 熵值解读
    文件整体熵值为 5.82,接近 6.0 的加密数据阈值。这是由于 248 个 RC4 加密字符串和自定义 Base64 编码的混淆代码导致的。
    无编译痕迹 — 纯 JavaScript 手写代码,带有 CRLF 行终止符(Windows 风格)

    §5 ⚙️ 反汇编与行为流程

    关键函数映射

    地址函数功能
    N/A

    系统调用分析

    调用号系统调用用途地址
    N/A

    行为执行流

    01.WScript 执行 JavaScript → 解密 248 个字符串常量 (RC4 + 自定义 Base64)
    02.创建 ActiveXObject('MSXML2.XMLHTTP') 和 ActiveXObject('WScript.Shell')
    03.HTTP GET 请求 hxxp://178.16.53[.]176/DV/ojdcrypted.ps1
    04.检查 HTTP 状态码 (200),最多重试 2 次
    05.通过 Scripting.FileSystemObject 保存到 C:\Temp\
    06.执行: powershell.exe -nop -ep bypass -file <下载的 ps1>

    §6 🔬 家族溯源

    编译元数据

    字段来源
    语言JavaScript (ECMAScript 5)代码分析
    混淆器自定义 (Base64 + RC4)代码分析
    行终止符CRLF (Windows)file(1) 检测
    加密字符串数248代码分析

    家族特征比对

    维度本样本JS DownloaderJS DropperWScript DownloaderPowerShell DownloaderF5F6F7F8匹配
    语言JavaScriptJSJSJSJS0/8
    混淆方式Base64+RC4evalbase64charCodecustom0/8
    执行方式WScript✅ WScript✅ WScript✅ WScript✅ WScript4/8
    第二阶段PowerShell✅ PowerShellEXEVBS✅ PowerShell2/8
    📌 家族归因结论
    该样本属于典型的 JS 下载器家族,使用 WScript 执行并下载 PowerShell 载荷。自定义 Base64 + RC4 混淆方案使其与其他 JS 下载器区分开来。

    已知变种

    变种架构大小编译器特征状态
    N/A

    §7 🔬 深度行为分析

    行为阶段拆解

    Phase 1: 自解密

    行为: 自定义 Base64 + RC4 解密 248 个字符串常量

    证据: 函数 _0x4363() 和 _0x6ea42e() 实现解密逻辑

    Phase 2: 环境准备

    行为: 创建 ActiveXObject (MSXML2.XMLHTTP, WScript.Shell, Scripting.FileSystemObject)

    证据: new ActiveXObject() 调用

    Phase 3: 反调试检查

    行为: 通过 Function 构造函数检测调试器存在

    证据: arguments.callee.caller.toString() 检查

    Phase 4: 载荷下载

    行为: HTTP GET 请求从 178.16.53[.]176 下载 PowerShell 载荷

    证据: MSXML2.XMLHTTP.open('GET', url)

    Phase 5: 文件写入

    行为: 将下载的 PowerShell 脚本保存到 C:\Temp\ 目录

    证据: Scripting.FileSystemObject.CreateTextFile()

    Phase 6: 命令执行

    行为: 通过 WScript.Shell.Run 执行 powershell.exe -nop -ep bypass -file

    证据: powershell.exe 命令字符串

    协议/行为状态机

    未构建

    📌 行为时序总结

    无数据

    §8 🔬 恶意性综合判定

    多维度证据评估

    维度证据权重恶意指数
    远程载荷下载HTTP GET 下载 PowerShell 脚本1010/10
    命令执行powershell.exe -nop -ep bypass1010/10
    混淆/反分析248 RC4 加密字符串 + 自定义 Base6489/10
    反调试Function 构造函数检测77/10
    文件系统操作Scripting.FileSystemObject68/10
    无用户交互完全自动化执行89/10
    恶意性综合判定

    误报排除论证

    排除误报:合法 JavaScript 不会下载远程 PowerShell 脚本并以 -ep bypass 方式执行。

    ⚠ 判定结论

    恶意软件 (MALICIOUS)

    §9 🎯 ATT&CK 映射

    执行
    T1059.001
    PowerShell
    powershell.exe -nop -ep bypass -file
    执行
    T1059.007
    JavaScript
    WScript 执行 JavaScript
    执行
    T1204.002
    恶意文件
    下载并执行 .ps1 文件
    防御规避
    T1027
    混淆文件/信息
    248 RC4 加密字符串 + 自定义 Base64
    防御规避
    T1622
    调试器规避
    Function 构造函数检测调试器
    命令与控制
    T1071.001
    Web 协议
    HTTP GET 下载载荷
    命令与控制
    T1105
    入站工具传输
    从 178.16.53[.]176 下载文件

    §10 🛡️ 反分析技术评估

    反调试

    API/技术检测目标绕过难度
    JavaScript 调试器检测Function 构造函数检查浏览器/WScript 调试器

    反虚拟机

    检测方法VMwareVirtualBoxQEMU/KVM

    综合评估

    技术是否存在证据对抗难度
    自定义 Base64 编码已检测使用自定义字母表 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=
    RC4 流密码加密已检测248 个字符串常量经 RC4 加密
    反调试检测已检测通过 Function 构造函数检测调试器
    字符串表混淆已检测解密密钥分散在代码各处,增加静态分析难度
    反虚拟机未检测无 VMware/VBox/QEMU 检测
    代码注入未检测无 VirtualAlloc/WriteProcessMemory
    该样本使用多层混淆技术:自定义 Base64 编码 + RC4 流密码加密 248 个字符串常量,以及通过 Function 构造函数检测调试器。

    ★ §10b 🧹 痕迹清理

    操作API/命令证据来源

    §11 🔧 逆向分析

    Ghidra 反编译

    反编译函数数0
    反编译输出N/A
    分析时长N/A (JavaScript 脚本)
    Ghidra 反编译输出
    /* JavaScript 脚本 — 无需 Ghidra 反编译 */

    调用链分析 (GitNexus)

    总函数数总调用关系最大调用深度
    0N/AN/A
    📂 调用链拓扑 (点击展开)
    N/A

    ★ §12 🔬 QEMU 动态分析

    QEMU 模式跳过 (JavaScript 脚本 — 需要 Windows + WScript 环境)
    网络隔离待配置
    执行结果待定
    C2 数据无动态 C2 通信

    §13 📦 IOC 汇总

    IOC 字符串

    偏移字符串类型用途/含义威胁等级
    行 512http://178.16.53.176/DV/ojdcrypted.ps1C2 URL第二阶段 PowerShell 载荷下载地址HIGH
    行 10powershell.exe -nop -ep bypass -file命令执行绕过执行策略执行 PowerShell 脚本HIGH
    行 41WScript.ShellActiveX 对象执行系统命令HIGH
    行 337Scripting.FileSystemObjectActiveX 对象文件系统操作HIGH
    行 92C:\Temp\文件路径暂存下载的 PowerShell 载荷HIGH
    行 43tempFolder方法调用获取临时文件夹路径MEDIUM
    行 193CreateFolder方法调用在 Temp 目录创建文件夹MEDIUM
    行 198maxRetries配置下载重试次数 (2次)MEDIUM
    行 12responseTextHTTP 响应获取 HTTP 响应内容MEDIUM
    行 839-847自定义 Base64 字母表混淆字符串表加密HIGH

    📌 关键 IOC 解读

    C2 URL 以明文形式硬编码在混淆后的 JavaScript 代码中(行 512: http://178.16.53[.]176/DV/ojdcrypted.ps1)。该 IP 位于俄罗斯,托管经 RC4 加密的 PowerShell 脚本(文件名 'ojdcrypted' 暗示 'obfuscated encrypted')。第二阶段载荷的具体功能未知,但基于 powershell.exe -nop -ep bypass 执行方式,可能是信息窃取器、远控木马或挖矿程序。

    ⚠ 高威胁 IOC 汇总

    C2 URL: hxxp://178.16.53[.]176/DV/ojdcrypted.ps1 — 第二阶段 PowerShell 载荷下载地址
    C2 IP: 178.16.53[.]176 — 俄罗斯 IP,托管恶意载荷
    命令执行: powershell.exe -nop -ep bypass -file — 绕过 PowerShell 执行策略
    文件哈希: 00d9e0c440cc5d6c65a4bd401afb58c2198a281793f4c8aaa1e14ce096d77727 — JS 下载器 SHA256
    文件哈希: cdd54ad599d195175f9a2cbb41c2032f — JS 下载器 MD5

    网络 IOC

    • C2 URLhxxp://178.16.53[.]176/DV/ojdcrypted.ps1
    • C2 IP178.16.53[.]176
    • 协议HTTP (明文)
    • HTTP 方法GET
    • User-Agent默认 MSXML2.XMLHTTP (无伪装)
    C2 URL 以明文形式硬编码在代码中。第二阶段载荷 (ojdcrypted.ps1) 的具体内容未知。

    主机 IOC

    • 文件哈希 SHA25600d9e0c440cc5d6c65a4bd401afb58c2198a281793f4c8aaa1e14ce096d77727
    • 文件哈希 MD5cdd54ad599d195175f9a2cbb41c2032f
    • 文件路径C:\Temp\ (暂存目录)
    • 进程powershell.exe -nop -ep bypass -file
    • 进程wscript.exe (宿主进程)

    YARA 检测规则

    未生成

    §14 📋 最终判定

    判定结果🔴 恶意软件
    恶意类型JavaScript 下载器/投放器 (Dropper)
    恶意家族JS PowerShell Dropper
    威胁级别HIGH
    置信度95% — 高置信度:明文 C2 URL + PowerShell 执行 + 文件系统操作
    关联组织未归因
    目标平台Windows (WScript)
    感染链位置Stage 0 — 初始投递/下载器

    ⚡ 综合判定

    该样本为高度混淆的 JavaScript 下载器,通过 WScript 执行。使用自定义 Base64 编码 + RC4 流密码加密 248 个字符串常量。运行时解密字符串表,创建 ActiveXObject 下载远程 PowerShell 脚本,并通过 WScript.Shell 执行 powershell.exe -nop -ep bypass -file 命令。目标 C2 服务器位于 178.16.53[.]176,下载路径为 /DV/ojdcrypted.ps1。