CobaltStrike去除流量特征
CobaltStrike去除流量特征
普通CS没有做流量混淆会被防火墙拦住流量,所以偶尔会看到CS上线了机器但是进行任何操作都没有反应。这里尝试一下做流量混淆。参考网上的文章,大部分是两种方法,一种更改teamserver 里面与CS流量相关的内容,一种是利用Keytool工具生成新的store证书。而我们需要做的修改大概为3个地方:
1. 修改默认端口
2. 去除store证书特征
3. 修改profile
0x00 关闭后台运行的CS
ps -aux
找到CS相关的进程
kill -9 pid
0x01 修改默认端口
编辑teamserver文件,更改server port部分 50433
vim teamserver

0x02 去除store证书特征
查看证书,默认密码123456
keytool -list -v -keystore cobaltstrike.store
可以看到未修改的证书还是有很明显的cs特征的,比如 Alias name Owner Issuer 字段

而Keytool是一个Java的证书管理工具,下面用Keytool生成一个store证书。
keytool -h
Illegal option: -h
ey and Certificate Management Tool
Commands:
-certreq Generates a certificate request
-changealias Changes an entry's alias
-delete Deletes an entry
-exportcert Exports certificate
-genkeypair Generates a key pair
-genseckey Generates a secret key
-gencert Generates certificate from a certificate request
-importcert Imports a certificate or a certificate chain
-importpass Imports a password
-importkeystore Imports one or all entries from another keystore
-keypasswd Changes the key password of an entry
-list Lists entries in a keystore
-printcert Prints the content of a certificate
-printcertreq Prints the content of a certificate request
-printcrl Prints the content of a CRL file
-storepasswd Changes the store password of a keystore
使用以下命令生成一个新的store证书,-alias 和 -dname 可以自由发挥,也可以用其他的来混淆流量。
keytool -keystore CobaltStrikepro.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias Microsec.com -dname "CN=Microsec e-Szigno Root CA, OU=e-Szigno CA, O=Microsec Ltd., L=Budapest, S=HU, C=HU"
参数 含义
`-alias` 指定别名
`-storepass` 指定更改密钥库的存储口令
`‐keypass pass` 指定更改条目的密钥口令
`-keyalg` 指定算法
`-dname` 指定所有者信息
新生成的证书看着就很nice

当然也可以编辑 teamserver 文件来生成证书

0x03 Malleable-C2-Profiles
因为现在很多WAF都能检测出CS的流量特征,而CS的流量由Malleable C2配置来掌控的,所以我们需要定向去配置这个Malleable-C2。
Beacon与teamserver端c2的通信逻辑
1.stager的beacon会先下载完整的payload执行
2.beacon进入睡眠状态,结束睡眠状态后用 http-get方式 发送一个metadata(具体发送细节可以在malleable_profie文件里的http-get模块进行自定义),metadata内容大概是目标系统的版本,当前用户等信息给teamserver端 。 |
3.如果存在待执行的任务,则teamserver上的c2会响应这个metadata发布命令。beacon将会收到具体会话内容与一个任务id。
4.执行完毕后beacon将回显数据与任务id用post方式发送回team server端的C2(细节可以在malleable_profile文件中的http-post部分进行自定义),然后又会回到睡眠状态。
首先需要先下载profile文件
git clone https://github.com/rsmudge/Malleable-C2-Profiles.git
CS中集成了一个包含在Linux平台下的C2lint工具,可以检查profile代码是否有问题
chmod 777 c2lint
./c2lint ./Malleable-C2-Profiles/APT/havex.profile
之后改一下profile的内容就好了网上有很多例子,我这里简单改了下。
因为0.0.0.0是Cobalt Strike DNS Beacon特征,可以在profile内加一段 set dns_idle "8.8.8.8"; 之后profile内默认的能改则改。

http-get部分,包括uri和header都可以根据实战抓包进行修改。

Reference
https://www.adminxe.com/1489.html
https://www.chabug.org/web/832.html
https://paper.seebug.org/1349/
https://blog.csdn.net/shuteer_xu/article/details/110508415
CobaltStrike去除流量特征的更多相关文章
- Cobaltstrike去除特征
出品|MS08067实验室(www.ms08067.com) 本文作者:BlackCat(Ms08067实验室内网小组成员) 前言: 红蓝对抗的时候,如果未修改CS特征.容易被蓝队溯源. 去特征的几种 ...
- DNS通道检测 国内学术界研究情况——研究方法:基于特征或者流量,使用机器学习决策树分类算法居多
http://xuewen.cnki.net/DownloadArticle.aspx?filename=BMKJ201104017&dbtype=CJFD<浅析基于DNS协议的隐蔽通道 ...
- cobaltstrike 框架简述
关于cobalt strike,火起来也有好几年了,首先感谢大佬们慷慨相助愿意在网上分享和翻译相关资料,让这么好的渗透测试框架工具被更多人知道 那就来整理一下在使用这个框架的过程中我认为需要了解的小知 ...
- 【CobaltStrike】CobaltStrike简介与使用
CobaltStrike简介与使用 0x00 简介 1. 什么是CobaltStrike?可以用来做什么? CobatStrike是一款基于java编写的全平台多方协同后渗透攻击框架.CobaltSt ...
- Cobalt Strike特征隐藏
前言 首先红蓝对抗的时候,如果未修改CS特征.容易被蓝队溯源. 前段时间360公布了cobalt strike stage uri的特征,并且紧接着nmap扫描插件也发布了.虽说这个特征很早就被发现了 ...
- 冰蝎&哥斯拉 流量特征分析
1.冰蝎(Behinder) 下载链接:https://github.com/rebeyond/Behinder/releases 截止至我发贴时,冰蝎最新版本是3.0,客户端兼容性有所提升(但仍不是 ...
- dns隧道攻击原理及常用工具流量分析
DNS协议是一种请求应答协议,也是一种可用于应用层的隧道技术.虽然DNS流量的异常变化可能会被发现,但是在基于传统socket隧道已经濒临淘汰,TCP.UDP通信大量被安全设备拦截的大背景下,DNS. ...
- 【Machine Learning】机器学习の特征
绘制了一张导图,有不对的地方欢迎指正: 下载地址 机器学习中,特征是很关键的.其中包括,特征的提取和特征的选择.他们是降维的两种方法,但又有所不同: 特征抽取(Feature Extraction): ...
- 监控 DNS 流量,预防安全隐患五大招!
尽管 IT 管理员尽心尽责地监控设备.主机和网络是否存在恶意活动的迹象,却往往出力不讨好.主机入侵检测和端点保护对很多公司来说可能是"必需"的安全措施,但如果要找出 RAT.roo ...
随机推荐
- 我通过调试ConcurrentLinkedQueue发现一个IDEA的小虫子(bug), vscode复现, eclipse毫无问题
前言: 本渣渣想分析分析Doug Lea大佬对高并发代码编写思路, 于是找到了我们今天的小主角ConcurrentLinkedQueue进行鞭打, 说实话草稿我都打好了, 就差临门一脚, 给踢折了 直 ...
- 资源:Hadoop安装包下载路径
下载路径 Hadoop所有版本:http://archive.apache.org/dist/hadoop/common/
- SpringMVC(10)实现注解式权限验证
在项目中如何处理出现的异常,在每个可能出现异常的地方都写代码捕捉异常?这显然是不合理的,当项目越来越大是也是不可维护的.那么如何保证我们处理异常的代码精简且便于维护呢?这就是本篇要讲的内容->异 ...
- Linux创建ftp并设置权限以及忘记ftp帐号(密码)修改 (转)
忘记ftp密码修改方法:1.登录服务器 cd /etc/vsftpdcat ftpusers找到对应的ftp用户名 (如果用户名也忘记了 那么 cd /etc 然后cat passwd 查看用户 ...
- IDA 动态调试
感谢南邮,让我把ida动态调试,给搞定了,困扰了很久,之前下的ubuntu的源,好像有问题,ifconfig这个命令一直装不上,突然想起来了我的服务器很久没用了,重装了下系统,换成ubuntu,这里记 ...
- JS中 var,let与const的区别
1.在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过 var 关键字,函数声明是通过 function 关键字,而在ES6之后,声明的方式有 var . let . cons ...
- python使用笔记16--操作redis
操作redis应先引入第三方模块 执行以下命令 pip install redis 1.redis常用方法 1 import redis 2 #decode_responses=True将bytes转 ...
- 简单配置nginx反向代理,实现跨域请求
简单配置nginx去做反向代理,实现跨域请求 简单介绍nginx的nginx.conf最核心的配置,去做反向代理,实现跨域请求. 更多详细配置,参考nginx官方文档 先介绍几个nginx命令 打开n ...
- linux下系统时间和时钟时间
linux中有关系统时间.时钟时间的命令: 1显示系统时间的命令 ># date 2显示时钟时间的命令 ># clock或hwclock 3系统时间与互联网同步的命令 ># ntpd ...
- 构建高效Presubmit卡点,落地测试左移最佳实践
樊登有一节课讲的挺有意思,说中国有个组织叫绩效改进协会,专门研究用技控代替人控的事情.其用麦当劳来举例子,他说麦当劳其实招人标准很低,高中文凭就可以,但是培养出来的人,三五年之后,每一个都是大家争抢的 ...