Cobalt Strike高阶玩法

admin 2024年4月22日05:54:43评论3 views字数 1952阅读6分30秒阅读模式

前言

本公众号仅用作技术研究,利用此文提及到的知识造成的任何直接或者间接的后果及损失均由使用者本人负责,本人不为此承担任何责任本文中涉及的漏洞复现,均是自己搭建的本地靶场,禁止非法攻击未授权站点

一、用邮件作为CS的服务端概念

互联网中有很多免费的邮件服务,例如qq邮箱,163邮箱,outlook邮箱 这些邮件提供商拥有大量的客户,这些邮件服务器通常会被认为是可信服务器,甚至有的网络环境中只允许和邮件服务器进行通信。使用邮件服务器作为c2 可以很好的隐藏流量特征。同理可以使用oss存储对象,数据库等任意一个可以进行写入和读取数据的地方都可以传输c2流量,这种方式被称为c3。以下是GPT的解释:

C2(Customer to Customer)

    • C2指的是客户之间的交流。这种交流可以发生在各种平台上,包括社交媒体、在线论坛、评价网站等等。

    • 在C2中,客户分享他们的经验、意见和建议,这些信息对其他潜在客户具有影响力。例如,一个客户在社交媒体上分享了对某个产品的好评,可能会影响其他人的购买决策。

    • C2交流的内容可能是正面的也可能是负面的,它们都会对品牌形象和销售产生影响。因此,企业通常会关注并积极参与这种客户之间的交流。

C3(Customer to Company to Customer)

    • C3指的是客户与企业之间的交流。这种交流通常是通过客户服务渠道实现的,如电话、电子邮件、在线聊天等。

    • 在C3中,客户联系企业寻求帮助、解决问题、提出建议等。客户与企业的互动在很大程度上能够影响客户的满意度和忠诚度。

    • 企业通过C3交流了解客户的需求、问题和反馈,从而改进产品和服务,提高客户满意度和忠诚度。

二、优势&劣势

优势

    • 使用可信服务器进行通信

    • 防守难以从流量层面防护

    • 无需云公网ip作为服务器

    • 增强c2的隐私性

劣势

    • 邮件延迟较高

    • 账号容易被封号

    • 需要编写专门的代码

    • 邮箱账号密码容易泄漏

三、详细操作步骤

    有能力的可以从c2开始写,这样就只需要在木马端运行一个程序。下面使用的是cs作为c2,将cs的流量嵌套进邮件中。

1. 准备工作

    需要准备两个邮箱账号,分别用来与木马和teamsever通信。可以使用qq邮箱或者163邮箱等,但是请注意有封号的风险。我使用的是两个新注册outlook邮箱。如果使用的qq等邮箱 需要开启smtp和imap服务,outlook默认已开启。

2. 与木马端进行通信

随之产生的几个问题如下:

  • 邮件通信有延迟,cs心跳是否需要,如果心跳保留就会发送大量邮件,邮件空间能怎么处理?

        针对这cs心跳我选择了保留,sleep时间设置长一点。如果只保留post请求也是可以的 这样会少很多邮件数据,但是不能清理teamserver,否则就 需要手动去邮件服务器中发送上线邮件,而且第一个get上线请求必须保留。

Cobalt Strike高阶玩法

    由于邮件服务器存在延迟且检查新邮件也有轮询时间,为了cs马不一直等待 我默认返回一个http响应。所以来自teamsever的数据在cs马的下一个请求被读取。

Cobalt Strike高阶玩法

  • 使用什么方式从邮件服务器中读取和发送邮件?

        我选择了smtp和imap直接读取邮件,可以使用爬虫从网页中爬取,这样就不需要开启smtp也不需要处理不同邮件服务器的邮件格式。发送邮件使用了gomail

Cobalt Strike高阶玩法

    通过邮件数量判断是否有新邮件

Cobalt Strike高阶玩法

 需要判断邮件的来源,并且不同的邮件服务器收到的邮件格式不一样,这里删除了邮件的 前67个字符是因为outlook会在邮件头添加一串字符。其他邮件服务器的邮件格式会有所不同(qq会有两次邮件,text和html两种格式)。同时对数据包进行了压缩后base64编码,如果不编码会导致部分数据错乱。

Cobalt Strike高阶玩法

Cobalt Strike高阶玩法

  • 多个客户端如何处理?

        teamsever发送邮件的时候如何区分发给哪个邮箱,此处并未实现,所以和一个客户端进行通信。

  • 最后如何接收cs马发送的数据?

        为了体积小和方便我直接使用了接收数据,这就意味着不支持https的监听器。

Cobalt Strike高阶玩法

3. 与teamserver进行通信

  • 通信方式 同样使用的是tcp请求,只不过这次需要for循环来维持与teamsever的通信。

Cobalt Strike高阶玩法

  • 其他内容

发送邮件基本和木马端一致,但是发送来自cs马的流量后记得sleep一点时间,不然 teamserver只会返回http的响应头。

Cobalt Strike高阶玩法

4. 最后成功截图

Cobalt Strike高阶玩法

Cobalt Strike高阶玩法

四、CS监听器配置

    监听器的ip需要指向C3Mail,同时需要修改C3Mail中的ini配置文件和C3Mail-server中的配置文件。在里面添加上账号密码以及监听的端口等。

五、自写源码

Cobalt Strike高阶玩法

Cobalt Strike高阶玩法

Github链接地址:https://github.com/djhons/mail-c3

Cobalt Strike高阶玩法
点击上方蓝字关注我们

原文始发于微信公众号(Max安全研究院):Cobalt Strike高阶玩法

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月22日05:54:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Cobalt Strike高阶玩法https://cn-sec.com/archives/2624978.html

发表评论

匿名网友 填写信息