########## AWS Scout2 ##########
.. image:: https://travis-ci.org/nccgroup/Scout2.svg?branch=master :target: https://travis-ci.org/nccgroup/Scout2
.. image:: https://coveralls.io/repos/github/nccgroup/Scout2/badge.svg?branch=master :target: https://coveralls.io/github/nccgroup/Scout2
.. image:: https://badge.fury.io/py/AWSScout2.svg :target: https://badge.fury.io/py/AWSScout2 :align: right
AWS Scout2 已不再继续开发。最新(也是最终)的 Scout2 版本可在 https://github.com/nccgroup/Scout2/releases 和 https://pypi.org/project/AWSScout2 找到。
该项目已迁移至 https://github.com/nccgroup/ScoutSuite。
描述
Scout2 是一款安全工具,可让 AWS 管理员评估其环境的安全状况。利用 AWS API,Scout2 收集配置数据以供手动检查,并自动突出高风险区域。无需浏览网络上的数十个页面,Scout2 自动提供攻击面的清晰视图。
注意: Scout2 稳定且处于积极维护中,但部分功能及内部机制可能发生变化。因此,在我们抽空改进该工具时,敬请谅解。如有问题,请详细报告(例如使用 --debug 参数时的控制台输出),请求新功能,或发送拉取请求。
安装
通过 pip_ 安装:
::
$ pip install awsscout2
从源码安装:
::
$ git clone https://github.com/nccgroup/Scout2
$ cd Scout2
$ pip install -r requirements.txt
$ python setup.py install
要求
Scout2 是一个多线程工具,运行期间在内存中抓取并存储 AWS 账户的配置设置。该工具可在任何现代笔记本电脑或同等虚拟机上正常运行。不建议在资源有限的虚拟机(如 t2.micro 实例)上运行 Scout2,否则可能导致进程被终止。
Scout2 使用 Python 编写,支持以下版本:
要运行 Scout2,您需要有效的 AWS 凭证(例如访问密钥 ID 和秘密访问密钥)。与这些凭证关联的角色或用户帐户需要对多项服务(包括但不限于 CloudTrail、EC2、IAM、RDS、Redshift 和 S3)中的所有资源拥有只读访问权限。
以下 AWS 托管策略可以附加到主体以授予所需权限:
使用 Scout2 不需要 AWS 用户填写并提交 AWS 漏洞/渗透测试请求表。Scout2 仅执行 AWS API 调用来获取配置数据并识别安全漏洞,这不被视为安全扫描,因为它不会影响 AWS 的网络和应用程序。
在执行一系列 AWS API 调用后,Scout2 将创建本地的 HTML 报告并在默认浏览器中打开。
使用已配置 AWS CLI、boto3 或其他 AWS SDK 的计算机,可以通过以下命令使用 Scout2:
::
$ Scout2
注意: 具有 IAM 角色的 EC2 实例属于此类。
如果在 .aws/credentials 和 .aws/config 文件中配置了多个配置文件,可以使用以下命令指定要使用的凭证:
::
$ Scout2 --profile <PROFILE_NAME>
如果您拥有包含 API 访问密钥 ID 和秘密密钥的 CSV 文件,可以通过以下命令运行 Scout2:
::
$ Scout2 --csv-credentials <CREDENTIALS.CSV>
高级文档
以下命令将提供可用命令行选项的列表:
::
$ Scout2 --help
有关更多详情,请查看我们的 Wiki 页面:https://github.com/nccgroup/Scout2/wiki。
许可证
GPLv2:请参阅 LICENSE。