1.什么是特征
特征就是指人或事物可供识别的特殊的象征或标志,此处的CS的特征就是远程端口、自带的证书等等
2.为什么要修改特征
如果不对默认的特征进行修改,就会非常容易的被识别出来,很容易被搜索引擎和威胁情报被标记成木马和远控;默认的流量会被防火拦截,当主机上线,但是执行命令通常会无回显
3.如何修改特征
修改特征就是对CS服务端进行特征的修改
3.1 修改默认端口
进入CS目录,然后修改配置文件里的启动文件
vim teamserver
更改server port端口部分,默认为50050
可以修改为常用的80、443、3306、8080等端口,只要没被占用就行
同时最好把 -Djavax.net.ssl.keyStorePassword证书口令也修改了 , 默认ssl证书口令是 123456
3.2 修改默认证书
查看证书信息,使用命令:
keytool -list -v -keystore cobaltstrike.store
然后输入证书密码就可以看到证书信息了
Keytool是一个Java数据证书的管理工具,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中,即store后缀文件中
相关命令:
-certreq 生成证书请求
-changealias 更改条目的别名
-delete 删除条目
-exportcert 导出证书
-genkeypair 生成密钥对
-genseckey 生成密钥
-gencert 根据证书请求生成证书
-importcert 导入证书或证书链
-importpass 导入口令
-importkeystore 从其他密钥库导入一个或所有条目
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印CRL文件的内容
-storepasswd 更改密钥库的存储口令
使用命令生成新的证书:
keytool -keystore ./cobaltstrike_new.store -storepass QAXNB -keypass QAXNB -genkey -keyalg RSA -alias cobaltstrike -dname "CN=www.qianxin.com, OU=北京奇安信科技有限公司, O=运维部, L=北京, S=北京, C=CN"
查看生成的证书信息
然后修改配置文件,使用生成的证书
3.3 配置profile文件
CS默认的是不带profile文件的,]profile文件的配置简单来说就是将流量伪装, 防溯源, 把命令的下发和的响应流量进行包装,让他看起来更像是在访问web网页
profile文件使用手册 : https://www.cobaltstrike.com/downloads/csmanual44.pdf
基本语法
# this is a comment 设置全局变量
# DNS beacon 不经常使用 , 但是对于只有DNS协议出网的设备可以使用
# dns-beacon 可以设置一些PE文件的内容和自定义DNS查询的一些规则
# http-config 不单单是http实际上也是https的全局响应头
# http-get 命令的下发相当于是teamserver(cs服务端)向受害者发送一个get请求
# http-post 结果的回传相当于受害者向teamserver发送一个post请求
# http-stager 主要是伪装一些js,css文件的请求 , 不要用已经被标记成特征的js,css文件
# https-certificate ssl证书配置
# code-signer 使用ssl证书加密 ,设置了他 , 在生成木马的时候可以选择sign签名
# process-inject 进程注入
# post-ex 后渗透相关
注: 很多公开的profile文件已经成为了CS的特征 , 最好自己改写一下 , github搜索Malleablec2 可以参考其他开源作者的profile文件进行编写