如何使用awsEnum基于提供的凭证枚举AWS云端资源

news2025/1/18 3:31:52

关于awsEnum

awsEnum是一款针对AWS云端资源安全的审计工具,该工具基于Python
3开发,可以帮助广大研究人员根据输入的凭证信息来枚举目标AWS云端资源和AWS服务。

当前该工具仍处于测试过程中,发布的为beta版本。该工具的主要目标是为了帮助广大研究人员更好地对AWS云端环境进行安全渗透测试,可以用于漏洞奖励计划、AWS云端安全审计或其他相关的安全研究活动。

功能介绍

1、通过boto3连接AWS服务;

2、awsEnum允许用户设置发送的请求数量,默认为1000;

3、awsEnum支持将分析结果存储为JSON文件;

4、支持将AWS凭证信息存储在awscli配置中,可以将配置文件以文件名参数的形式传递给awsEnum;

5、支持的服务:EC2、IAM、S3;

工具要求

Python 3

pip包管理工具

工具下载

由于该工具基于Python 3开发,因此广大研究人员首先需要在本地设备上安装并配置好Python
3环境。接下来,我们就可以使用下列命令将该项目源码克隆至本地了:

git clone https://github.com/bassammaged/awsEnum.git

工具部署

下载完成后,我们需要利用项目提供的requirements.txt安装该工具所需的其他依赖组件:

python3 -m pip install requirements.txt

工具使用

接下来,我们就可以直接 通过run.py脚本来运行awsEnum了:

python3 run.py

帮助信息

▄▄▄▄▄▄ ▄     ▄ ▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄ ▄▄    ▄ ▄▄   ▄▄ ▄▄   ▄▄

█      █ █ ▄ █ █       █       █  █  █ █  █ █  █  █▄█  █

█  ▄   █ ██ ██ █  ▄▄▄▄▄█    ▄▄▄█   █▄█ █  █ █  █       █

█ █▄█  █       █ █▄▄▄▄▄█   █▄▄▄█       █  █▄█  █       █

█      █       █▄▄▄▄▄  █    ▄▄▄█  ▄    █       █       █

█  ▄   █   ▄   █▄▄▄▄▄█ █   █▄▄▄█ █ █   █       █ ██▄██ █

█▄█ █▄▄█▄▄█ █▄▄█▄▄▄▄▄▄▄█▄▄▄▄▄▄▄█▄█  █▄▄█▄▄▄▄▄▄▄█▄█   █▄█

--------------------------------------------------------

If you are looking to enumerate AWS services. So, welcome

to awsEnum, awsEnum is a python script trying to facilitate

the enumerate phase of AWS cloud with the lowest possible

headache and less noise. Therefore we are not supporting

the `all` mode. ----------------------------------------

--------------------------------------------------------

        developed by bassammaged (@kemet)

                version: 0.1 Beta

--------------------------------------------------------

[!] Make sure you already defined credential profile via AWS CLI.

 

usage: run.py [-h] [-p profile_name] [-r region_name] [-v | --verbose | --no-verbose] [-t TRIES] aws_service_name

 

positional arguments:

  aws_service_name      Specify the aws service for enumration. Supported services are: ['ec2', 'iam', 's3'] (default: all)

 

options:

  -h, --help            show this help message and exit

  -p profile_name, --profile profile_name

                        specify aws credential profile that will be used through the enumeration. (default: default)

  -r region_name, --region region_name

                        specify aws region. (default: eu-central-1)

  -v, --verbose, --no-verbose

                        Allows the script to print out the message level start with debug. (default: False)

  -t TRIES, --tries TRIES

                        set maximum tries. (default: 1000)

参数解释

aws_service_name:指定需要枚举的目标AWS服务,支持的参数:['ec2', 'iam', 's3'],默认:枚举所有资源;

-h, --help:显示工具帮助信息和退出;

-p profile_name, --profile profile_name:指定AWS凭证配置文件;

-r region_name, --region region_name:指定AWS实例区域,默认:eu-central-1;

-v, --verbose, --no-verbose:允许工具输出包含调试信息在内的所有信息,默认:False;

-t TRIES, --tries TRIES:设置最大尝试次数,默认:1000;

输出报告

[

    {

        "AmiLaunchIndex": 0,

        "ImageId": "ami-7c803d1c",

        "InstanceId": "i-05bef8a081f307783",

        "InstanceType": "t2.micro",

        "KeyName": "Default",

        "LaunchTime": "2017-02-12 22:29:24+00:00",

        "Monitoring": {

            "State": "disabled"

        },

        "Placement": {

            "AvailabilityZone": "us-west-2a",

            "GroupName": "",

            "Tenancy": "default"

        },

        "PrivateDnsName": "ip-172-31-41-84.us-west-2.compute.internal",

        "PrivateIpAddress": "172.31.41.84",

        "ProductCodes": [],

        "PublicDnsName": "ec2-35-165-182-7.us-west-2.compute.amazonaws.com",

        "PublicIpAddress": "35.165.182.7",

        "State": {

            "Code": 16,

            "Name": "running"

        },

        "StateTransitionReason": "",

        "SubnetId": "subnet-d962aa90",

        "VpcId": "vpc-1052ce77",

        "Architecture": "x86_64",

        "BlockDeviceMappings": [

            {

                "DeviceName": "/dev/sda1",

                "Ebs": {

                    "AttachTime": "2017-02-12 22:29:25+00:00",

                    "DeleteOnTermination": true,

                    "Status": "attached",

                    "VolumeId": "vol-04f1c039bc13ea950"

                }

            }

        ],

        "ClientToken": "kTOiC1486938563883",

        "EbsOptimized": false,

        "Hypervisor": "xen",

        "IamInstanceProfile": {

            "Arn": "arn:aws:iam::975426262029:instance-profile/flaws",

            "Id": "AIPAIK7LV6U6UXJXQQR3Q"

        },

        "NetworkInterfaces": [

            {

                "Association": {

                    "IpOwnerId": "amazon",

                    "PublicDnsName": "ec2-35-165-182-7.us-west-2.compute.amazonaws.com",

                    "PublicIp": "35.165.182.7"

                },

                "Attachment": {

                    "AttachTime": "2017-02-12 22:29:24+00:00",

                    "AttachmentId": "eni-attach-a4901fc2",

                    "DeleteOnTermination": true,

                    "DeviceIndex": 0,

                    "Status": "attached",

                    "NetworkCardIndex": 0

                },

                "Description": "",

                "Groups": [

                    {

                        "GroupName": "launch-wizard-1",

                        "GroupId": "sg-490f6631"

                    }

                ],

                "Ipv6Addresses": [],

                "MacAddress": "06:b0:7a:92:21:cf",

                "NetworkInterfaceId": "eni-c26ed780",

                "OwnerId": "975426262029",

                "PrivateDnsName": "ip-172-31-41-84.us-west-2.compute.internal",

                "PrivateIpAddress": "172.31.41.84",

                "PrivateIpAddresses": [

                    {

                        "Association": {

                            "IpOwnerId": "amazon",

                            "PublicDnsName": "ec2-35-165-182-7.us-west-2.compute.amazonaws.com",

                            "PublicIp": "35.165.182.7"

                        },

                        "Primary": true,

                        "PrivateDnsName": "ip-172-31-41-84.us-west-2.compute.internal",

                        "PrivateIpAddress": "172.31.41.84"

                    }

                ],

                "SourceDestCheck": true,

                "Status": "in-use",

                "SubnetId": "subnet-d962aa90",

                "VpcId": "vpc-1052ce77",

                "InterfaceType": "interface"

            }

        ],

        "RootDeviceName": "/dev/sda1",

        "RootDeviceType": "ebs",

        "SecurityGroups": [

            {

                "GroupName": "launch-wizard-1",

                "GroupId": "sg-490f6631"

            }

        ],

        "SourceDestCheck": true,

        "VirtualizationType": "hvm",

        "CpuOptions": {

            "CoreCount": 1,

            "ThreadsPerCore": 1

        },

        "CapacityReservationSpecification": {

            "CapacityReservationPreference": "open"

        },

        "HibernationOptions": {

            "Configured": false

        },

        "MetadataOptions": {

            "State": "applied",

            "HttpTokens": "optional",

            "HttpPutResponseHopLimit": 1,

            "HttpEndpoint": "enabled",

            "HttpProtocolIpv6": "disabled",

            "InstanceMetadataTags": "disabled"

        },

        "EnclaveOptions": {

            "Enabled": false

        },

        "PlatformDetails": "Linux/UNIX",

        "UsageOperation": "RunInstances",

        "UsageOperationUpdateTime": "2017-02-12 22:29:24+00:00",

        "PrivateDnsNameOptions": {},

        "MaintenanceOptions": {

            "AutoRecovery": "default"

        }

    }

]

工具运行截图

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/378680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache Hive DML语句及内置函数

目录1、Hive SQL DML语法之加载数据1.1 Load加载数据1.2 Insert插入数据2、DML语法之查询数据3、Hive 常用函数3.1 Hive 常用的内置函数3.1.1 字符串函数3.1.2 日期函数3.1.3 数学函数3.1.4 条件函数1、Hive SQL DML语法之加载数据 1.1 Load加载数据 在Hive中建表成功之后&am…

LearnOpenGL-入门-7.变换

本人刚学OpenGL不久且自学,文中定有代码、术语等错误,欢迎指正 我写的项目地址:https://github.com/liujianjie/LearnOpenGLProject LearnOpenGL中文官网:https://learnopengl-cn.github.io/ 文章目录变换向量单位向量向量点乘向…

Linux INPUT 子系统实验

目录 一、input 子系统简介 input_dev 结构体 二、驱动编写 1、宏定义 2、按键结构体和按键中断结构体 3、中断处理函数 4、定时器处理函数 5、注册input_dev 6、驱动出口 代码 验证 打印现象解析 1、input_event 结构体 2、打印解释 三、APP编写 ​ app代码如下 验…

【操作方法】windows开启、关闭防火墙方法

【操作方法】windows开启、关闭防火墙方法一、命令法1.启动或关闭Windows Default 防火墙2.选择启动或关闭二、鼠标点击法1.首先将查看类型选择为“类别”2.系统和安全3.Windows Defender 防火墙4.启动或关闭Windows Default 防火墙5.选择启动或关闭一、命令法 点击按键WinR打…

基于OBD系统的量产车评估测试(PVE)

在轻型汽车污染物排放限值及测量方法(中国第六阶段)中,除了对汽车尾气排放等制定了更为严格的限制之外,也在OBD系统认证项目中增加了新的要求——量产车评估(Production Vehicle Evaluation)测试。该测试由…

在码匠中使用 Microsoft SQL Server

目录 在码匠中集成 Microsoft SQL Server 在码匠中使用 Microsoft SQL Server 关于码匠 SQL Server 是 Microsoft 公司推出的关系型数据库管理系统。具有使用方便、可伸缩性好、与相关软件集成程度高等优点。Microsoft SQL Server 是一个功能全面的数据库平台,使…

Lecture1 Welcome Stanford CS229 Machine Learning|2018 Autumn|吴恩达机器学习

1:15:20目录机器学习类比跳棋游戏,理解机器学习的概念:很多人坐在电脑旁玩游戏或跳棋好几天,这就是经验E;任务T是指下跳棋的任务;性能度量P可能是指在与下一个对手下棋时/在下一场跳棋中获胜的机会是多少?监…

安装TDengine 服务端和客户端——客户端连不上问题解决

客户端连不上问题解决1. 下载安装服务端2. 下载安装客户端2.1 修改hosts文件2.2 修改客户端taos.cfg 文件安装中出现的问题问题解决1. 下载安装服务端 根据服务端系统不同 下载不同的安装包 ,按照参考网址:https://docs.tdengine.com/get-started/packa…

接口电子器件中的光耦合器模块

工业电子设备在电气噪声和机械挑战性的环境中运行。问题在于,自动化、控制和仪表组件依赖于没有电气干扰或失真的精确信号来正常运行。因此,光耦合器模块通常被工程师用作信号源以及电源、工业控制和其他组件之间的信号保护中介。 在工业应用中&#xf…

基于自定义训练函数的BP神经网络回归分析

目录 背影 BP神经网络的原理 BP神经网络的定义 BP神经网络的神经元 BP神经网络的激活函数 BP神经网络的传递函数 基于自定义训练函数的BP神经网络回归分析 背影 BP神经网络是一种成熟的神经网络,拥有很多训练函数,传递函数,激活函数&#x…

创建自助服务知识库的指南

在SaaS领域,自助文档是你可以在客户登录你的网站时为他们提供的最灵活的帮助方式,简单来说,一个自助知识库是一个可以帮助许多客户的文档,拥有出色的自助服务知识库,放在官网或者醒目的地方,借助自助服务知…

vue H5跳转小程序报错:config:fail,Error: 系统错误,错误码:63002,invalid signature

微信开发者工具下载地址与更新日志 错误码:63002,invalid signature 无效的签名 附录5 微信网页开发 /JS-SDK说明文档 微信 JS 接口签名校验工具 全局返回码说明 ​ 排查步骤 确认签名算法正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sand…

【Python学习笔记】第二十二节 Python XML 解析

一、什么是XMLXML即ExtentsibleMarkup Language(可扩展标记语言),是用来定义其它语言的一种元语言。XML 被设计用来传输和存储数据。XML 是一套定义语义标记的规则,它没有标签集(tagset),也没有语法规则(grammatical rule)。任何XML文档对任何…

2023年金三银四必备软件测试常见面试题1500问!!!【Linux篇】

六、Linux6.1 Linux系统你是怎么用的?[在测试1、执行的过程中,我们发现的bug,有时候需要定位bug,协助开发修复bug时需要在linux里通过命令tail-200或tail-500查看当天的日志的后面多少行或者前面多少行定位bug或者通过tail -f来查看日志里的…

线程池阻塞问题

问题 记录一下生产环境出现的问题。。。 几天生产环境有同事反映分页查询一直在转圈查不出来数据,跟我反馈,我也是很积极的去看有什么问题,我以为就是比较常见的问题吧,当我看的时候觉得很奇怪。 有一个分页的接口其实有很多的…

LSB 题解

今天来刷一道Misc的题目,LSB原理进行图片隐写 LSB原理 LSB是一种利用人类视觉的局限性设计的幻术 PNG和BMP图片中的图像像素一般是由RGB(RED红 GREEN绿 BLUE蓝)三原色组成 记住,JPG图片是不适合使用LSB隐写的,JPG图片对像数进行了有损压缩…

Android逆向之旅—反编译利器Apktool使用教程

apktool下载软件首先下载apktool.bat和apktool.jar官网地址:https://ibotpeaches.github.io/Apktool/install/配置环境变量具体的apktool命令自行百度apktool 解包与打包解包: apktool d xxx.apk打包: apktool b xxx1.jadx安装与使用下载exe或…

C/C++开发,无可避免的内存管理(篇五)-c++与垃圾回收.水中捞月

一、垃圾回收机制 虽然智能指针帮助开展者简化了堆内存回收问题,但是它需要开发者显式声明,需要使用时判断等,还是不够便捷。而像java、Python、C#等开发语言直接支持垃圾回收机制。程序开发上,通常会将不再使用或没有任何指针指向…

译文《Learning to Drive in a Day》

摘要——我们展示了深度强化学习在自动驾驶中的首次应用。从随机初始化的参数中,我们的模型能够使用单个单眼图像作为输入,在少数训练集中学习车道跟随策略。我们提供一个通用且易于获得的奖励:车辆在没有安全驾驶员控制的情况下行驶的距离。…

numpy常用操作

文章目录1 numpy库2 数组对象 ndarray2.1 数组对象的创建2.1.1 利用array函数创建ndarray对象2.1.2 np.ones()和np.zeros()函数2.1.3 np.random.rand()函数2.1.4 np.arange()函数2.1.5 np.linspace()函数2.1.6 np.empty()函数2.2 ndarray对象常用属性2.3 ndarray常用操作2.3.1 …