发布于2022年11月7日2年前 C2是什么我就不赘述了,在设计初期放一些手稿,希望对大家有所帮助。第一章设计理念 1. 设计模型 C2采用Client-Teamserver-Agent设计,其中Agent由汇编和C实现,而Teamserver和Client由C#实现。 Agent部分以RDI技术为核心进行扩展,采用Fork&Run思想进行设计,即将puppet进程注入RDI反射DLL。这样做的好处是,Agent通过设计避免了这块已用内存的回收问题,提高了RDI模块本身的容错能力。 ,但这种设计也有很多缺陷。从 OPSEC 的角度来看,这种设计并不是特别合适,所以我们也提供了一种比 Fork&Run 更难检测的模式。作者选择了Master-Worker模式,Worker以抢占方式执行Master分配的任务。 TeamServer 和 Client 都是用 C# 编写的。为了用户体验,它被设计为与CS连接(Cobaltstrike下面如果没有指定,将被称为CS),以及使用ASP.NET WEB Api的Client和Teamserver之间的连接。数据交互,使用自建的WEB Server或Raw Socket与Agent进行交互。数据格式参考cobaltstrike,将Channel(通道,即数据的传输方式)和Metadata(元数据,即Agent的操作指令)解耦,即通道与元数据分离,并且在数据传输过程中使用了RSA+AES的强加密(在通道中实现)。 详细内容将在后续章节的正文中进行说明。 2. 概念图 2.1 代理 2.2 团队服务器
创建帐户或登录后发表意见