Serverless扫描技术研究及应用
字数 1365 2025-08-22 18:37:21

Serverless扫描技术研究及应用

1. 技术概述

Serverless扫描技术是一种利用云函数(Serverless)服务实现隐匿扫描的技术,通过云函数作为代理进行扫描活动,具有以下特点:

  • 绕过态势感知、WAF等安全设备
  • 增大蓝队研判人员溯源难度
  • 实现"封无可封,查无可查"的效果
  • 利用云服务商的IP资源,增加扫描的隐匿性

2. 实现原理

2.1 核心思想

  • 云函数仅实现单次扫描功能
  • 本地控制代码负责整体扫描逻辑
  • 通过API网关触发云函数执行

2.2 技术优势

  • 出口IP随机分配,难以封禁
  • 可自定义请求头,降低特征识别
  • 多地域部署增加IP多样性
  • 请求分散,难以关联为扫描行为

3. 目录扫描实现

3.1 云函数配置(以腾讯云为例)

  1. 创建云函数:

    • 运行环境:Python 3.6
    • 函数名:自定义
    • 地域:随机选择(影响出口IP)
  2. 云函数代码:

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
  1. 触发器配置:
    • 创建API网关触发器
    • 取消勾选"集成响应"
    • 路径设置为"/"

3.2 本地控制代码优化

  1. User-Agent随机化:
# get_ua-header.py
UA = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...",
    # 更多UA...
]

# 使用时随机选择UA
headers = {
    "User-Agent": random.choice(UA)
    # 可添加更多合法header
}
  1. 多地域部署:
    • 创建相同功能的云函数,选择不同地域
    • 单个地域限制:5个随机出口IP
    • 多地域可突破IP数量限制

3.3 扫描执行

  • 通过API网关域名传参(url和path)
  • 多个云函数分工扫描字典不同部分
  • 结果汇总到本地

4. 端口扫描实现

4.1 云函数代码

from socket import *

def main_handler(event, context):
    IP = event["queryString"]["ip"]
    port = event["queryString"]["port"]
    
    try:
        conn = socket(AF_INET, SOCK_STREAM)
        res = conn.connect_ex((str(IP), int(port)))
        conn.send('Hello,World!'.encode("utf8"))
        results = conn.recv(25)
        if res == 0:
            conn.close()
            return port
    except Exception as err:
        print(err)
    finally:
        print("")
        conn.close()
        return None

4.2 本地控制实现

  • 使用协程加速扫描(grequests模块)
  • 多云函数分工扫描不同端口段
  • 结果汇总分析

4.3 扫描特征

  • 出口IP显示为云服务商IP
  • 在态势感知中表现为分散的单次连接
  • 难以关联为扫描行为

5. 高级技巧与对抗

5.1 规模化部署

  1. 多地域策略:

    • 同一云服务商不同地域部署
    • 单个用户每个地域5个随机IP
    • n个地域可获得n×5个IP
  2. 多云策略:

    • 同时使用多个云服务商(腾讯云、阿里云等)
    • 进一步增加IP多样性

5.2 隐匿增强

  1. 请求特征优化:

    • 完全自定义HTTP头
    • 模拟正常用户请求模式
    • 添加随机延时
  2. 扫描策略:

    • 分批扫描,降低频率
    • 随机化扫描顺序
    • 与正常业务请求混合

5.3 蓝队防御思路

  1. 检测方法:

    • 分析请求内容而非仅IP频率
    • 关注IDC IP段的异常请求
    • 关联多个IP的相似行为
  2. 防御措施:

    • 封禁可疑IP
    • 增强WAF规则检测非常规扫描
    • 监控云服务商IP段的异常请求

6. 工具与资源

  1. 空间测绘工具Kunyu:

  2. 示例代码仓库:

7. 总结与思考

7.1 技术价值

  • 提供了一种高隐匿性的扫描方式
  • 突破了传统扫描的IP限制
  • 展示了云服务在安全领域的双刃剑特性

7.2 攻防对抗启示

  • 红队需不断寻找新的技术突破点
  • 蓝队需更新防御思路,超越IP封禁的传统方法
  • 云服务的安全使用需要厂商和用户共同关注

7.3 未来发展

  • 结合更多云原生技术增强隐匿性
  • 自动化部署和扫描策略优化
  • 对抗检测的持续演进

通过本文介绍的技术,安全研究人员可以更好地理解Serverless技术在安全扫描中的应用,同时也提醒防御方需要更新传统的安全防护策略,以应对新型的攻击手法。

Serverless扫描技术研究及应用 1. 技术概述 Serverless扫描技术是一种利用云函数(Serverless)服务实现隐匿扫描的技术,通过云函数作为代理进行扫描活动,具有以下特点: 绕过态势感知、WAF等安全设备 增大蓝队研判人员溯源难度 实现"封无可封,查无可查"的效果 利用云服务商的IP资源,增加扫描的隐匿性 2. 实现原理 2.1 核心思想 云函数仅实现单次扫描功能 本地控制代码负责整体扫描逻辑 通过API网关触发云函数执行 2.2 技术优势 出口IP随机分配,难以封禁 可自定义请求头,降低特征识别 多地域部署增加IP多样性 请求分散,难以关联为扫描行为 3. 目录扫描实现 3.1 云函数配置(以腾讯云为例) 创建云函数: 运行环境:Python 3.6 函数名:自定义 地域:随机选择(影响出口IP) 云函数代码: 触发器配置: 创建API网关触发器 取消勾选"集成响应" 路径设置为"/" 3.2 本地控制代码优化 User-Agent随机化: 多地域部署: 创建相同功能的云函数,选择不同地域 单个地域限制:5个随机出口IP 多地域可突破IP数量限制 3.3 扫描执行 通过API网关域名传参(url和path) 多个云函数分工扫描字典不同部分 结果汇总到本地 4. 端口扫描实现 4.1 云函数代码 4.2 本地控制实现 使用协程加速扫描(grequests模块) 多云函数分工扫描不同端口段 结果汇总分析 4.3 扫描特征 出口IP显示为云服务商IP 在态势感知中表现为分散的单次连接 难以关联为扫描行为 5. 高级技巧与对抗 5.1 规模化部署 多地域策略: 同一云服务商不同地域部署 单个用户每个地域5个随机IP n个地域可获得n×5个IP 多云策略: 同时使用多个云服务商(腾讯云、阿里云等) 进一步增加IP多样性 5.2 隐匿增强 请求特征优化: 完全自定义HTTP头 模拟正常用户请求模式 添加随机延时 扫描策略: 分批扫描,降低频率 随机化扫描顺序 与正常业务请求混合 5.3 蓝队防御思路 检测方法: 分析请求内容而非仅IP频率 关注IDC IP段的异常请求 关联多个IP的相似行为 防御措施: 封禁可疑IP 增强WAF规则检测非常规扫描 监控云服务商IP段的异常请求 6. 工具与资源 空间测绘工具Kunyu: 用于分析扫描IP归属 下载地址: https://github.com/knownsec/Kunyu 示例代码仓库: Serverless扫描实现代码 下载地址: https://github.com/wikiZ/ServerlessScan 7. 总结与思考 7.1 技术价值 提供了一种高隐匿性的扫描方式 突破了传统扫描的IP限制 展示了云服务在安全领域的双刃剑特性 7.2 攻防对抗启示 红队需不断寻找新的技术突破点 蓝队需更新防御思路,超越IP封禁的传统方法 云服务的安全使用需要厂商和用户共同关注 7.3 未来发展 结合更多云原生技术增强隐匿性 自动化部署和扫描策略优化 对抗检测的持续演进 通过本文介绍的技术,安全研究人员可以更好地理解Serverless技术在安全扫描中的应用,同时也提醒防御方需要更新传统的安全防护策略,以应对新型的攻击手法。