渗透测试利器【Cobalt Strike】CDN隐匿

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渗透测试利器【Cobalt Strike】CDN隐匿相关的知识,希望对你有一定的参考价值。

参考技术A

Cobalt Strike是一款漂亮国Red Team开发的渗透测试神器,常被业界人称为CS。成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等功能。同时,Cobalt Strike还可以调用Mimikatz等其他知名工具并且可以作为团队服务使用,因此广受网络安全人员喜爱。

虽然Cobalt Strike在渗透测试使用过程中非常的方便和强大,但其默认的特征信息使得CS服务端也会很容易被态势感知等监测设备所识别到,并且服务器开启默认端口后也会被情报网站标记为攻击服务器,且如果teamserver密码简单也会被反爆破。

因此就需要对Cobalt Strike的流量、特征等进行隐匿。本文章采用的是CDN+修改特征隐匿的方法。

这里使用 www.freenom.com 平台进行注册,需要登陆,因此提前准备好一个邮箱,国内外邮箱都行。
tips:
1、在选择好域名并注册后,需要登录平台,然后填写相关信息以用于注册(当前ip所处的地址这里必须一致、邮编、手机号等可采用漂亮的虚拟信息);
2、后续要使用cdn平台,因此需要在这个域名平台里面绑定cdn平台的ns记录。

域名注册完成后先不要急着解析,进行第二步的CDN平台配置。
CDN平台建议使用cloudflare

先注册个账号登陆一波,使用邮箱注册,方便起见可以和freenom平台用同一个邮箱。

进入cloudflare平台后,点击左侧的网站,然后添加一个域名,这里添加的域名就是freenom注册的。

站点添加完成后,点击站点进去,在左侧DNS中添加记录。

在添加完成后如果上面出现这样的告警,就代表在freenom平台中还没有修改ns记录,需要去将ns记录修改为cdn平台的。

进入freenom平台修改ns记录,先登录,进入到域名管理处,修改ns名称。这里要填写的ns名称是CDN平台给分配的,参见上面一张图,ns前缀基本都是随机分配的,因此以CDN平台上的为准。

freenom改好ns记录后,再到CDN平台上点击上上图的“检查名称服务器”即可更新完成。此时再去解析域名、ping域名,都会成功返回到CDN的ip地址。

在CDN平台左侧的SSL/TLS-----概述中,将右边的加密模式选择为灵活。

在左侧源服务器中,点击创建证书。源服务器私钥类型选择ECC,密钥格式选择PEM。 一定要将源证书和私钥复制下来!后续要用到。

CDN默认开启缓存,可能会影响后续主机上线、shell命令回显等。因此这里有两种关闭缓存的方法建议都开启。

在CDN平台-缓存-配置-开发者模式-开启。

规则-创建页面规则中创建两条规则。以下规则中的域名不需要填写A记录名。
1、 .your dmoain/ ;
2、your dmoain/*;
3、将规则设置为-缓存级别-绕过。

2.生成新的cobaltstrike证书。如果原先的cobaltstrike文件夹内有默认的.store证书,需要先删除掉默认的。使用以下命令生成:

ps:这里的pass密码需要修改,改为复杂的密码,不要使用123456。

ps:这里的所有密码都要和上面的一致。

6.1 修改teamserver默认端口

编辑teamserver配置文件,将CobaltStrike默认的50050端口改成其它端口。

6.2 修改teamserver默认指纹信息

编辑teamserver配置文件,默认的是cobalt strike信息或Microsoft信息。

可将指纹信息改为其它的内容。

启动teamserver的命令需要微调下:

./teamserver 服务器公网IP 密码 C2.profile

连接上teamserver后,创建个监听器和马子。注意监听器的地址要填写CDN绑定的域名,而不是IP地址了
PS:在创建监听器时,建议使用https模式。并且监听器的https上线端口不要使用默认的443,否则可能会无法正常上线。建议监听端口使用CDN支持的其它端口。

先在虚拟机里面打开个wireshark开启抓包模式,然后将马子丢到虚拟机里面执行。

此时在CS里面主机已经上线。然后看wireshark中的数据包,过滤服务器真实地址发现一条都没有,均是和CDN地址的交互数据。

下图筛选服务器地址:

下图筛选CDN地址:

至此CDN隐匿完成。

Cobalt Strike第一篇介绍及安装配置

介绍

  • Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人内称为CS.

  • Cobaltstrike升级到3.0版本,脱离了MSF框架后在国内安全圈大火,成为了渗透测试中不可缺少的利器。

  • Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,

  • 集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能。

  • 同时,Cobalt Strike还可以调用Mimikatz等其他知名工具

  • 目前已是4.1版本 项目官网:https://www.cobaltstrike.com

原理

  • 这个工具的社区版是大家熟知的Armitage(一个MSF的图形化界面工具),
  • 而Cobalt Strike大家可以理解其为Armitage的商业版

在这里插入图片描述

目录结构

agscript 拓展应用的脚本c2lint 用于检查profile的错误异常
teamserver 服务端程序
cobaltstrike,cobaltstrike.jar客户端程序(java跨平台)
license.pdf 许可证文件
logs 目录记录与目标主机的相关信息
update,update.jar用于更新CS
third-party 第三方工具

在这里插入图片描述

server配置

Linux环境配置(需提前安装好Java与JDK)

java -version
在这里插入图片描述

端口以及指纹信息、更改cs的默认ssl证书信息修改

vim teamserver

在这里插入图片描述

运行

chmod +x teamserver
screen  ./teamserver ip 密码 
#screen是在linux后台运行
 # 设置强密码,否则容易被爆破

在这里插入图片描述

在这里插入图片描述

client配置

linux使用

  • 第一步 启动
chmod +x cobaltstrike
./cobaltstrike或
 java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

在这里插入图片描述

  • 第二步 输入信息 进行连接
192.168.0.102 输入服务端IP,
55050 #端口是刚才teamview自己修改后的端口,默认是50050
qwer # 用户名随意即可
root123456#密码为之前设置的密码,
 点击connect。

在这里插入图片描述

  • 第三步 hash值比对,确认,连接成功
第一次连接会出现hash校验,
这里的hash等于前面的启动teamserver时的hash,
直接点击‘是’即可连接到团队服务器上。

在这里插入图片描述

windows使用

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

重新启动

ps -ef|grep 55050
kill -9 67027

以上是关于渗透测试利器【Cobalt Strike】CDN隐匿的主要内容,如果未能解决你的问题,请参考以下文章

150.网络安全渗透测试—[Cobalt Strike系列]—[DNS Beacon原理/实战测试]

Cobalt-Strike基本使用

152.网络安全渗透测试—[Cobalt Strike系列]—[会话管理/派生]

153.网络安全渗透测试—[Cobalt Strike系列]—[生成hta/exe/宏后门]

148.网络安全渗透测试—[Cobalt Strike系列]—[HTTP Beacon基础使用/脚本web传递/屏幕截图/端口扫描]

【远控使用】Cobalt Strike横向渗透域控