Coder Social home page Coder Social logo

scanamabob's Introduction

Scanamabob

Scanamabob is a set of AWS-specific tools that aide in managing the security of AWS environments.

Scanamabob is currently in an alpha development state. As such, many expected features are missing or incomplete and there may be significant changes in the near future that may break any automations made around the current version.

Features

  • Intelligent scanning of AWS environment for common security misconfigurations
  • S3 auditor for identifying publicly exposed resources

Configuration

Scanamabob uses the boto3 library to consume the AWS API. As such, Scanamabob is configured via the aws cli commands.

$ aws configure
AWS Access Key ID [****************ZXIh]: dXJ5eWIgZ3VyZXIh
AWS Secret Access Key [****************dHRm]: didxIHRocmZmIGxiaCBuY2NlcnB2bmdyIHJuZmdyZSBydHRm
Default region name [us-east-1]: 
Default output format [json]: 

Basic operation

Runs like a standard python app, -h can help you find the small set of supported options.

Usage: scanamabob <command> [-h] [command-specific-arguments]

Scanamabob v0.0.2 - AWS Security Tooling

This tool is in a very early phase of development and is undergoing active development. Many desired features are currently missing and incomplete. Early release of this version through PyPI is intended to generate useful feedback from potential users.

  scan     -  Scan AWS environment for common security misconfigurations

Testing

The infrastructure for testing is brought up and down by Terraform. Make sure you have that installed before running the tests. Then do:

make infraup
make test
make infradown

scanamabob's People

Contributors

austin-ralls-cs avatar meadori-cs avatar romancarve avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

scanamabob's Issues

Better textual finding output

Instead of printing out the data json, maybe find something that maps the tag to a text processor. Maybe mako templates?

Make the output of the scan command useful

At the moment the scan output simply dumps findings as dictionaries, would be good to have a good default output like markdown, with the option for a json output as well

Complete dedicated S3 audit subcommand

The intention of this feature is to provide a breakdown of bucket and objects organized by their level of exposure. Initial design will likely be a markdown output that categorizes resources as public and non-public. Should support specifying a subset of buckets by name or maybe some pattern matching

Fix PIP install

Current pip package doesn't properly install the services folder, making the installation unusable

Improve STS support

It would be useful to support scanning via tokens generated by STS. This is becoming a more common access pattern, particular for users that manage their cloud resources through a governance tool.

ec2 weird security group causes error

 - Running Scan "Scanning EC2 Security Groups"
...
  File "/home/aralls/projects/scanamabob/scanamabob/scans/ec2.py", line 81, in run
    toport = permission['ToPort']
KeyError: 'ToPort'

the weird group:

{'Description': 'all', 'GroupName': 'all2', 'IpPermissions': [{'IpProtocol': '-1', 'IpRanges': [{'CidrIp': '0.0.0.0/0'}], 'Ipv6Ranges': [{'CidrIpv6': '::/0'}], 'PrefixListIds': [], 'UserIdGroupPairs': []}], 'OwnerId': '344987966180', 'GroupId': 'sg-0fcf14409db6e958f', 'IpPermissionsEgress': [{'IpProtocol': '-1', 'IpRanges': [{'CidrIp': '0.0.0.0/0'}], 'Ipv6Ranges': [{'CidrIpv6': '::/0'}], 'PrefixListIds': [], 'UserIdGroupPairs': []}], 'VpcId': 'vpc-cb2cb4a3'}

this security groups is a few years old, so it's probably a legacy format that got grandfathered in or something

rds multiaz not working

I'm not sure if the test isn't working or if I'm misunderstanding something.
multiaz
but when I add in debugging statements, the API really is returning MultiAZ=False for those instances.

could it be some confusion between clusters and instances?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.