Serverless扫描技术研究及应用

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 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天前
|
运维 Cloud Native Serverless
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。
|
7天前
|
存储 运维 监控
Elasticsearch Serverless高性价比智能时序分析关键技术解读
本篇演讲由阿里云1s团队的贾新寓讲解,主题为高性价比、智能日志更新关键技术。内容分为四部分:回顾日志场景痛点、介绍四大关键能力(开箱即用、高性能低成本、按量付费、智能调度免运维)、解读关键技术(如读写分离架构、ES内核优化等),并演示如何快速接入Serverless产品。通过这些技术,显著提升性能、降低成本,帮助用户实现高效日志管理。
|
17天前
|
人工智能 Serverless API
尽享红利,Serverless构建企业AI应用方案与实践
本次课程由阿里云云原生架构师计缘分享,主题为“尽享红利,Serverless构建企业AI应用方案与实践”。课程分为四个部分:1) Serverless技术价值,介绍其发展趋势及优势;2) Serverless函数计算与AI的结合,探讨两者融合的应用场景;3) Serverless函数计算AIGC应用方案,展示具体的技术实现和客户案例;4) 业务初期如何降低使用门槛,提供新用户权益和免费资源。通过这些内容,帮助企业和开发者快速构建高效、低成本的AI应用。
60 12
|
2月前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益
PolarDB Serverless 模式通过自动扩缩容技术,根据实际工作负载动态调整资源,提高系统灵活性与成本效益。用户无需预配高固定资源,仅需为实际使用付费,有效应对流量突变,降低总体成本。示例代码展示了基本数据库操作,强调了合理规划、监控评估及结合其他云服务的重要性,助力企业数字化转型。
33 6
|
3月前
|
存储 运维 监控
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
本文解析了Elasticsearch Serverless在智能日志分析领域的关键技术、优势及应用价值。
127 8
Elasticsearch Serverless 高性价比智能日志分析关键技术解读
|
3月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
168 11
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
103 1
|
2月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
89 1
|
2月前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
42 1
|
3月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
68 3

相关产品

  • 函数计算