cobaltstrike隐藏特征记录
端口特征
端口尽量修改非默认端口,除了是规避特征,也防止被扫。这个修改端口非常简单,这里不再赘述。
证书特征
这里cobalstrike有两个地方需要用到证书,一个是和CS的通信,另一个则是我们创建https监听器时也需要证书,这两个都有默认自带,但是肯定是有特征的,所以都需要自己生成。一般网上教程会忽略对https证书的修改,可能也会被杀软标记。
ulike.store
我们这里直接使用linux自带的keytool命令生成证书
1 | keytool -keystore ulike.store -storepass xxxx123 -keypass xxxx123 -genkey -keyalg RSA -alias ulike.com -dname "CN=US, OU=ulike.com, O=Sofaware, L=Somewhere, ST=Cyberspace, C=CN" |
这里面的密码我们要记住,后面定制profile还需要使用。
你可以生成两个不同的证书,也可以都适用这一个证书。当然网上还有教程推荐生成带绿标的https证书,我觉得没有那个必要,能用就行,如果你需要一个真正合规的https证书,那你需要申请一个域名,然后去cloudfare或者freessl网站上去申请一个证书,也是免费的。
流量和行为特征
流量特征如果你有深厚的编程功底,可以直接去二开CS,很多安全大厂也是这样做的。当然我没有😂,所以我选择定制一下profile, cs的profile文件可以修改流量特征以及修改beacon的默认行为,目的是为了让通信变得更加隐蔽。
如果你对profile的语法还不够了解,甚至不知道是什么,推荐去读一下官方文档或者这个:https://blog.zsec.uk/cobalt-strike-profiles/
我们这里不直接提供profile 样例,而是说一下应该注意什么:
首先是要修改https http 的各种流量特征,加一些自己的定制字段和header伪造为正常的流量。
修改pipename管道名称
绑定https证书
我们绑定上面的证书在profile中可以这样写
1 | https-certificate { |
至于其他的一些细节,比如进程注入、反射的beacon.dll文件的具体特征等,可以去github上查找红队大佬的profile案例,理解后学习。每个人的写法不一致,而且被研究后也容易被针对。
vps特征
有时候我们的流量免杀可能都做到位了,但是还是被杀,可以考虑下是不是vps被标记了。更换vps。或者在一开始使用的时候,就可以使用cdn,域前置技术,来规避vps的ip被直接标记。