0x00 前言
这节课将来看看如何优化 CS 的攻击载荷,从而使它更方便、隐蔽些。
0x01 malleable 命令和控制
malleable 是一种针对特定领域的语言,主要用来控制 Cobalt Strike Beacon
在开启 teamserver 时,在其命令后指定配置文件即可调用,比如:
代码语言:javascript复制./teamserver [ip address] [password] [profile]
0x02 编写配置文件
1、定义事务指标
代码语言:javascript复制http-get {
# 指标
}
http-post {
# 指标
}
2、控制客户端和服务端指标
代码语言:javascript复制http-get {
client {
# 指标
}
server {
# 指标
}
}
3、set 操作
set 语句是给一个选项赋值的方法,以分号结束。
代码语言:javascript复制set useragent "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1)";
malleable 给了我们很多选项,比如:
代码语言:javascript复制jitter # 控制 beacon 默认回连的抖动因子
maxdns # 控制最大 DNS 请求,限制最大数量可以使 DNS Beacon 发送数据看起来正常些
sleeptime # 控制 beacon 的全部睡眠时间
spawnto
uri
useragent # 控制每次发送请求的 useragent
sleeptime
和 jitter
两个选项是很重要的
4、添加任意 headers
代码语言:javascript复制header "Accept" "text/html,application/xhtml";
header "Referer" "https://www.google.com";
header "Progma" "no-cache";
header "Cache-Control" "no-cache";
5、其他指标
代码语言:javascript复制header "header" "value";
parameter "key" "value";
6、转换/存储数据
代码语言:javascript复制metadata {
netbios;
append "-.jpg";
uri-append;
}
7、数据转换语言
代码语言:javascript复制append "string"
base64
netbios
netbiosu
prepend "string"