AWS Scout2 is no longer under development. The latest (and final) version of Scout2 can be foundin https://github.com/nccgroup/Scout2/releases and https://pypi.org/project/AWSScout2.
The project has migrated to https://github.com/nccgroup/ScoutSuite.
Scout2 is a security tool that lets AWS administrators assess theirenvironment's security posture. Using the AWS API, Scout2 gathers configurationdata for manual inspection and highlights high-risk areas automatically. Ratherthan pouring through dozens of pages on the web, Scout2 supplies a clear view ofthe attack surface automatically.
Note: Scout2 is stable and actively maintained, but a number of features andinternals may change. As such, please bear with us as we find time to work on,and improve, the tool. Feel free to report a bug with details (e.g. consoleoutput using the "--debug" argument), request a new feature, or send a pullrequest.
Install via pip:
$ pip install awsscout2
Install from source:
$ git clone https://github.com/nccgroup/Scout2 $ cd Scout2 $ pip install -r requirements.txt $ python setup.py install
Scout2 is a multi-threaded tool that fetches and stores your AWS account's configuration settings in memory duringruntime. It is expected that the tool will run with no issues on any modern laptop or equivalent VM.Running Scout2 in a VM with limited computing resources such as a t2.micro instance is not intended and will likelyresult in the process being killed.
Scout2 is written in Python and supports the following versions:
To run Scout2, you will need valid AWS credentials (e.g Access Key ID and Secret Access Key).The role, or user account, associated with these credentials requires read-only access for all resources in a number ofservices, including but not limited to CloudTrail, EC2, IAM, RDS, Redshift, and S3.
The following AWS Managed Policies can be attached to the principal in order to grant necessary permissions:
Use of Scout2 does not require AWS users to complete and submit the AWSVulnerability / Penetration Testing Request Form. Scout2 only performs AWS APIcalls to fetch configuration data and identify security gaps, which is notconsidered security scanning as it does not impact AWS' network andapplications.
After performing a number of AWS API calls, Scout2 will create a local HTML report and open it in the default browser.
Using a computer already configured to use the AWS CLI, boto3, or another AWS SDK, you may use Scout2 using thefollowing command:
$ Scout2
Note: EC2 instances with an IAM role fit in this category.
If multiple profiles are configured in your .aws/credentials and .aws/config files, you may specify which credentialsto use with the following command:
$ Scout2 --profile <PROFILE_NAME>
If you have a CSV file containing the API access key ID and secret, you may run Scout2 with the following command:
$ Scout2 --csv-credentials <CREDENTIALS.CSV>
The following command will provide the list of available command line options:
$ Scout2 --help
For further details, checkout our Wiki pages at https://github.com/nccgroup/Scout2/wiki.
GPLv2: See LICENSE.