JavaScript 到命令和控制 (C2) 服务器恶意软件分析及防御
攻击始于一个经过混淆的JavaScript文件,该文件从开源服务中获取编码字符串以执行PowerShell脚本。然后,该脚本从一个IP地址和一个URL缩短器下载一个JPG图像和一个文本文件,这两个文件都包含使用隐写术嵌入的恶意MZ DOS可执行文件。这些有效载荷一旦执行,就会部署Stealer恶意软件,旨在从受感染的系统中提取敏感数据。窃取程序会收集凭证、浏览器数据和系统信息,然后将窃取的数据传输到攻击者控制的Telegram机器人。这种方法使网络犯罪分子能够保持持久性,同时规避传统的安全机制。此次攻击利用多层混淆、合法的网络服务进行有效载荷托管以及加密通信,使得检测和缓解变得十分困难。
介绍
不断发展的网络威胁形势见证了复杂的恶意软件攻击活动激增,这些活动利用多阶段执行、混淆和隐蔽通信渠道来逃避检测。本研究报告研究了一个高度混淆的攻击链,该攻击链始于一个 JavaScript 文件,该文件从开源服务中检索编码命令以执行 PowerShell 脚本。然后,该脚本从 IP 地址和 URL 缩短器下载 JPG 图像和文本文件,这两个 IP 地址和 URL 缩短器都通过先进的隐写技术隐藏恶意的 MZ DOS 可执行文件。
这些有效载荷一旦执行,就会部署窃取恶意软件Stealer,该恶意软件旨在窃取敏感的系统和用户凭证。该恶意软件进一步与攻击者控制的Telegram机器人建立通信通道,从而实现无缝数据泄露,同时绕过传统的安全机制。本报告对攻击链、其技术复杂性以及用于规避检测的方法进行了全面分析,并提出了有效缓解威胁的战略建议。
客观的
通过了解此次攻击所采用的策略、技术和程序 (TTP),本报告旨在增强威胁情报并为检测、缓解和防御类似威胁提供可行的见解。
主要发现
- 多阶段攻击链:该攻击活动采用了复杂的多阶段流程,首先使用经过混淆的 Windows Script Host (WSH) 植入器,然后使用 PowerShell 下载器,最后反射加载 .NET 有效载荷。这种分层方法增加了检测和缓解工作的复杂性。
- 高级混淆技术:初始投放器脚本采用了重度混淆技术,包括使用不常见的 Unicode 字符、大量的字符串操作以及运行时代码执行(例如使用 eval())。这不仅掩盖了脚本的真实意图,也阻碍了静态和动态分析。
- 滥用合法服务进行 C2 和有效载荷投递:攻击者利用一个可信的开源服务进行命令与控制通信,并利用另一个开源云媒体管理服务托管一个看似无害的镜像,以隐藏恶意 .NET 程序集。这种对合法基础设施的滥用有助于恶意软件融入正常的网络流量中。
- 用于隐藏有效载荷的隐写术:通过使用隐写技术将 Base64 编码的 .NET 程序集隐藏在图像中,该活动绕过了许多传统的内容检查机制,使得使用标准扫描方法识别恶意载荷变得非常困难。
- 反射加载:使用反射加载直接从内存执行.NET 有效负载可避免在磁盘上留下痕迹,减少取证足迹并逃避传统基于文件的防病毒解决方案的检测。
- ActiveX 和 WSH Shell 滥用:该活动利用 ActiveX 对象(例如 WScript.Shell、Scripting.FileSystemObject)等传统技术与系统进行交互,甚至提供交互式 Shell。这使得攻击者能够执行任意命令,进一步加剧了威胁形势。
- PowerShell 集成,灵活性更高:PowerShell 的集成简化了复杂的操作,包括网络通信、动态 Payload 提取和内存代码执行。其灵活性也有助于规避许多标准检测技术。
- 运营影响和潜在威胁:.NET 有效载荷与该框架的集成使攻击者能够部署各种后续威胁,包括勒索软件、信息窃取程序和后门程序。这扩大了攻击活动的范围,并扩大了对受感染系统的潜在影响。
攻击链分析
JS到C2攻击链分析截图
分析
文件名 | 咨询-Dubai.js |
---|---|
文件大小 | 177 KB |
已签名 | 未签名 |
MD5哈希 | acedc7bdca0d19b982bcf030c73599ed |
SHA-256 哈希 | 944c7070cb77d937c9bae8c30a367b1c15b2f8951329cdb64d4b02a5e145ea44 |
提供的 JavaScript 代码是一个潜在的恶意脚本,旨在执行 Web 请求并运行返回的代码。该函数首先定义一个字符串 (prytaneum),其中包含经过混淆的字符 ( 🖛