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

admin 2024年8月4日22:07:55评论14 views字数 2556阅读8分31秒阅读模式

 

关于Aardvark

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

Aardvark:一个针对多账户AWS IAM访问与身份管理的API框架
工具要求
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 aardvarkpython3 -m venv env. env/bin/activatepython setup.py develop
工具配置
使用Aardvark配置向导将指导我们完成设置:
% aardvark configAardvark can use SWAG to look up accounts. https://github.com/Netflix-Skunkworks/swag-clientDo you use SWAG to track accounts? [yN]: noROLENAME: AardvarkDATABASE [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/advisorscurl localhost:5000/api/1/advisors?phrase=SecurityMonkeycurl localhost:5000/api/1/advisors?arn=arn:aws:iam::000000000000:role/SecurityMonkey&arn=arn:aws:iam::111111111111:role/SecurityMonkeycurl localhost:5000/api/1/advisors?regex=^.*Monkey$

Docker使用

Aardvark 还可以使用Docker和Docker Compose进行部署,Aardvark服务建立在共享容器上,我们需要安装Docker和Docker Compose才能运行此功能。
如需为一组账户配置容器,请在在此目录的根目录中创建一个.env文件,并在此文件中定义环境变量:
AARDVARK_ROLE=AardvarkAARDVARK_ACCOUNTS=<account id>AWS_DEFAULT_REGION=<aws region>AWS_ACCESS_KEY_ID=<your access key>AWS_SECRET_ACCESS_KEY=<you secret key>
Aardvark:一个针对多账户AWS IAM访问与身份管理的API框架
构建容器:
docker-compose build
开启容器:
docker-compose up
清理环境:
docker-compose down
移除容器:
docker-compoes rm
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
Aardvark:
https://github.com/Netflix-Skunkworks/aardvark

原文始发于微信公众号(FreeBuf):Aardvark:一个针对多账户AWS IAM访问与身份管理的API框架

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月4日22:07:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Aardvark:一个针对多账户AWS IAM访问与身份管理的API框架https://cn-sec.com/archives/3032643.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息