| 分类 | 标签 | 置信度 |
|---|---|---|
| 恶意类型 | 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 |
| 字段 | 值 |
|---|---|
| 关联组织 | 未归因(通用 JS 下载器) |
| 别名 | 无已知 APT 关联 |
| 动机 | 载荷投递、第二阶段感染 |
| 目标行业 | 无特定行业目标 |
| 活动名称 | 无已知攻击活动 |
| C2协议 | HTTP GET (MSXML2.XMLHTTP ActiveX) |
| C2基础设施 | 178.16.53[.]176 (俄罗斯 IP) |
| 位置 | N/A |
| 方法 | 该样本为下载器,本身不建立持久化。第二阶段 PowerShell 载荷可能包含持久化机制 |
| 触发 | N/A |
代码中未发现注册表操作、计划任务或启动文件夹操作
| 维度 | 评估 |
|---|---|
| 持久化可靠性 | N/A (下载器角色) |
| 隐蔽性 | N/A |
| 清除难度 | N/A |
| 协议 | HTTP GET |
| 端口 | 80 |
| 地址/Domain | hxxp://178.16.53[.]176/DV/ojdcrypted.ps1 |
| IP | 178.16.53[.]176 |
| 加密 | 无 (明文 HTTP) |
| 用途 | 下载第二阶段 PowerShell 载荷 |
| API引用 | MSXML2.XMLHTTP (ActiveXObject) |
| 证书 | N/A |
下载后立即执行
C2 基础设施:178.16.53[.]176 为俄罗斯 IP 地址,托管经 RC4 加密的 PowerShell 脚本。HTTP 明文传输使流量容易被网络检测设备识别。
N/A
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| 整体文件 | 5.82 | 高熵 — 混淆代码 + 加密字符串表 |
| 地址 | 函数 | 功能 |
|---|---|---|
| N/A | ||
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| N/A | |||
| 字段 | 值 | 来源 |
|---|---|---|
| 语言 | JavaScript (ECMAScript 5) | 代码分析 |
| 混淆器 | 自定义 (Base64 + RC4) | 代码分析 |
| 行终止符 | CRLF (Windows) | file(1) 检测 |
| 加密字符串数 | 248 | 代码分析 |
| 维度 | 本样本 | JS Downloader | JS Dropper | WScript Downloader | PowerShell Downloader | F5 | F6 | F7 | F8 | 匹配 |
|---|---|---|---|---|---|---|---|---|---|---|
| 语言 | JavaScript | JS | JS | JS | JS | 0/8 | ||||
| 混淆方式 | Base64+RC4 | eval | base64 | charCode | custom | 0/8 | ||||
| 执行方式 | WScript | ✅ WScript | ✅ WScript | ✅ WScript | ✅ WScript | 4/8 | ||||
| 第二阶段 | PowerShell | ✅ PowerShell | EXE | VBS | ✅ PowerShell | 2/8 |
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| N/A | |||||
行为: 自定义 Base64 + RC4 解密 248 个字符串常量
证据: 函数 _0x4363() 和 _0x6ea42e() 实现解密逻辑
行为: 创建 ActiveXObject (MSXML2.XMLHTTP, WScript.Shell, Scripting.FileSystemObject)
证据: new ActiveXObject() 调用
行为: 通过 Function 构造函数检测调试器存在
证据: arguments.callee.caller.toString() 检查
行为: HTTP GET 请求从 178.16.53[.]176 下载 PowerShell 载荷
证据: MSXML2.XMLHTTP.open('GET', url)
行为: 将下载的 PowerShell 脚本保存到 C:\Temp\ 目录
证据: Scripting.FileSystemObject.CreateTextFile()
行为: 通过 WScript.Shell.Run 执行 powershell.exe -nop -ep bypass -file
证据: powershell.exe 命令字符串
未构建
无数据
| 维度 | 证据 | 权重 | 恶意指数 |
|---|---|---|---|
| 远程载荷下载 | HTTP GET 下载 PowerShell 脚本 | 10 | 10/10 |
| 命令执行 | powershell.exe -nop -ep bypass | 10 | 10/10 |
| 混淆/反分析 | 248 RC4 加密字符串 + 自定义 Base64 | 8 | 9/10 |
| 反调试 | Function 构造函数检测 | 7 | 7/10 |
| 文件系统操作 | Scripting.FileSystemObject | 6 | 8/10 |
| 无用户交互 | 完全自动化执行 | 8 | 9/10 |
恶意软件 (MALICIOUS)
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| JavaScript 调试器检测 | Function 构造函数检查 | 浏览器/WScript 调试器 | 中 |
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 无 | — | — | — |
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|---|---|---|
| 自定义 Base64 编码 | 已检测 | 使用自定义字母表 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/= | 中 |
| RC4 流密码加密 | 已检测 | 248 个字符串常量经 RC4 加密 | 中 |
| 反调试检测 | 已检测 | 通过 Function 构造函数检测调试器 | 中 |
| 字符串表混淆 | 已检测 | 解密密钥分散在代码各处,增加静态分析难度 | 中 |
| 反虚拟机 | 未检测 | 无 VMware/VBox/QEMU 检测 | — |
| 代码注入 | 未检测 | 无 VirtualAlloc/WriteProcessMemory | — |
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| 无 | |||
| 反编译函数数 | 0 |
| 反编译输出 | N/A |
| 分析时长 | N/A (JavaScript 脚本) |
/* JavaScript 脚本 — 无需 Ghidra 反编译 */| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| 0 | N/A | N/A |
N/A
| QEMU 模式 | 跳过 (JavaScript 脚本 — 需要 Windows + WScript 环境) |
| 网络隔离 | 待配置 |
| 执行结果 | 待定 |
| C2 数据 | 无动态 C2 通信 |
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| 行 512 | http://178.16.53.176/DV/ojdcrypted.ps1 | C2 URL | 第二阶段 PowerShell 载荷下载地址 | HIGH |
| 行 10 | powershell.exe -nop -ep bypass -file | 命令执行 | 绕过执行策略执行 PowerShell 脚本 | HIGH |
| 行 41 | WScript.Shell | ActiveX 对象 | 执行系统命令 | HIGH |
| 行 337 | Scripting.FileSystemObject | ActiveX 对象 | 文件系统操作 | HIGH |
| 行 92 | C:\Temp\ | 文件路径 | 暂存下载的 PowerShell 载荷 | HIGH |
| 行 43 | tempFolder | 方法调用 | 获取临时文件夹路径 | MEDIUM |
| 行 193 | CreateFolder | 方法调用 | 在 Temp 目录创建文件夹 | MEDIUM |
| 行 198 | maxRetries | 配置 | 下载重试次数 (2次) | MEDIUM |
| 行 12 | responseText | HTTP 响应 | 获取 HTTP 响应内容 | MEDIUM |
| 行 839-847 | 自定义 Base64 字母表 | 混淆 | 字符串表加密 | HIGH |
C2 URL 以明文形式硬编码在混淆后的 JavaScript 代码中(行 512: http://178.16.53[.]176/DV/ojdcrypted.ps1)。该 IP 位于俄罗斯,托管经 RC4 加密的 PowerShell 脚本(文件名 'ojdcrypted' 暗示 'obfuscated encrypted')。第二阶段载荷的具体功能未知,但基于 powershell.exe -nop -ep bypass 执行方式,可能是信息窃取器、远控木马或挖矿程序。
hxxp://178.16.53[.]176/DV/ojdcrypted.ps1 — 第二阶段 PowerShell 载荷下载地址178.16.53[.]176 — 俄罗斯 IP,托管恶意载荷powershell.exe -nop -ep bypass -file — 绕过 PowerShell 执行策略00d9e0c440cc5d6c65a4bd401afb58c2198a281793f4c8aaa1e14ce096d77727 — JS 下载器 SHA256cdd54ad599d195175f9a2cbb41c2032f — JS 下载器 MD5未生成
| 判定结果 | 🔴 恶意软件 |
| 恶意类型 | 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。