一、什么是 C2 ?
主流C2工具示例:Cobalt Strike(CS)
二、C2 免杀 主要针对 Windows
原因如下:
1、目标群体多
Windows 在企业、政府、个人用户中的市场占有率最高;
红队、APT、恶意攻击者最常面对的是 Windows 主机。
2、杀软与EDR防护机制强
Windows 系统中广泛部署了:
-
杀毒软件(如 Defender、360、卡巴等);
-
EDR 系统(如 CrowdStrike、SentinelOne、火绒终端防护);
攻击者必须开发出各种免杀技巧绕过检测。
3、Windows 系统机制更复杂
有大量易于利用的 API(如 APC、DLL注入、WMI、COM);
系统自带的“白利用工具”丰富(LOLBAS 工具集);
支持 PE 文件、Shellcode、DLL、反射加载等多样的攻击载体。
4、其他平台也有免杀需求,但相对较少:
|
|
|
---|---|---|
Linux |
|
|
macOS |
|
|
Android/iOS |
|
|
三、C2 免杀 相关概念
C2免杀的制作主要围绕以下三个层面:
1、Shellcode
下图为CS生成的shellcode示例:
.c文件(可读)
.bin文件(不可读)
2、Loader
什么是加载器(Loader)?
操作系统有操作系统的加载器;软件层面,开发中不同语言有不同语言的加载器...
它是程序运行中不可或缺的一个步骤,加载器会将程序置放在存储器中,让它开始运行。加载程序的步骤包括,读取可执行文件,将可执行文件的内容写入存储器中,之后开展其他所需的准备工作,准备让可执行文件运行。当加载完成之后,操作系统会将控制权交给加载的代码,让它开始运作。
加载器本质上就是一段专门设计的代码!就是一个“迷你程序”(比如Windows的Loader
、安卓的ClassLoader
)。
从开机到玩游戏,背后都是各种加载器代码在默默干活
那么,在C2免杀中,加载器又是什么,起什么作用?
Github上关于加载器的一些项目:
https://github.com/knownsec/shellcodeloader
https://github.com/xf555er/ShellcodeLoader
3、exe
可执行PE文件,可进行降熵、签名等一系列操作。
原文始发于微信公众号(仇辉攻防):【免杀】C2免杀 | 概念篇
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论