freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用ShadowClone最大化云端服务的功能
Alpha_h4ck 2022-06-01 19:04:20 264876
所属地 广西

关于ShadowClone

ShadowClone是一个云端服务整合工具,在该工具的帮助下,广大研究人员可以轻松使用多种云服务提供的serverless功能来长时间运行各种任务,同时也支持动态分配运行时间,并在几秒钟之内拿到自己想要的结果。但在ShadowClone出现之前,完成这些任务可能需要好几个小时的时间。

ShadowClone可以帮助我们充分利用云服务商提供的Free Tier,并极大程度地增强命令行工具的功能。

工作机制

ShadowClone的开发人员创建了一个容器,并将其注册为AWS/GCP/Azure中函数的运行时。在计算机上执行ShadowClone时,该容器的实例将自动激活,并且仅在其执行期间处于活动状态。而要激活的实例数量在运行时将根据提供的输入文件大小和拆分因子来动态决定。接下来,工具将对输入分块,并在所有实例之间平均分布,以实现并行执行。比如说,如果我们的输入文件有10000行,并且将分割因子设置为100行,那么它将被分割为100个块,每个块100行,同时100个实例将并行运行。

工具要求

AWS/GCP/Azure/IBM云服务账号

Docker

Python 3.8+

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/fyoorer/ShadowClone.git

工具配置

云端配置

1、登录你的AWS账号,获取API凭证;

2、在AWS控制台进入IAM,创建下列策略:

{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Sid": "VisualEditor0",

            "Effect": "Allow",

            "Action": [

                "s3:*",

                "lambda:*",

                "ec2:*",

                "ecr:*",

                "sts:GetCallerIdentity"

            ],

            "Resource": "*"

        }

    ]

}

3、使用“Lambda”用例创建一个新的角色,并赋予上述权限策略;

4、进入S3,在同一空间创建两个Bucket,用于执行Lambda;

本地配置

1、本地设备上确保安装并配置好了Docker;

2、运行下列命令克隆代码库,并安装好Python依赖:

git clone https://github.com/fyoorer/ShadowClone.git

cd ShadowClone

python -m venv env

source env/bin/activate

pip install -r requirements.txt

3、验证lithops命令行工具是否可用:

⚡ lithops test

2022-01-18 08:08:45,832 [INFO] lithops.config -- Lithops v2.5.8

2022-01-18 08:08:45,833 [INFO] lithops.storage.backends.localhost.localhost -- Localhost storage client created

2022-01-18 08:08:45,833 [INFO] lithops.localhost.localhost -- Localhost compute client created

2022-01-18 08:08:45,833 [INFO] lithops.invokers -- ExecutorID b9419a-0 | JobID A000 - Selected Runtime: python

2022-01-18 08:08:45,833 [INFO] lithops.invokers -- Runtime python is not yet installed

2022-01-18 08:08:45,833 [INFO] lithops.localhost.localhost -- Extracting preinstalled Python modules from python

2022-01-18 08:08:46,110 [INFO] lithops.invokers -- ExecutorID b9419a-0 | JobID A000 - Starting function invocation: hello() - Total: 1 activations

2022-01-18 08:08:46,111 [INFO] lithops.invokers -- ExecutorID b9419a-0 | JobID A000 - View execution logs at /tmp/lithops/logs/b9419a-0-A000.log

2022-01-18 08:08:46,111 [INFO] lithops.wait -- ExecutorID b9419a-0 - Getting results from functions

  100%|████████████████████████████████████████████████████████████| 1/1

2022-01-18 08:08:48,125 [INFO] lithops.executors -- ExecutorID b9419a-0 - Cleaning temporary data

Hello fyoorer! Lithops is working as expected :)

构建&注册镜像

lithops runtime build sc-runtime -f Dockerfile

lithops runtime create sc-runtime --memory 512 --timeout 300

lithops runtime list

工具使用帮助

⚡ python shadowclone.py -h

usage: shadowclone.py [-h] -i INPUT [-s SPLITNUM] [-o OUTPUT] -c COMMAND

optional arguments:

  -h, --help                              显示帮助信息和退出

  -i INPUT, --input INPUT                 输入参数 

  -s SPLITNUM, --split SPLITNUM         分割因子,文件块每块多少汗N

  -o OUTPUT, --output OUTPUT           输出数据

  -c COMMAND, --command COMMAND  需要执行的命令

工具使用演示

使用一个43MB的文件执行DNS爆破(34秒)

视频地址:https://asciinema.org/a/lISleX6xohoiEx8N7PozjySEq

对94K子域名与您httpx(1分钟内)

视频地址:https://asciinema.org/a/GSwuqyd9X4JfXGlqQEFiDdefi

许可证协议

本项目的开发与发布遵循Apache-2.0开源许可证协议。

项目地址

ShadowClone:GitHub传送门

参考资料

https://lithops-cloud.github.io/docs/index.html

https://cloud.google.com/free/docs/gcp-free-tier/#cloud-functions

https://aws.amazon.com/free/

https://azure.microsoft.com/en-ca/free/

https://github.com/pry0cc/axiom

https://github.com/FleexSecurity/fleex

https://github.com/0xdevalias/gopherblazer

# 云服务 # 云技术
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录