近期,名为 Necro 的恶意软件加载程序再次引发关注。其最新版本通过合法应用程序的修改版本传播,如 Spotify、WhatsApp 和 Minecraft 等知名应用。恶意应用不仅存在于第三方平台,甚至也一度出现在 Google Play 商店。受感染的应用包括《Wuta Camera》和《Max Browser》,这两款应用的下载量分别超过 1000 万次和 100 万次。虽然《Wuta Camera》已在最新版本中移除恶意代码,但《Max Browser》目前已从 Play Store 下架。
Necro技术分析
在恶意软件的攻击过程中,技术细节往往决定了其隐蔽性、传播性以及对设备的控制能力。 Necro通过一些高度复杂的技术手段来逃避检测,并在受害者设备上执行各种恶意操作。
以下是 Necro 恶意软件的详细技术分析:
1. 隐写术(Steganography)
隐写术是一种用于将信息隐藏在其他内容中的技术,而 Necro 使用隐写术将其恶意载荷隐藏在普通文件中。具体来说,攻击者将恶意代码嵌入在 PNG 图像文件中,并通过网络将这些图像传送给受感染的应用程序。
具体过程如下:
- 受感染的应用通过 Coral SDK 向远程服务器发送 HTTP POST 请求。
- 服务器响应一个链接,指向
adoss.spinsok[.]com
上托管的一个伪装成 PNG 图像文件的文件。 - 应用随后下载该图像文件,并从其中提取 Base64 编码的 JAR 文件(Java 档案)。
- 通过隐写术,恶意软件得以在表面上看似无害的图像中藏匿恶意代码,从而绕过防病毒软件的检测。
这种技术是移动恶意软件中较为罕见的手段,大大增加了恶意软件的隐蔽性。
2. 混淆技术(Obfuscation)
混淆技术是另一种常用的手段,主要目的是通过改变代码的外观,使之难以被逆向工程和检测工具识别。Necro 利用了高度复杂的代码混淆技术,使得防护软件在分析代码时难以辨认其真正的功能。
具体来说,恶意软件通过修改变量名、控制流、函数调用等,将代码变得难以理解,从而迷惑静态和动态分析工具。混淆技术加大了分析师的工作难度,并减少了恶意软件被检测的机会。
3. 模块化架构(Modular Architecture)
Necro 的设计采用了模块化架构,这使得它能够根据攻击者的需求下载并加载不同的功能模块。这种模块化结构不仅可以灵活扩展恶意软件的功能,还能在必要时执行特定的攻击任务。
Necro 使用的主要模块包括:
- NProxy:该模块在受感染的设备上创建隧道(tunnel),用于从 C2 服务器与受害者设备之间传输数据。这个隧道可以绕过设备的网络限制,将攻击者的指令传递给设备或从设备中提取敏感信息。
- Island:此模块负责生成伪随机数,用于在显示侵入性广告时设置间隔时间。广告内容可能通过其他模块实现,并通过伪随机数来控制其展示频率,从而避免被用户察觉。
- Web:此模块的主要功能是与 C2 服务器保持联系,并在必要时以提升的权限执行任意代码。这个模块可以远程加载特定链接,并执行其中嵌入的 JavaScript 代码,进一步控制设备。
- Cube SDK:这是一个辅助模块,用于处理广告内容的显示和加载其他插件。它在后台不断加载并运行广告相关的插件,增加设备的广告展示次数,产生经济利益。
- Tap:Tap 模块通过从 C2 服务器下载任意的 JavaScript 代码并通过 WebView 进行渲染,能够在设备上秘密加载广告并与之交互。
- Happy SDK / Jar SDK:这是一个将 NProxy 和 Web 模块结合在一起的模块,它通过简化的方式实现了前两者的功能,但针对不同的攻击场景做了一些优化。
这些模块相互配合,使得攻击者能够远程控制设备的不同功能。通过下载和执行额外的模块,Necro 可以根据设备的具体情况执行多种恶意操作,包括窃取数据、展示广告、安装其他恶意应用等。
4. 命令和控制 (C2) 服务器
Necro 的命令和控制服务器 (C2) 是攻击者与恶意软件之间通信的中枢系统。通过 C2 服务器,攻击者可以:
- 动态更新恶意软件的功能。
- 下载新的模块或插件。
- 从设备中提取敏感数据。
- 执行其他定制的攻击。
C2 服务器通过 HTTP/HTTPS 与受感染的设备进行通信,确保所有指令都能实时执行,并通过加密技术保护其通信链路,使其难以被拦截或分析。
5. 基于 WebView 的恶意行为
WebView 是 Android 中用于显示网页内容的组件,Necro 恶意软件利用 WebView 进行广告注入、自动点击广告、甚至远程执行 JavaScript 代码。具体步骤如下:
- 恶意软件在后台使用不可见的 WebView 窗口。
- 通过 WebView 加载恶意广告链接,或者在用户不知情的情况下执行代码。
- 该过程是完全自动化的,并且对用户不可见。
攻击者通过这种方式可以实现付费订阅、生成虚假点击流量等行为,从而获利。
6. 高级逃避检测技术
除了隐写术和混淆技术,Necro 还通过动态加载模块、规避静态检测、延迟执行恶意操作等手段进一步逃避防护软件的追踪。例如,恶意软件在感染设备后并不会立即执行恶意操作,而是通过动态下载有效载荷来进行攻击,这使得它能够绕过早期的检测机制。
攻击范围和影响
根据卡巴斯基的数据显示,2024 年 8 月 26 日至 9 月 15 日间,全球数万起 Necro 攻击被阻止,主要受影响的国家包括俄罗斯、巴西、越南、墨西哥和台湾等。尽管 Google Play 已移除这些恶意应用,但此类事件表明即使在官方应用商店下载应用程序,用户也并非完全免受威胁。
如何保护 Android 设备?
- 仅从官方渠道下载应用:Google Play 商店是相对较为安全的应用下载渠道,虽然也不能百分百避免恶意应用,但其安全审查机制较为完善。此外,避免从不受信任的第三方平台下载应用程序。
- 定期更新应用程序和系统:开发者通常会通过更新来修复漏洞并移除潜在的安全威胁。因此,保持应用和操作系统为最新版本可以减少被恶意软件攻击的机会。
- 使用安全防护软件:安装可信的防护软件,如卡巴斯基等,以检测并阻止恶意行为。同时开启 Google Play Protect,可以对下载的应用进行自动扫描。
- 检查应用权限:在安装应用时,注意其请求的权限。如果某个应用程序要求不合理的权限,例如一个简单的相机应用需要访问通讯录或地理位置,就需要提高警惕。
- 及时卸载不必要的应用:清理不再使用的应用程序,尤其是从未知来源安装的应用。保持设备上的应用数量精简,有助于减少安全风险。