Sliver:红队C2工具详解(一)| 与CS及MSF的对比

Sliver介绍

Sliver是一个开源的跨平台攻击者模拟/红队框架,由Go语言编写而成,可供各种规模的组织用于执行安全测试。其植入物支持C2 over Mutual TLS(mTLS)、WireGuard、HTTP(S)和DNS,并采用每二进制非对称加密密钥进行动态编译。Sliver的服务器和客户端支持MacOS、Windows和Linux,使得在各种操作系统上都可以进行植入。

图片[1]-Sliver:红队C2工具详解(一)| 与CS及MSF的对比-山海云端论坛

服务端与客户端

Cobalt Strike和Sliver都是使用服务端进行控制,将消息转发给客户端被控主机;但是Sliver的服务器端也可直接对被控机器进行控制。与Cobalt Strike不同的是,Sliver客户端可以通过命令行或GUI客户端进行操作,而Cobalt Strike客户端只能在图形化操作的服务器上运行。Metasploit则依托于Linux,在Kali上进行使用。

编写语言

Cobalt Strike使用JAVA编写,依赖JAVA环境实现跨平台。而Sliver是使用Go语言编写的,只需使用Go语言进行编译即可,兼容性较强。

保密性 相比Cobalt Strike的服务器暴露在外,容易被全网扫描,Sliver只有获取相应的私钥才能与服务端进行通信,具备更高的安全性。

载荷制作

Sliver中的载荷文件被称为Implants(植入物),其功能与Cobalt Strike中生成的stageless和stager拉取的stage(即Beacon)相似,都是第二阶段的有效载荷,用于稳定地控制被控机器。

载荷植入方式

Sliver的载荷植入方式与Cobalt Strike和Metasploit一样,有两种方式:非阶段式和阶段式植入。由于非阶段式的载荷与阶段式下载的载荷一致,因此主要关注阶段式。

图片[2]-Sliver:红队C2工具详解(一)| 与CS及MSF的对比-山海云端论坛

载荷支持系统类型

Cobalt Strike除非使用插件,否则只能上线Windows主机;而Sliver覆盖了三大系统,并支持shellcode、service和可执行文件,不需要像Metasploit那样进行二次加工。

图片[3]-Sliver:红队C2工具详解(一)| 与CS及MSF的对比-山海云端论坛

支持的通信分类

Sliver支持多协议控制功能,包括mTLS、WG、HTTP(S)和DNS,其通信协议优先级依次为:mTLS > WG > HTTP(S) > DNS。而Metasploit支持的通信方式相对较少。

载荷模式分类

Sliver的Implant有两种模式:Beacon模式和Session模式。Beacon模式属于异步通信,定期连接服务端执行命令并返回数据;而Session模式是持久连接,执行命令响应速度更快。

监听方式

三者的监听方式相同,需开启监听才能上线,根据对应的协议开启不同的监听。

载荷投递

Cobalt Strike和Metasploit内置有钓鱼、邮件攻击、漏洞利用等方式投递木马;而Sliver则需要自己编写代码进行投递,通常是先获取shell再上传。

后渗透命令

相比Cobalt Strike,Sliver的后渗透命令较少,但Sliver更新频率较快,逐渐添加了一些新功能。

以上是Sliver与Cobalt Strike及Metasploit的对比,Sliver作为一款新兴的红队工具,不断发展壮大,为红队行动提供了更多的选择和灵活性。

参考资料

  1. https://www.metasploit.com/
  2. https://github.com/BishopFox/sliver/wiki
  3. Cobalt Strike 中文使用手册.pdf
  4. https://www.secrss.com/articles/50031
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容