cloud_enum:一款针对不同平台云环境安全的OSINT工具

2024-06-18 01:12

本文主要是介绍cloud_enum:一款针对不同平台云环境安全的OSINT工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

关于cloud_enum

cloud_enum是一款功能强大的云环境安全OSINT工具,该工具支持AWS、Azure和Google Cloud三种不同的云环境,旨在帮助广大研究人员枚举目标云环境中的公共资源,并尝试寻找其中潜在的安全威胁。

功能介绍

当前版本的cloud_enum支持枚举下列内容:

Amazon Web Services

1、公开/受保护的 S3 Bucket;

2、AWSApp(WorkMail、WorkDocs和Connect等);

Microsoft Azure

1、存储账号;

2、开放Blob存储容器;

3、托管的数据库;

4、虚拟机;

5、Web App;

Google Cloud Platform

1、公开/受保护的GCP Bucket;

2、公开/受保护的Firebase实时数据库;

3、Google App Engine站点;

4、云函数(使用已有函数枚举项目/地区);

5、开放的Firebase App;

工具依赖

dnspythonrequestsrequests_futures

工具下载

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

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

git clone https://github.com/initstring/cloud_enum.git

然后切换到项目目录中,使用pip3命令和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:

cd cloud_enumpip3 install -r ./requirements.txt

工具使用帮助

usage: cloud_enum.py [-h] -k KEYWORD [-m MUTATIONS] [-b BRUTE]Multi-cloud enumeration utility. All hail OSINT!optional arguments:-h, --help            显示工具帮助信息和退出-k KEYWORD, --keyword KEYWORD关键词,可以多次使用该参数指定多个关键词-kf KEYFILE, --keyfile KEYFILE输入文件,每行一个关键词-m MUTATIONS, --mutations MUTATIONS变异文件 ,默认为enum_tools/fuzz.txt-b BRUTE, --brute BRUTE需要爆破Azure容器名称的列表文件,默认为enum_tools/fuzz.txt-t THREADS, --threads THREADSHTTP爆破线程数量,默认为5-ns NAMESERVER, --nameserver NAMESERVER爆破中要使用的DNS服务器-l LOGFILE, --logfile LOGFILE日志文件路径-f FORMAT, --format FORMAT日志文件格式,可选为text、json和csv,,默认为text--disable-aws        禁用Amazon检测--disable-azure      禁用Azure检测--disable-gcp        禁用Google检测-qs, --quickscan      禁用所有变异和二级扫描

工具使用样例

该工具的运行最少只需要提供一个关键词即可,我们可以使用内置的模糊字符串,或通过-m或-b参数使用自己的关键词。除此之外,我们还可以多次使用-k参数提供多个关键词。工具会自动使用enum_tools/fuzz.txt中的或-m参数提供的文件中的字符串执行变异。

假设你现在在对某个组织进行安全评估,其域名为“somecompany.io”,他们的产品名为“blockchaindoohickey”,那么我们就可以使用下列命令来对其执行安全评估测试:

./cloud_enum.py -k somecompany -k somecompany.io -k blockchaindoohickey

HTTP爬虫和DNS查询默认各自将使用5个线程执行任务,我们可以适当增加线程数量,但增加太多的话可能会被云服务提供商限制。下面的命令中我们将线程数量增加到了10个:

./cloud_enum.py -k keyword -t 10

需要注意的是,我们还可以在cloudenum/azure_regions.py和cloudenum/gcp_regions.py文件中定义一个“REGIONS”变量,以设置只使用一个地区来提升扫描速度。

工具运行截图

工具使用演示

演示视频:【点我观看】

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

cloud_enum:【GitHub传送门】

参考资料

https://www.youtube.com/embed/pTUDJhWJ1m0

GCPBucketBrute/permutations.txt at master · RhinoSecurityLabs/GCPBucketBrute · GitHub

这篇关于cloud_enum:一款针对不同平台云环境安全的OSINT工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070890

相关文章

Spring Cloud LoadBalancer 负载均衡详解

《SpringCloudLoadBalancer负载均衡详解》本文介绍了如何在SpringCloud中使用SpringCloudLoadBalancer实现客户端负载均衡,并详细讲解了轮询策略和... 目录1. 在 idea 上运行多个服务2. 问题引入3. 负载均衡4. Spring Cloud Load

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Java中基于注解的代码生成工具MapStruct映射使用详解

《Java中基于注解的代码生成工具MapStruct映射使用详解》MapStruct作为一个基于注解的代码生成工具,为我们提供了一种更加优雅、高效的解决方案,本文主要为大家介绍了它的具体使用,感兴趣... 目录介绍优缺点优点缺点核心注解及详细使用语法说明@Mapper@Mapping@Mappings@Co

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate