CobaltStrike特征隐藏
前言
最近有很多同学私信我,说咋渗透?没有一个完整渗透流程?工具不会用?
今天他来了,这次给同学们带来,cs特征隐藏,
cs的基础用法,网上也有一大堆,先知社区也有很多大佬写得很详细了,我这里就不在讲了。
CobaltStrike概述
Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人称为CS。
成为了渗透测试中不可缺少的利器。其拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等功能。同时,Cobalt Strike还可以调用Mimikatz等其他知名工具,因此广受黑客喜爱。
项目官网:https://www.cobaltstrike.com
俗称cs别名(多人运动),顾名思义,能够多人在线,搞事情
但是,cs这么强,cs的特征早被waf厂商标记了,你想想,好不容易搞下的目标,一连cs,就被waf提取到异常,分析下你的cs流量,ban了你的ip,cs权限就不又么得了,甚至被厉害的bt,溯源,万一你的密码简单,bt暴力破解你的cs,那不就被人一锅端了,
这时候,就要隐藏我们的cs了,给他加buff,让waf发现不了
CobaltStrike特征隐藏的几种常见方法
1.修改默认端口
编辑文件teamserver进行启动项修改
vim teamserver
修改为7896
然后启动
2去除证书特征
Cobalt Strike默认的证书,已经被waf厂商标记烂了,我们要重新生成一个新的证书,这里我们用JDK自带的keytool证书工具来生成新证书。
Linxu
直接使用,keytool命令
1 |
|
在keystore里,包含两种数据:
密钥实体(Key entity)—— 密钥(secret key)又或者是私钥和配对公钥(采用非对称加密) 可信任的证书实体(trusted certificate entries)——只包含公钥
修改CS的证书文件
查看下cs的默认证书,口令为123456
1 |
|
可以看到,cs的默认证书的Alias name 、Onwer 和 Issuer 的信息,特征都比较明显。
该命令生成一个新的cs证书
1 |
|
把新生成的证书替换掉默认的证书‘
Windows
在JDK 1.4以后的版本中都包含了这一工具,它的位置为<JAVA_HOME>\bin\keytool.exe
。
1 |
|
3.设置混淆配置文件
我们cs的客户端/服务端的流量通信,大部分流量审计软件,都能检测到cs默认的通信流量,所以cs开发团队,设置了配置文件,让用户直接设置客户端/服务端双向通信的流量格式以及软件相应配置,来绕过流量审计
1 |
|
有兴趣的同学可自行看看配置如何写,我这边就直接github的了,地址如下
1 |
|
这里使用伪造jQuery的C2-Profile
查看配置是否可用:./c2lint malleable-c2/jquery-c2.4.2.profile
启动配置./teamserver 服务器ip cs密码 混淆配置文件
抓包看流量,确实改变了
4.部署Nginx反向代理
现在我们的cs服务器登录端口隐藏了,流量也做了混淆,着次就要把,cs监听端口,给隐藏起来了,要不然,默认geturl,就能获取到我们的shellcode,加密shellcode的密钥又是固定的(3.x 0x69,4.x 0x2e),所以能从shellcode中解出c2域名等配置信息。
不修改特征的话nmap 一扫就出来
1 |
|
修改这个特征有两个方法,
1.修改源码加密的密钥,
1 |
|
2.限制端口访问,让一般的扫描器扫不了出开,
这里我们用nginx做反向代理,通过ua过滤流量,然后防火墙限制端口只能让127.0.0.1访问shellcode端口
先到我们的服务器上安装nginx服务
1 |
|
打开配置编辑nginx配置文件
一般在安装路径的config/nginx.conf
1 |
|
配置中的ua根据你的profile文件中设置的ua所定
profile中的ua也可以自行修改
设置防火墙只能让127.0.0.1访问监听端口
1 |
|
直接访问域名,直接跳转404
设置cs监听
直接生成exe,抓包测试,正常上线
5.https上线
默认的HTTPS的Beacon上线机器用的证书,及其容易被查出来,被识别,这里我们可以用自己的证书
我们可以直接在cloudflare上申请,非常方便,选择默认的pem格式
1 |
|
分别复制内容保存为key.pem和chain.pem上传到cs的服务器上,再在nginx配置文件中启用证书。
为cobalt strike 配置证书
1.生成xxx.com.store文件
1 |
|
2.将生成的api.xxx.com.store放到cs目录下,修改teamserver文件最后一行,将cobaltstrike.store修改为api.xxx.com.store和store文件对应的密码。(有必要的话,把端口号也可以改了并设置iptables只允许特定ip访问)
1 |
|
3.将 keystore 加入 Malleable C2 profile 中
1 |
|
然后启动cs设置listener。
再通过nohup ./teamserver IP password amazon.profile &启动后抓上线包,证书就是自己申请的了
最后
我的博客开通了,还望大佬多多指点