rpcheckup

command module
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2021 License: MPL-2.0 Imports: 18 Imported by: 0

README ΒΆ

rpCheckup - Resource Policy Checkup for AWS

rpcheckup2

rpCheckup is an AWS resource policy security checkup tool that identifies public, external account access, intra-org account access, and private resources. It makes it easy to reason about resource visibility across all the accounts in your org.

Why?

While there are many tools to assess and analyze IAM policies, the same treatment for policies attached to resources is a blind spot. As product iteration sometimes necessitates overprovisioned access to just get things working, finding such issues after the fact across a slew of different AWS resource types, accounts, and regions isn't straightforward.

rpCheckup generates an HTML & CSV report to make this easy.

Supported AWS Resources

rpCheckup uses the resources supported by Endgame as the high-water mark for analyzing attached policies.

Resource Type rpCheckup Endgame AWS Access Analyzer
ACM Private CAs βœ… βœ… ❌
CloudWatch Resource Policies πŸ”œ βœ… ❌
EBS Volume Snapshots βœ… βœ… ❌
EC2 AMIs βœ… βœ… ❌
ECR Container Repositories βœ… βœ… ❌
EFS File Systems βœ… βœ… ❌
ElasticSearch Domains βœ… βœ… ❌
Glacier Vault Access Policies βœ… βœ… ❌
IAM Roles βœ… βœ… βœ…
KMS Keys βœ… βœ… βœ…
Lambda Functions βœ… βœ… βœ…
Lambda Layers βœ… βœ… βœ…
RDS DB Snapshots βœ… βœ… ❌
RDS Cluster Snapshots βœ… ❌ ❌
S3 Buckets βœ… βœ… βœ…
Secrets Manager Secrets βœ… βœ… βœ…
SES Sender Authorization Policies βœ… βœ… ❌
SQS Queues βœ… βœ… βœ…
SNS Topics βœ… βœ… ❌

Pre-requisites

  • AWS credentials (~/.aws/, env variables, metadata server, etc)
  • Docker (Docker > 20.10.2; docker-compose > 1.27.4)
  • If running from source; go version >= go1.15

Installing

  1. Download the latest release:

Linux:

curl -Lo rpCheckup https://github.com/goldfiglabs/rpCheckup/releases/latest/download/rpCheckup_linux
chmod a+x ./rpCheckup

OSX x86:

curl -Lo rpCheckup https://github.com/goldfiglabs/rpCheckup/releases/latest/download/rpCheckup_darwin_amd64
chmod a+x ./rpCheckup

OSX M1/arm:

curl -Lo rpCheckup https://github.com/goldfiglabs/rpCheckup/releases/latest/download/rpCheckup_darwin_arm64
chmod a+x ./rpCheckup
  1. Run from source:
git clone https://github.com/goldfiglabs/rpCheckup.git
cd rpCheckup
go run main.go

Usage

Run ./rpCheckup and view the generated report found in output/.

Screen Shot 2021-02-26 at 9 59 12 PM

Overview

rpCheckup uses goldfiglabs/introspector to snapshot the configuration of your AWS account. rpCheckup runs SQL queries to generate findings based on this snapshot. Introspector does the heavy lifting of importing and normalizing the configurations while rpCheckup is responsible for querying and report generation.

Notes

If the account you are scanning is not the master account in an Organization, other accounts in the Organization may be detected as external accounts. This is because non-master accounts may not have access to see the organization structure.

Since rpCheckup relies on Introspector's snapshots, rpCheckup is unable to detect policies that are no longer attached. When detecting flapping or transient access, please use tools which utilize audit and security logs (CloudTrail, etc). See here for further information in preventing resource exposure.

TODO: Add example runs against Endgame Terraform'd account.

License

Copyright (c) 2019-2021 Gold Fig Labs Inc.

This Source Code Form is subject to the terms of the Mozilla Public License, v.2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Mozilla Public License v2.0

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL