Aardvark:一个针对多账户AWS IAM访问与身份管理的API框架

2024-08-13 128 0

关于Aardvark

Aardvark是一个针对多账户AWS IAM访问与身份管理的API框架和缓存层,该工具可以帮助广大研究人员在一个平台下轻松管理多个AWS账号的IAM安全。

工具要求

aniso8601==8.0.0

astroid==2.4.2

attrs==19.3.0

better-exceptions==0.1.7

blinker

boto3==1.20.43

botocore==1.23.43

bunch==1.0.1

certifi==2023.7.22

chardet==3.0.4

Click==7.0

click-log==0.3.2

cloudaux==1.8.0

decorator==4.4.0

deepdiff==3.3.0

defusedxml==0.6.0

docutils==0.15.2

dogpile.cache==0.8.0

flagpole==1.1.1

flasgger==0.6.3

Flask==1.0.2

Flask-RESTful==0.3.5

Flask-Script==2.0.5

Flask-SQLAlchemy>=2.5

gunicorn==19.7.1

idna==2.8

importlib-metadata

inflection==0.3.1

isort==4.3.21

itsdangerous==1.1.0

Jinja2

jmespath==0.9.4

joblib==0.14.0

jsonpickle==1.2

jsonschema==3.1.1

lazy-object-proxy==1.4.2

MarkupSafe==1.1.1

marshmallow==2.20.5

mccabe==0.6.1

mistune==0.8.4

more-itertools==7.2.0

pexpect==4.7.0

psycopg2-binary==2.9.3

ptyprocess==0.6.0

pylint==2.6.0

pyrsistent==0.15.4

python-dateutil==2.8.0

pytz==2017.2

PyYAML

requests==2.31.0

retrying==1.3.3

simplejson==3.16.0

six==1.12.0

SQLAlchemy==1.3.10

swag-client==0.4.6

tabulate==0.8.5

tqdm==4.40.0

Werkzeug==0.16.0

wrapt==1.11.2

zipp==0.6.0

工具安装

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

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

git clone https://github.com/Netflix-Skunkworks/aardvark.git

然后切换到项目目录中,并运行下列命令激活虚拟环境,然后执行工具安装脚本:

cd aardvark

python3 -m venv env

. env/bin/activate

python setup.py develop

工具配置

使用Aardvark配置向导将指导我们完成设置:

% aardvark config

 

Aardvark can use SWAG to look up accounts. https://github.com/Netflix-Skunkworks/swag-client

Do you use SWAG to track accounts? [yN]: no

ROLENAME: Aardvark

DATABASE [sqlite:////home/github/aardvark/aardvark.db]:

# Threads [5]:

 

>> Writing to config.py

创建数据表

aardvark create_db

工具使用

收集数据

未使用SWAG:

aardvark update -a 123456789012,210987654321

使用SWAG:

aardvark update

或通过账户名称/标签收集:

aardvark update -a dev,test,prod

API使用

启动API:

aardvark start_api -b 0.0.0.0:5000

使用API,并通过传递count和/或page参数来控制分页:

curl localhost:5000/api/1/advisors

curl localhost:5000/api/1/advisors?phrase=SecurityMonkey

curl localhost:5000/api/1/advisors?arn=arn:aws:iam::000000000000:role/SecurityMonkey&arn=arn:aws:iam::111111111111:role/SecurityMonkey

curl localhost:5000/api/1/advisors?regex=^.*Monkey$

Docker使用

Aardvark 还可以使用Docker和Docker Compose进行部署,Aardvark服务建立在共享容器上,我们需要安装Docker和Docker Compose才能运行此功能。

如需为一组账户配置容器,请在在此目录的根目录中创建一个.env文件,并在此文件中定义环境变量:

AARDVARK_ROLE=Aardvark

AARDVARK_ACCOUNTS=<account id>

AWS_DEFAULT_REGION=<aws region>

AWS_ACCESS_KEY_ID=<your access key>

AWS_SECRET_ACCESS_KEY=<you secret key>

名称

服务

描述

AARDVARK_ROLE

collector

Aardvark 将承担的角色的名称,以便它可以收集数据。

AARDVARK_ACCOUNTS

collector

如果使用 SWAG,则为可选,否则为必需。将其设置为 SWAG 帐户名称标签列表或 AWS 帐号列表,以便从中收集访问顾问记录。

AWS_ARN_PARTITION

collector

如果未使用 AWS 商业区域,则为必填项。例如,aws-us-gov。默认情况下,这是aws。

AWS_DEFAULT_REGION

collector

sts:AssumeRole如果未在具有适当实例配置文件的 EC2 实例上运行,则必需。将这些设置为具有 Aardvark 审计角色权限的 AWS IAM 用户的凭证。

AWS_ACCESS_KEY_ID

collector

sts:AssumeRole如果未在具有适当实例配置文件的 EC2 实例上运行,则必需。将这些设置为具有 Aardvark 审计角色权限的 AWS IAM 用户的凭证。

AWS_SECRET_ACCESS_KEY

collector

sts:AssumeRole如果未在具有适当实例配置文件的 EC2 实例上运行,则必需。将这些设置为具有 Aardvark 审计角色权限的 AWS IAM 用户的凭证。

AARDVARK_DATABASE_URI

collector和apiserver

指定 SQL Alchemy 支持的自定义数据库 URI。默认情况下,这将使用该AARDVARK_DATA_DIR值创建 SQLLite 数据库。示例:sqlite:///$AARDVARK_DATA_DIR/aardvark.db

构建容器:

docker-compose build

开启容器:

docker-compose up

清理环境:

docker-compose down

移除容器:

docker-compoes rm

许可证协议

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

项目地址

Aardvark:【GitHub传送门

参考资料

https://github.com/Netflix-Skunkworks/swag-client

https://pythonhosted.org/blinker/


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

苹果试图保护你的隐私,OpenAI可能做不到
Shuffle:一款完全自动化的安全栈增强平台
如何使用CODASM编码Payload并降低熵值
SessionExec:一款针对会话安全的安全命令测试工具
Arkime:一款大规模数据包捕获和索引数据库系统
从蓝队流量角度分析Shiro-550反序列化漏洞

发布评论