适合cs,当然应该也可以适用于其他C2框架

(我不是网络安全专业的,就是有非常兴趣玩玩 (逃

前言

自己写的loader放到virustotal跑沙箱,结果c2服务器被标记了

这就显得隐匿c2服务器很重要了

端口特征修改

修改teamserver默认端口

其位于teamserver的最后一段,将-Dcobaltstrike.server_port=改为自己想设置的端口,

./TeamServerImage -Dcobaltstrike.server_port=端口 -Dcobaltstrike.server_bindto=0.0.0.0 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=114514 teamserver $*

证书特征修改

CobaltStrike的默认证书有三个:

  • cobaltstrike.store 证书:用于服务端和客户端加密通讯

  • proxy.store 证书:用于浏览器代理也就是browserpivot功能

  • ssl.store 证书:如果你没有配置https-certificate选项,并且使用的是https监听器那么CobaltStrike默认就会使用这个证书

其中cobaltstrike.store证书和ssl.store证书比较敏感,特征也早已被各大厂商标记,建议自己生成替代不要使用其默认证书。我们可以使用keytool来管理或生成证书。keytool是一个Java数据证书的管理工具 ,keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中(即.store后缀文件)

keytool -keystore ./cobaltstrike.store -storepass 114514 -keypass 114514 -genkey -keyalg RSA -alias cobaltstrike -dname "CN=Cybertech, OU=Advanced, O=Ominus, L=Somewhere, S=Cyberspace, C=Earth"

keytool -importkeystore -srckeystore ./cobaltstrike.store -destkeystore ./cobaltstrike.store -deststoretype pkcs12

然后需要在 teamserver 里面更改一下密码,注意密码不是114514啊)

流量特征修改

利用cdn加速进行隐匿

cobaltstrike的https listener是支持CDN,于是,我们可以通过 cloudflare 代理我们服务器的流量,以达到隐匿服务器的效果

需要:

  1. 一个域名

  2. 一台国外的服务器。(国内服务器要备案)

  3. cloudflare的账号

cdn免费的Cloudflarehttps://www.cloudflare.com/zh-cn/。注册账号后登陆,选择免费计划然后添加刚刚弄到的CS服务器绑定的域名

记得要把域名服务器设置为cloudflare的

把dns解析到服务器上面,开启代理

SSL配置

在源服务器上面配置SSL证书,记得保存下来

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

然后生成新的cs证书:

openssl pkcs12 -export -in ssl.pem -inkey ssl.key -out certout.p12 -name cloudflare_cert -passout pass:12345678

keytool -importkeystore -deststorepass 12345678 -destkeypass 12345678 -destkeystore bk.store -srckeystore certout.p12 -srcstoretype PKCS12 -srcstorepass 12345678 -alias cloudflare_cert

注意改密码

接着给你的c2profile添加上证书的信息:

https-certificate {
    set keystore "bk.store";
    set password "12345678 ";
}

端口设置

Cloudflare的代理模式只有部分端口能够使用,使用时要注意端口的设置,否则是监听不到的。

(Cloudflare 支持的 HTTP 端口:80、8080、8880、2052、2082、2086、2095)

(Cloudflare 支持的 HTTPS 端口:443、2053、2083、2087、2096、8443)

这里通过创建origin rule来重写端口

比如当访问 cs.website.com:443 的时候,就会指向 cs.website.com:2052 这样子

监听器配置

从网上拿了一张图,注意2087是你在cf上面的端口

上线之后等一会是可以看到,CS上显示该机器的外部ip为cf的ip,并且该ip是动态变化的。