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 ...
随机推荐
- Centos中安装Node.Js
NodeJs安装有好几种方式: 第一种: 最简单的是用yum命令,可惜我现在用的时候 发现 镜像中没有nodejs:所以这种方式放弃: 第二种:去官网下载源码,然后自己编译:编译过程中可能会出现问题, ...
- buu SCTF Who is he
1. 下载好附件,发现是unity的题目,找到assembly.dll,用dnspy直接打开干,在引用下面就是实际的代码 2.找到了核心代码,发现逻辑也挺简单的, 输入的text,要和一串字符串进行b ...
- mongodb oplog详解和格式分析
1. 基本概念 oplog使用固定大小集合记录了数据库中所有修改操作的操作日志(新增.修改和删除,无查询),mongodb收到修改请求后,先在主节点(Primary)执行请求,再把操作日志保存到opl ...
- Linux账号和权限管理(第二回合)
一.组账号文件二.添加组账号groupadd三.添加删除组成员gpasswd四.删除组账号groupdel五.查询账号信息finger六.文件/目录的权限和归属七.设置文件和目录的归属chown 一. ...
- c语言:结果不理解
#include <stdio.h> int main() { int a;float b; scanf("a=%d,b=%f",&a,&b); pri ...
- Java多线程(上)
Java多线程 程序.进程和线程 一.程序 程序是存储在磁盘上, 包含可执行机器指令和数据的静态实体. 即进程或者任务是处于活动状态的计算机程序. 二.进程 进程是资源(CPU.内存等)分配的基本单位 ...
- springboot-3-web开发
一.视图层技术thymeleaf 我们一般都是基于3.x版本 1.流程: 导入依赖 <!--整合thymeleaf技术--> <dependency> <groupId& ...
- c语言数据拼包
单片机数据拼包 对于数据包拼包方式常规方式有: 数组 指针 结构体 流 下文将此三种方式分别列举此数据包的实现. 然后对比优缺点. 本文举例数据包协议: 包头 长度Length 消息类型 消息序列号S ...
- 虚拟机安装RHEL8.0.0
在VMware Workstations 15.0.0中安装RHEL8.0.0 使用到的软件和主机基本配置 此处宿主机基本硬件配置:i3-7100U 4核,内存:12G 虚拟化软件:VMware Wo ...
- java实现自动静默打印功能
最近接到一个需求,要求实现自动打印功能,一般网页打印pdf需要借助浏览器的pdf组件,而且还要弹出打印窗口,再点击打印才能实现. 那么如何实现自动打印了,从点击自己网页上3次缩减到点击一次了? 一 ...