Nebula-Mega(兆级星云):新一代多协议 免杀/对抗/Evasion C2 框架
枫
枫
法克安全
2026年7月24日 19:12
四川
在小说阅读器读本章
去阅读
Nebula-Mega(兆级星云):新一代多协议 免杀/对抗/Evasion C2 框架
面向红队操作员与攻防研究人员的强力Evasion c2框架 Nebula-Mega
0x01 概述
Nebula-Mega 是一款面向高级红队行动(RedTeamOperations)设计的多协议Command&Control框架。框架采用Go语言编写TeamServer与Implant,搭配Wailsv2+React构建原生桌面OperatorClient,在多通道隐蔽通信、横向移动、流量伪装等维度提供了完整的红队对抗工具链。
经典主题:
紫色现代主题:
核心定位:替代传统单一协议 C2(如纯 HTTP Beacon),提供 7 种独立通信信道 + 客户端侧 Payload 编译 + 多协议 Pivot 横向移动 + 全流量 AES-256 加密 的一站式红队平台。
0x02 架构总览
┌─────────────────────────┐
│OperatorClient │
│(Wailsv2+React) │
│本地Payload编译 │
└────────┬────────────────┘
│WSS(TLS)
┌────────▼────────────────┐
│TeamServer(Go) │
│┌─────┐┌─────┐┌────┐ │
││HTTP││QUIC││DNS││←7种Listener
││HTTPS│││││ │
│└─────┘└─────┘└────┘ │
│┌───────┐┌────────┐ │
││REALITY││OneDrive││←高级隐蔽信道
│└───────┘└────────┘ │
│┌─────┐┌─────────┐ │
││SMB││SOCKS5││←横向移动&隧道
│└─────┘└─────────┘ │
│SQLite │
└────────┬────────────────┘
│HTTP/QUIC/DNS/TLS/GraphAPI/Pipe
┌──────────────┼──────────────┐
▼▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│Implant││Implant││Implant │
│(Go/C++)││(Go)││(SMB) │
└─────────┘ └─────────┘ └─────────┘
Nebula-Mega 采用经典的 TeamServer → Operator Client → Implant 三层架构,但在实现层面做了大量现代化改进。
0x03 七大通信信道
Nebula-Mega 最显著的特性是其 7 种可互换的 C2 通信协议,覆盖从常规 HTTP 到高级域前置、DNS 隧道、云端 Dead Drop 等多种对抗场景。
1. HTTP / HTTPS Listener
经典的 HTTP(S) 回连模式,支持:
- • CDN 域前置(Domain Fronting):通过
BindHost字段配置 CDN 前端域名(如cloudflaredomain.com),使 Implant 回连流量经过合法 CDN 节点,蓝队看到的目的 IP 为 CDN 而非真实 TeamServer - • 自定义 TLS 证书:支持配置合法证书(Let's Encrypt 等),避免自签名证书被 TLS Inspection 标记
- • AES-256-CBC 全流量加密:Payload 层使用 PKCS7 填充的 AES-256-CBC 加密后 Hex 编码传输,即使 TLS 被中间人解密,内层流量仍不可读
2. QUIC Listener
基于 HTTP/3 的 QUIC 协议通信:
- • 基于 UDP 传输,绕过仅监控 TCP 的传统 IDS/IPS
- • 内建 TLS 1.3 加密,无需额外配置证书
- • 多路复用(Multiplexing),单连接内承载多个 Stream,降低连接指纹
3. DNS Tunnel Listener
完整的 DNS 隧道实现,适用于高度受限网络环境(仅放行 DNS 53 端口)
4. REALITY Listener(TLS 伪装 + 反向代理)
受 VLESS/REALITY 协议启发的高级隐蔽信道:
- • TLS 反向代理伪装:非 Implant 流量被透明代理到真实网站(如
www.microsoft.com),蓝队进行 TLS 指纹分析或主动探测时看到的是正常网站 - • SNI 伪装:TLS ClientHello 中的 SNI 指向合法域名
- • Secret Path 认证:Implant 通过 16 位 Hex ShortId 作为 URL 路径前缀进行身份鉴权,非法请求被代理到伪装站点
- • AES-256-CBC 内层加密:在 TLS 加密之上叠加 AES 应用层加密
5. OneDrive Listener(云端 Dead Drop)
利用 Microsoft Graph API 将 OneDrive 作为 C2 信道的 Dead Drop Resolver:
- • 通信全程经过
graph.microsoft.com,流量与正常 Office 365 使用无法区分 - • 通过 OAuth2 Client Credentials 认证,无需用户交互
- • Implant ↔ TeamServer 通过 OneDrive 文件读写进行异步通信
- • 可穿透几乎所有企业防火墙(Office 365 通常在白名单内)
- • 适合高度受限的 Air-Gapped 相邻网络环境
6. SMB Named Pipe Listener(横向移动)
基于 Windows Named Pipe 的 Pivot 信道:
- • 无网络端口占用:SMB Listener 是虚拟 Listener,实际通信通过 Parent HTTP Agent 的 Named Pipe 中转
- • 横向移动链路:
TeamServer ↔ HTTP Agent (Parent) ↔ Named Pipe ↔ SMB Agent (Child) - • 支持
pivot connect / list / disconnect命令管理 Pipe 连接 - •
block_connect可断开管道连接但不杀死目标进程(保持持久化) - • SMB Agent 天然隐蔽——不产生任何出站网络流量
7. SOCKS5 反向代理隧道
通过 Implant(beacon) 建立反向 SOCKS5 代理:
- • 双端口架构:
Socks5Port(Implant 隧道端口)+RewardPort(操作员 SOCKS5 端口) - • 自定义多路复用协议:
[4B connID][4B length][payload]帧格式 - • 握手魔数
S5TUNNEL鉴权,支持 IPv4/IPv6/域名解析 - • 全双工帧转发,支持多个并发 SOCKS5 连接复用同一隧道
- • 操作员可通过 proxychains 等工具透明访问内网资源
0x04 Implant 能力
双语言 Implant
| 特性 | Go Implant | C++ Implant |
|---|---|---|
| 目标平台 | Windows / Linux / macOS | Windows |
| 支持协议 | 全部 7 种 | HTTP/HTTPS, OneDrive, SMB等 |
| 输出格式 | EXE, Shellcode | EXE, Shellcode |
| 架构 | amd64, 386, arm64 | x86\_64 |
| 加密 | AES-256-CBC (PKCS7) | AES-256-CBC (PKCS7) |
内置命令集
Nebula-Mega Implant 内置 17 种命令,覆盖信息收集、文件操作、横向移动、隧道代理等核心红队操作:
| 类别 | 命令 | 说明 |
|---|---|---|
| 信息收集 | whoami , pwd, screenshot |
当前用户、工作目录、桌面截图(BMP→JPEG 自动转换) |
| 文件操作 | ls , cd, cat, mkdir, rm, cp, mv |
完整文件系统操作 |
| 文件传输 | upload , download |
Base64 编码传输,GUI 文件浏览器集成 |
| 执行 | shell |
调用系统 Shell 执行任意命令 |
| 内存加载 | exec_assembly |
.NET Assembly 内存执行(Inline Execute-Assembly),无文件落地 |
| 横向移动 | pivot connect/list/disconnect |
SMB Named Pipe 横向连接管理 |
| 隧道代理 | socks5_start , socks5_stop |
反向 SOCKS5 代理 |
| 持久控制 | sleep , exit, block_connect |
心跳控制、退出、断开 SMB 管道(不杀进程) |
0x05 Operator Client
原生桌面应用
Nebula-Mega 的 Operator Client 基于 Wails v2(Go + WebView2)构建,不同于 Web 端 C2,它是一个真正的原生桌面应用:
- • 本地进程运行,无 Web 服务暴露
- • Wails 自动注入 Go↔JavaScript 绑定,前端直接调用 Go 方法
- • 前端资源编译进二进制文件(
//go:embed),零外部依赖
核心 UI 功能
| 功能 | 说明 |
|---|---|
| Session 管理 | 实时 Session 表格,5s 自动刷新,Alive/Dead 状态指示 |
| 交互控制台 | 类 Terminal 交互界面,命令历史(↑/↓),Session 持久化 |
| 文件浏览器 | GUI 文件管理器,支持导航/上传/下载/删除/新建文件夹 |
| Listener 面板 | 7 种协议动态表单,Add/Edit/Start/Stop/Delete/Restart 全生命周期 |
| Generate Payload | 可视化 Payload 配置器,支持 OS/Arch/Format/Language 组合 |
| Session Graph | SVG 网络拓扑图,按协议着色,横向树状布局,展示 Pivot 链路 |
| SOCKS5 管理 | 活跃代理列表,一键启停 |
| Event Log | 实时事件流,localStorage 持久化,跨会话保留 |
| 多主题 | 深色/浅色主题切换,缩放控制(50%~200%) |
| 多操作员 | RBAC 角色控制(Admin/Operator),多人协同作战 |
客户端侧 Payload 编译
这是 Nebula-Mega 区别于大多数 C2 框架的重要设计决策:
- • Payload 在 Operator Client 本地编译,TeamServer 仅下发配置(Listener URL, AES Key/IV, Sleep 参数等)
-
• 优势:
-
• TeamServer 无需安装 Go/GCC 工具链,降低服务器暴露面
- • 每次编译产生不同的 Binary Hash(Go 编译器内嵌时间戳和路径)
-
• Operator 可自行修改编译参数(交叉编译、优化选项等)
-
• 编译链:
-
• 支持golang原生payload和c原生payload,c体积更小,更隐蔽!
0x06 通信安全
多层加密体系
┌─────────────────────────────────────────────────┐
│ Layer3:TransportEncryption │
│ TLS1.2/1.3(HTTPS/QUIC/REALITY) │
│ ┌─────────────────────────────────────────────┐│
│ │Layer2:ApplicationEncryption││
│ │AES-256-CBC+PKCS7Padding││
│ │ ┌─────────────────────────────────────────┐││
│ ││Layer1:Payload(JSON)│││
│ ││AgentRequest/AgentResponse│││
│ │ └─────────────────────────────────────────┘││
│ └─────────────────────────────────────────────┘│
└─────────────────────────────────────────────────┘
- • 传输层:TLS/DTLS/QUIC 加密(HTTPS, QUIC, REALITY)
- • 应用层:AES-256-CBC 对称加密(Key/IV 在 config.yaml 中配置,每次部署随机生成)
- • DNS 信道:Base32/Base64 编码 + DNS 协议自身传输
- • OneDrive 信道:OAuth2 + Graph API HTTPS + 文件内容加密
Operator ↔ TeamServer 安全
- • WebSocket over TLS(WSS),自签名证书自动生成
- • SHA-256 密码哈希认证
- • 角色化访问控制(RBAC):Admin vs Operator
0x07 持久化与状态管理
Server 端
- • SQLite 数据库:持久化 Agents, Listeners, Tasks, Operators, AgentNotes
- • Listener 热恢复
- • Agent Note 自动同步
Client 端
- • Login Profile:JSON 文件持久化多个 TeamServer 连接配置
- • Interact Session:SQLite 持久化每个 Agent 的交互历史,切换 Tab 不丢失
- • Event Log:localStorage 持久化事件日志,断开重连后可追溯
0x08 对比优势
| 特性 | Nebula-Mega | Cobalt Strike | Sliver | Havoc |
|---|---|---|---|---|
| 通信协议数 | 7 | 4 (HTTP/HTTPS/DNS/SMB) | 4 (mTLS/WG/HTTP/DNS) | 2 (HTTP(S)/SMB) |
| REALITY 伪装 | Yes | No | No | No |
| OneDrive Dead Drop | Yes | No | No | No |
| QUIC (UDP) | Yes | No | No | No |
| 客户端侧编译 | Yes | No | No | No |
| SMB Pivot | Yes | Yes | No | Yes |
| SOCKS5 反向代理 | Yes | Yes | Yes | Yes |
| .NET Inline Execute | Yes | Yes | Yes | Yes |
| 原生桌面 Client | Yes (Wails) | Yes (Swing) | CLI | Yes (Qt) |
| Go + C++ Implant | Yes | No (Java Agent/C++) | Go only | C only |
| 域前置 | Yes | Yes | Yes | No |
0x09 典型作战场景
场景一:初始突破 + 隐蔽回连
-
- 通过钓鱼投递 Go Shellcode(
format: shellcode,os: windows)
- 通过钓鱼投递 Go Shellcode(
-
- Loader 加载 Shellcode,Implant 通过 REALITY Listener 回连
-
- 蓝队 TLS Inspection 看到的是与
www.microsoft.com的正常 HTTPS 通信
- 蓝队 TLS Inspection 看到的是与
-
- NDR/IDS 无法区分 C2 流量与合法浏览流量
场景二:受限网络穿透
-
- 目标环境仅放行 DNS 53 端口
-
- 部署 DNS Tunnel Listener,配置 NS 委派
-
- Implant 通过 DNS TXT 查询进行双向通信
-
- 低带宽但高隐蔽的数据渗出通道
场景三:横向移动链
Internet→[HTTPSAgentA]→SMBPipe→[SMBAgentB]→SMBPipe→[SMBAgentC]
↑
SOCKS5代理
↓
Operator直连内网
-
- Agent A 通过 HTTPS 回连 TeamServer
- 2.
pivot connect nebula_pipe连接内网主机 B 的 Named Pipe -
- Agent B 注册为 SMB 子 Session,通过 Agent A 中转通信
-
- 在 Agent A 上启动
socks5_start,建立反向 SOCKS5 代理
- 在 Agent A 上启动
-
- Operator 通过
proxychains透明访问整个内网段
- Operator 通过
场景四:高度受限环境(仅 Office 365或google api)
-
- 目标企业仅允许访问 Microsoft 服务
-
- 注册 Azure AD 应用,配置 OneDrive Listener
-
- Implant 通过
graph.microsoft.com进行文件级 C2 通信
- Implant 通过
-
- 所有流量都是合法的 Microsoft Graph API 调用
0x10 典型bypass场景
bypass卡巴斯基企业版,全程无感操作命令,文件上传等,实战环境中建议sleep和jitter加大,混合在正常的网络请求中。
使用Nebula-mega配套工具bypass S1抓lsass:
0x0A 总结
Nebula-Mega 的设计哲学是 \"Protocol Diversity is Operational Security\"——通过提供尽可能多的隐蔽通信信道,让操作员(Operator)根据目标环境的网络策略、安全设备部署和蓝队能力,灵活选择最优的 C2 通道组合。
无论是传统的HTTP域前置、新兴的REALITYTLS伪装、还是利用SaaS平台的OneDriveDeadDrop,Nebula-Mega都提供了开箱即用的支持。结合SMBPivot横向移动、SOCKS5反向隧道、客户端侧动态编译等能力,为红队行动提供了一套完整的对抗工具链。
联系作者加入Nebula系列交流群,商务合作事宜等:
本文档面向网络安全研究与授权渗透测试人员。请在合法授权范围内使用本工具。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论