Serverless扫描技术研究及应用

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: Serverless扫描技术研究及应用

Serverless扫描技术研究及应用

本篇文章参考风起大佬的博客,主要针对Serverless(云函数)扫描技术的进一步研究

本文所用到的源码

https://github.com/wikiZ/ServerlessScan

上篇文章谈到 云函数的代理IP利用面 简单的介绍了下云函数的部署 以及本地代理工具的结合以实现扫描的简单防溯源,但是上篇文章存在俩个弊端

  • 由于 单个用户在某个地域只能有5个随机出口IP,也就是说如果这五个IP均被封禁了那么我们的扫描就无法继续进行了
  • 同时在扫描的过程中,我们查看Apache access.log日志发现 header头中的U-A头存在了很明显的特征

首先解决第一个问题

单个用户在某个地域只能有5个随机出口IP

单个用户在某一地域只能有五个出口IP,那么我们就建立多个地域即可

和前面一样首先建立云函数

云函数代码为以下,无论是云函数还是域前置或者反向代理等手段,本质都是流量转发,所以我们在云函数上编写的核心代码就是实现了单次扫描返回信息的功能,剩下的控制代码则由我们本地编写的代码执行。

这里以风起大佬的源码为基础

# -*- coding: utf8 -*-
import requests

def main_handler(event, context):
   headers=event["headers"]
   url=event["queryString"]["url"]
   path = event["queryString"]["path"]
   crake_url=str(url+path)
   try:
       r = requests.get(crake_url,timeout=5,headers=headers,verify=False)
       status = r.status_code
   except Exception:
       status = None
       pass

   return status,crake_url

配置好云函数代码后,继续进入 触发管理 选项

触发器配置如图所示,注意取消勾选集成响应。

编辑API配置中,将路径设置为 / ,然后点击 立即完成

然后得到了两个API网关的公网域名,这时我们就已经完成了基本配置。可以通过这两个公网域名实现对我们上面编写的云函数功能的触发实现。

然后重复上面的操作,创建一个一模一样的云函数,API网关也为相同配置,但是需要注意的是选择的地域要为不同的地方,因为 单个用户在某个地域只能有5个随机出口IP

将两个不同地域的云函数的API网关域名地址 添加到代理工具 或者是扫描器配置文件中即可

这样就能完美绕过只有五个IP均被封禁的情况

例如

扫描后查看日志 IP随机地域

在更大流量的扫描下,我们还可以通过分批次的方式进行扫描,如果是端口扫描,我们就可以创建多个云函数且为不同地域分工扫描不同端口,在态势感知来看就是这n*5个IP地址在进行扫描,也就解决了单个地域只能有5个IP的窘境。

同样进一步思考,我们也可以在相同的云函数下创建多个地域的云函数,再创建其他厂商的云函数,实现了IP地址的多元化,在这个基础上再创建不同地域,理论上可以这样一直叠加,实现单兵大流量扫描。

对于大集团目标,通常每天态势感知都会有很大的扫描流量,那么在这种情况下,如果给我们的云函数扫描再加上一定程度的随机延时扫描,那么在态势列表中看到的就是一堆不连续的单次请求,如果是目录扫描则会直接认为是正常的请求,因为IP的随机性以及请求包的合法性、不连续性根本无法联想这是一次扫描事件,更不要谈溯源的问题了,根本无法还原攻击链,这样的攻击只会比C2隐匿反弹更难缠。

扫描器ua头存在明显特征问题

创建一个 get_ua-header.py文件,其中创建了一个UA数组,存放了大量不同的User-Agent。

这里导入我们刚才创建的UA数组,然后在第二个箭头所指处设置header的User-Agent每次都随机获取UA数组中的值,再在发送请求中指定header,当然这里仅为了演示,如果真实场景下,可以将header头自定义设置更多选项让它看起来更像是一个合法的请求

这里云函数中获取到了我们本地请求API网关域名的headers然后在转发时将它的header替换为我们本地请求包中的header从而实现了自定义header的效果。

发现在Apache日志中,User-Agent已经为我们本地请求的随机信息,那么通过继续自定义本地控制代码中的header信息让他看起来更加合理,就可以实现更加隐匿的扫描啦。

关于Serverless扫描技术的知识点就总结到这里,本文可能实际上没有啥技术含量,但是写起来还是比较耗费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文!
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
6天前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
|
22天前
|
机器学习/深度学习 机器人 Serverless
FaaS 的应用场景
FaaS 的应用场景
|
22天前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
22天前
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
18天前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
128 10
|
22天前
|
运维 监控 Serverless
函数计算产品使用问题之应用怎么更换代码源
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
25天前
|
前端开发 小程序 Serverless
异步任务处理系统问题之阿里云函数计算FC的应用场景有哪些
异步任务处理系统问题之阿里云函数计算FC的应用场景有哪些
|
22天前
|
域名解析 运维 网络协议
函数计算产品使用问题之创建了两个相同区域的Stable Diffusion应用,出现只能正常使用一个应用,该如何解决
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
22天前
|
运维 监控 Serverless
函数计算产品使用问题之怎么查询在特定时间段内应用的调用次数
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
25天前
|
机器学习/深度学习 监控 Serverless
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术

热门文章

最新文章

相关产品

  • 函数计算