JJ1ng
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

0x00 Introduction
本篇章中将说明云函数相关的概念,以及利用云函数辅助日常渗透。个人才疏学浅,有未阐述清楚或遗漏的地方,还请谅解,相关的内容可自行搜索。注:以下所有的内容都以百度云为主。
百度云官方介绍:函数计算(Cloud Function Compute,简称 CFC)提供基于事件触发、全托管的云端计算能力。您仅需要开发业务代码并上传,无需关注和配置服务器资源,CFC 会托管您的代码并在代码需要执行时自动分配计算资源,使您的业务可靠地运行。
简单来说,就是在云端提供一个代码运行的环境,当满足某些条件时,就会执行这些代码。需要注意的是,Serverless
是一种架构、一种云计算执行模型、一种范式;CFC 是对Serverless
架构其中一种轻量化的实现,CFC 允许用户以函数为单位编写代码,由事件触发执行;云函数通常指在函数计算平台上运行的具体函数。
0x01 Usage
1. 创建 CFC
首先进入 CFC 控制台,在“函数列表”中“创建函数”,模版选择“空白函数”。
在“函数配置”中的“运行时”选择“Python 3.6”;在“触发器配置”中,选择“HTTP 触发器”,URL 路径根据提示填写/{filepath+}
即可。
创建完成后,可访问生成的“URL 路径”来触发函数执行,如下:
2. 代码说明
云函数中的handler()
是请求处理函数,是处理请求的默认方法,通常作为处理事件的入口,类似于 C 语言中的main()
函数。触发器会在触发函数时,将事件传递给云函数中的handler()
来处理,将结果通过return
返回,该函数有两个参数event
和context
,两个参数分别用于接收事件数据和运行时上下文信息。
# -*- coding: utf-8 -*-
def handler(event, context):
return "Hello World"
HTTP 触发器会将整个客户端请求映射到后端函数的输入event
对象,具体包含如下内容:
{
"resource": "请求的资源路径",
"path": "HTTP触发器的路径",
"httpMethod": "请求的HTTP方法",
"headers": {请求头},
"queryStringParameters": {query string 参数},
"pathParameters": {代理路径参数},
"requestContext": {请求上下文},
"body": "请求体",
"isBase64Encoded": "请求体是否为Base64编码,这里固定为false,暂不支持二进制格式"
}
详情及示例可参考官方文档:https://cloud.baidu.com/doc/CFC/s/kjzmgugty#%E7%94%A8%E6%88%B7%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9A%84%E9%85%8D%E7%BD%AE
0x02 Craft
云函数提供了一种无服务、事件触发的代码执行环境。那么为了避免在主动信息收集时被拦截、上线时被溯源等问题,可以通过云函数来进行隐匿操作,这和代理转发、代理池、CDN 等技术有着异曲同工之妙。
1. 端口扫描
在“函数代码”处,写入如下代码。
随后将“触发器”修改为如下形式:
创建一台 ECS 服务来进行测试,如下是服务器开启的端口。
如下是本人编写的端口扫描脚本,将“HTTP 触发器”地址作为请求地址添加,核心代码如下:
2. 目录扫描
将“函数代码”以及“触发器”修改为如下形式:
如下是本人编写的目录扫描脚本,将“HTTP 触发器”地址作为请求地址添加,核心代码如下:
同样,拿一台 ECS 服务器进行测试。
3. WebShell
将“函数代码”以及“触发器”修改为如下形式:
上传冰蝎马并结合云函数进行连接。
4. CS 上线
首先搭建 CS 服务器,默认监听在 50050 端口,且这里通过 8000 端口来上线,需要在安全组中放行对应端口。这里cfc.profile
文件可参考有关腾讯云 C2 上线的文章。
将代码中 C2 地址填写为 CS 服务器监听地址8.155.43.167:8000
。
新建监听器,选择 HTTPS 类型的 Payload,注意区分“上线端口”和“监听端口”。具体配置如下:
0x03 Reference
https://paper.seebug.org/1776/
https://www.cnblogs.com/sevck/p/16566611.html
https://blog.nsfocus.net/cdn-faas/
https://lzcloudsecurity.gitbook.io/
https://github.com/wikiZ/ServerlessScan
https://github.com/shadowabi/Serverless_PortScan
https://github.com/shimmeris/SCFProxy/blob/main/README_zh.md
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
