C2植入物强对抗开发-多轮释放

admin 2026-08-08 06:47:21 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文逆向分析了采用Rust与OLLVM混淆的三层嵌套C2样本,剖析其多轮释放机制。随后基于CrystalPalace项目实战开发强对抗C2,利用PIC链接器生成无PE头特征shellcode,重写加密规避静态检测,并结合异常处理实现进程守护。最终构建出高度模块化的多轮释放链路,有效提升内存隐蔽性与防分析能力。 综合评分: 83 文章分类: 恶意软件,逆向分析,免杀,安全开发,红队


cover_image

C2植入物强对抗开发-多轮释放

原创

cc cc

freedom安全

2026年7月26日 06:00 北京

在小说阅读器读本章

去阅读

C2植入物强对抗开发-多轮释放

那天我捕获到一个某亭某锋的C2样本。三层嵌套:Rust 守护器,56KB PE 映射引擎,10MB Rust RAT,这种多轮加载现在用的频繁,之前分析银狐啥的也喜欢这样,当时也刚好在写C2,索性想着我自己的 C2 beacon 也得这么跑,不落地、壳代码化、在内存里藏好。

某亭马子大概长这样

restarter_5__2d-b68__0.exe (Rust进程守护器) 384KB VEH + StackGuard + IsDebuggerPresent 读取 config.dat config.dat (自定义base64编码) 7.7MB XOR密钥表解密 -> 64字节自定义码表 base64解码 -> 5.7MB shellcode shellcode_decoded.bin (PE手动映射引擎) 2条中文伪装 + 32B stub + 56KB Loader + 5.7MB PE payload_decrypted.dll (Rust RAT, x64 DLL) 10MB tokio + Hyper + rustls + OpenSSL 16种RAT命令 + HTTP/1-3 + WebSocket + SOCKS5
start(0x14002FCFC) -> sub_140006920 AddVectoredExceptionHandler(Handler) VEH反调试 SetThreadStackGuarantee(20480) 栈溢出保护 IsDebuggerPresent 调试器检测 sub_140003223(beacon) 进程守护主逻辑

我的逆向能力几乎为零 所以搞这玩意的时候难受要死 样本写的跟市面上的样本没啥区别吧 不算高级也不算弱 算是很全面的C2了 特别是在静态上 确实够恶心人的

主进程是exe是rust写的 我也没怎么接触rust的马子 一开始搁哪看半天 因为rust本身反混淆就很厉害 所以难受的一批 最后在字符串表看到

一眼丁真base64魔改解码表

成功解出 可不要被哪个中文骗了

简单分析出一部分 懒得搞了 全是ollvm 浪费我的时间

### 关键函数 | 地址 | 名称 | 功能 || ------ | ------------ | ------------------------ || 0x6B | (主入口) | Loader总调度 || 0xECB | beacon______ | LoadLibrary by name || 0xF6B | read_peb | GetModuleHandle(PEB链表) || 0x100B | beacon_main | GetProcAddress(PE导出表) || 0x119B | hash | FNV-1a hash || 0x11DB | zhuanfa | 转发导出递归解析 || 0x133B | sub_133B | Bootstrap(STEALTH01) || 0x162B | sub_162B | Zw->Nt函数对映射器 || 0x18C0 | sub_18C0 | TLS回调解析准备 || 0x1CFB | sub_1CFB | ntdll签名扫描 || 0x177B | sub_177B | 节表排序 | ### 哈希常量 | 值 | 含义 || ---------- | ------------ || 0x353A3A68 | kernel32.dll || 0xD474F17E | LoadLibraryA || 0x825A7252 | kernel32.dll |

解开得到最终的马子 是一个dll

微步的沙箱已经报毒了

字符串表也能看出马子的大概逻辑

这里应该是执行命令的位置 混淆太严重了不好分析

马子的命令

| 命令 | 参数 | 功能 || ---------------------------- | ---- | -------------- || CmdlineArg | 2 | Shell执行 || ConfigureArg | 2 | 配置更新 || CDArg | 1 | 切换目录 || InternalWriteFileChunkArg | 3 | 文件上传(分块) || InternalReadFileChunkArg | 3 | 文件下载(分块) || ShellcodeArg | 2 | Shellcode注入 || InternalCheckMemoryBufferArg | 1 | 内存扫描 || StartRelayArg | 1 | 中继转发 || StartHttpServerArg | 2 | HTTP服务(横向) || StopHttpServerArg | 1 | 停止HTTP || StopRelayArg | 1 | 停止中继 || PollTask | - | 任务轮询 || Command | - | 通用命令 || OpenStream | - | TCP流/端口转发 || StopTunnelArg | 1 | 停止隧道 || TunnelConfigResponse | - | 隧道配置 |
3000+行OLLVM MBA混淆:64状态机块(跳转表 0x1407F1160)函数指针表 0x1400B4466状态转移表 0x1407F2850

后面dll的马子用了特别多的ollvm去反调试和分析 卡的我电脑难受 索性就没继续了 我也没兴趣

继续转向我的c2开发


一、PIC 到底是啥

Position Independent Code。代码不写死绝对地址,丢到内存任何位置都能跑。普通 EXE 编译出来全是 0x14000XXXX 这种硬编码地址,换一个基址就炸。PIC的作用可以让原生的Beacon马子变成shellcode,可以被用来loader加载。


二、发现 Crystal Palace 和 KaplaStrike

看了 Lorenzo Meacci 的博客和 GitHub 仓库。Crystal Palace——Mudge(Cobalt Strike 作者)写的 PIC 链接器。KaplaStrike 是基于它构建的完整 loader。Crystal Palace 不是什么转换工具。它是一个链接器,但跟普通链接器反着来。普通链接器吃 COFF 文件吐 PE 格式。Crystal Palace 吃 COFF 文件吐纯裸字节——没有 PE 头、没有导入表、没有重定位表。该项目的对抗性特别强,可以说针对EDR都做了对应的对抗

参考

项目:https://github.com/kapla0011/KaplaStrike

文章:https://rastamouse.me/islands-of-invariance/

https://0xdbgman.github.io/posts/shellcode-loaders-the-art-of-execution/


三、简单二开

对mask.c进行重写 更换整个加密方式

yara特征消除,原本是想做下静态对抗,发现作者特别细心了写了静态规避模块,巧妙了绕过yara的静态匹配,本来想继续二开但是发现网上的文章较少,除了作者本人写的比较好,再思考到前面某亭的马子,打算继续再写一层

利用SetUnhandledExceptionFilter兜底拦截。beacon 的空指针、栈溢出被截住,3 秒后重新 ModuleOverload。最多试 3 次。不到 20 行代码实现进程守护


三、组装

最后把整个链路串起来:

1.exe (强混淆 EXE) └─ 释放 → loader.exe └─ 加载 → shellcode (PIC blob) └─ ModuleOverload(WsmSvc.dll) └─ stomp beacon DLL └─ crash handler 兜底 └─ beacon 上线

成功实现多轮加载,且存在保护进程,防止样本捕获被快速分析特征,保护原生马子的持久性,但我的每一层都是可替换的积木。Crystal Palace 的模块化设计让换 PICO、换 mask、换 Draugr 都是改一行 spec 加一个 .o 的事。

成功上线

最外层马子

shellcode


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:freedom安全 cc cc《C2植入物强对抗开发-多轮释放》

评论:0   参与:  0