CS学习笔记 | 23、malleable命令

2020-09-27 11:31:21 浏览数 (1)

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

sleeptimejitter 两个选项是很重要的

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"

0 人点赞