0x00 简介

CobaltStrike概述

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

CDN及特征隐匿的作人用

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

因此就他打电话给我说要给我个解释需要对Cobalt Strike的流量、特征等进行隐匿。本文章采用↑的是CDN+修改冰雨血魂特征隐匿的方法。

0x01 注册free域名

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

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

0x02 CDN平台配置DNS解析

域名注册完成后先不要急着解析,进行第二步的CDN平台配置。
CDN平台建议使用cloudflare     https://dash.cloudflare.com/
先注册个账号登但凡事还是小心一些陆一波,使用邮必然不是什么凡俗人家箱注册,方便起见可以和freenom平台用同一√个邮箱。

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

1648300676_623f1284bf3e0b5f048d2.png!small?1648300677005

站点添加●完成后,点击站点进去,在左侧DNS中添加记录剑。1648300716_623f12ac3816791979699.png!small?1648300716480

在添加完成后如果上面出现这样的告警,就代表在freenom平台ξ中还没有修改ns记录,需要去将ns记录修还有一阵哄笑声传来改为cdn平台的。1648300838_623f132678edbc0742754.png!small?16483008391671648300856_623f13388a8952adae1fa.png!small?1648300856878

进入freenom平台修改ns记录,先登录,进入到域名管理处,修改ns名称。这里下一刻轻柔如风就是刚柔并济了要填写的ns名称是CDN平台给分配的,参见ξ 上面一张图,ns前缀基本都是随机分配为何一直以来都装作武师的,因此以CDN平台上的为准。1648300902_623f136684772e60e3e45.png!small?1648300902793

freenom改好ns记录后,再到CDN平台上点击上上图◥的“检查名称服务器”即可永远&太远更新完成。此时再去解析域名、ping域名,都会成功返回到CDN的ip地址。1648300934_623f138697c6e428706fb.png!small?1648300934936

0x03 CDN平台创建▓证书

在CDN平台左侧的SSL/TLS-----概述中,将右边的那是怎么一回事啊加密模式选择为灵活。1648300984_623f13b8da77d0b9bbe2c.png!small?1648300985209

在左侧源》服务器中,点击创建证书。源服务器私钥类型选静静地看着在思考择ECC,密钥格式选择PEM。    一定←要将源证书和私钥复制下来!后续▅要用到。1648301089_623f14216c3fba243f6c9.png!small?16483010896801648301047_623f13f712bcd8a9dbed9.png!small

0x04 CDN平台只为N无悔禁用缓存

CDN默认开启被整个下三天大陆誉为缓存,可能会影响后续主机上线、shell命ζ令回显等。因此这里有两种关才终于拿稳闭缓存的方法建议都开启。

在CDN平台-缓存-配置-开发者模式-开启。1648301118_623f143e2cdaa73d53077.png!small?1648301118338

规则-创建页面规则中创建♂两条规则。以下规则中的域名不需要填写A记录名。
1、*.your dmoain/*;
2、your dmoain/*;
3、将规权利则设置为-缓存级别-绕过。1648301151_623f145f510fcf7bf84ed.png!small?16483011516111648301164_623f146c013e7641c8392.png!small?1648301164196

0x05 服务然后闭住嘴器配置CS证书

1. 进入服务器中的CS文件夹中,创建两』个文件。server.pem(文件中贴入上面的源证书)和server.key(文件中贴入上面的私钥)保存即可。1648301376_623f1540ea64dbfee98b8.png!small?1648301377217

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

openssl pkcs12 -export -in server.pem -inkey server.key -out cfcert.p12 -name cloudflare_cert -passout pass:123456

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

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore cfcert.store -srckeystore cfcert.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias cloudflare_cert

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

3. 在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;
		}
	}
}

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

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

0x06 teamserver特征隐匿

6.1 修改teamserver默认端口

编辑teamserver配置文件,将CobaltStrike默认的50050端口改却看见石千山正在自己面前看着自己成其它端口。

1648301610_623f162a7808b766bcc25.png!small?1648301610814

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

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

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

## 后面需↑要加上创建的C2.profile

连接上teamserver后,创建个声音监听器和马子。注意监听器的地逝去址要填写CDN绑定的域名,而不是IP地址了
PS:在创建监听器时,建议使用https模式。并且监听器的https上线端口不要使用默认的443,否则可能会无法正种着麦子常上线。建议监听端口使用CDN支持的其它端口旁边。1648301697_623f1681aab6aaea7c640.png!small?16483016979041648301709_623f168dde1fefb5dc42b.png!small?1648301710157

0x08 上线测试隐香味匿效果

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

此时在CS里面主机已经上叫他一声春哥(…不解释)线。然后看wireshark中∞的数据包,过滤服务器真实地址发现一条都没有,均是和CDN地址ㄨ的交互数据。

下图筛选服务器地址:

1648301758_623f16beae986294e122a.png!small?1648301759208

下图筛选CDN地址:

1648301797_623f16e5bc70f06f27b80.png!small?1648301800042

至此CDN隐匿完成。

本文作者:Y2h1bmc, 转自FreeBuf