新型网络攻击技术剖析:Electron 劫持与无服务器 C2 通道的隐蔽对抗
文章探讨了网络攻击技术的演进趋势,重点分析了基于Electron框架的Loki C2攻击技术及其采用云存储实现无服务器化通信的机制。该技术通过寄生合法应用和滥用云服务隐藏恶意行为,具备高隐蔽性、跨平台性和无文件化等特点,对传统防御体系构成重大挑战。 2025-9-9 08:33:27 Author: www.freebuf.com(查看原文) 阅读量:19 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image.png

一、前言

在网络攻防的“猫鼠游戏”中,攻击者不断寻找新的方式来规避检测。传统木马和 C2(Command & Control)架构,往往因为 固定的 IP、显眼的进程行为而较容易被发现和封堵。于是,新一代攻击技术开始往两个方向演化:

  • 寄生于合法应用—— 借助 Electron、NW.js 等跨平台框架,把恶意代码隐藏在看似正常的软件里,享受“合法外衣”的庇护。

  • 无服务器化通信—— 不再依赖固定的 C2 服务器,而是滥用云服务(Azure、AWS、Google Cloud),把恶意流量伪装成正常业务流量。

Loki C2 就是这一思路的代表案例。它通过 Electron 劫持云存储滥用,实现了“无文件 + 无服务器”的隐蔽攻击,给传统防御机制带来巨大挑战。

为了更直观理解,我们先来看看 传统 C2 与新型无服务器 C2 的差别:
image.png

传统 C2

  • 架构特点
    攻击者自建服务器(VPS、肉鸡),Beacon 与 C2 之间通过固定 IP/域名通信。

  • 优势

    • 部署简单,可快速上线。

    • 攻击者完全掌控服务端,功能扩展灵活。

  • 缺点

    • 固定基础设施容易被封堵(IP 黑名单、域名拦截)。

    • 流量特征明显,容易被 IDS/IPS 识别。

    • 横向传播时,命令和工具容易落地磁盘,被防病毒发现。

新型 C2(无服务器 + 寄生化)

  • 架构特点

    • 利用合法框架(Electron、NW.js)“寄生”,嵌入正常软件,降低可疑度。

    • 借助云服务(Azure Blob、AWS S3、Google Cloud Storage)中转流量,隐藏真实控制端。

  • 优势

    • 隐蔽性强:流量混杂在合法云业务中,难以区分。

    • 高存活率:没有固定服务器,单一节点下线不影响整体。

    • 无文件化:大量操作在内存中完成,减少磁盘痕迹。

    • 跨平台:依赖 Electron 等框架,可覆盖 Windows/macOS/Linux。

  • 缺点

    • 对攻击者而言,开发成本和运维复杂度更高。

    • 一旦企业对云流量做精细化审计,可能暴露异常访问模式。

总结来看,传统 C2 就像一个“秘密基地”,容易被发现和炸掉;
新型 C2 更像是“躲在人群中的间谍”,寄生在合法流量和合法应用里,想找出来就困难得多。

接下来,我们将从 原理、实操、防御和趋势四个方面,深入解析 Loki C2 及其代表的新型攻击方式,并顺带对比一些同类框架(如 Sliver、Mythic),帮助读者全面理解这一代 C2 技术的演进。

二、攻击原理剖析

image.png

1. Electron 框架的“寄生机制”

(1)ASAR 打包与劫持

  • ASAR 背景
    Electron 应用通常会将代码(HTML/JS/CSS)打包进app.asar文件,作为只读归档来减少体积和文件数量。

  • 设计缺陷
    程序在加载时,如果app.asar缺失或文件校验未启用,会自动回退到resources/app/目录执行源码。攻击者只需在该目录中放置恶意package.json,指定入口init.js,即可控制启动流程。

  • 攻击效果
    一旦劫持成功,用户每次启动应用都会先执行攻击者的恶意逻辑。由于 Electron 应用大多在企业环境中广泛使用,这种寄生方式隐蔽且影响面广。

(2)主进程的高权限

  • 多进程架构
    Electron 应用由 主进程(Node.js 环境)和 渲染进程(浏览器内核)组成。

  • 漏洞点
    主进程拥有完整 Node.js API 权限,可以直接调用child_process.exec、访问文件系统和网络。若攻击者劫持了主进程,等同于获得系统命令执行权限,绕过浏览器沙箱的限制。

(3)持久化与自修复

  • 自修复机制
    恶意init.js可持续监控宿主进程状态,当发现文件被替换或修复后,自动重新写入后门文件。

  • 守护进程
    攻击者通过child_process.spawn启动独立进程(参数detached: true),即使用户关闭宿主应用,后门仍然驻留内存,实现持久化存活。

2. 无服务器 C2 通道

(1)传统 C2 的问题

  • 固定 IP/域名容易被威胁情报收录和封禁。

  • 异常域名或流量特征(如长连接、特定 User-Agent)容易被流量检测发现。

(2)无服务器 C2 的设计

  • 利用云存储
    攻击者在 Azure Blob、AWS S3 或 Google Cloud Storage 上建立存储桶,每个被控主机分配一个目录。

  • 通信方式

    • 操作员上传指令文件(如i-<hostID>.txt)。

    • 木马定期轮询下载,执行后将结果写入o-<hostID>.txt并回传云端。

(3)隐蔽性提升

  • 流量伪装
    所有流量均走合法云服务域名(如*.blob.core.windows.net),在 SOC 监测中与 Office 365、SharePoint 等企业常见流量混杂。

  • 时间抖动
    木马轮询间隔随机化,避免固定周期心跳被特征检测捕捉。

  • 可信证书
    HTTPS 通道由云服务提供,免去攻击者自建证书的成本,同时加大检测难度。

3. 后期利用扩展

(1)内存执行技术

  • scexec.node
    通过 Node.js 原生扩展模块直接分配内存并执行 Shellcode,避免落地文件,降低被杀软检测的风险。

  • COFFLoader.node
    用于加载 Cobalt Strike BOF(Beacon Object File),可快速实现凭证窃取(Mimikatz)、内网探测(NetView)等功能,且仅驻留内存。

(2)横向移动能力

  • SM

免责声明

1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。

2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。

3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/sectool/447830.html
如有侵权请联系:admin#unsafe.sh