From 5de3e23dc470c4b54aab5b8c42f1da2f62b37322 Mon Sep 17 00:00:00 2001 From: carnal0wnage Date: Sat, 7 Apr 2018 19:32:20 -0400 Subject: [PATCH] pep8, elasticbeanstalk fixes --- dynamodb_list_tables.py | 8 -------- libs/ecr.py | 2 +- libs/elasticbeanstalk.py | 29 ++++++++++++++++++----------- modules/ecr.py | 9 +++++++++ modules/elasticbeanstalk.py | 33 +++++++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 20 deletions(-) delete mode 100644 dynamodb_list_tables.py create mode 100644 modules/ecr.py create mode 100644 modules/elasticbeanstalk.py diff --git a/dynamodb_list_tables.py b/dynamodb_list_tables.py deleted file mode 100644 index 06fc57f..0000000 --- a/dynamodb_list_tables.py +++ /dev/null @@ -1,8 +0,0 @@ -''' -dynamoDB examples -''' -from libs.dynamodb import * -from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY - -list_dynamodb_tables(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) -list_dynamodb_tables_detailed(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) diff --git a/libs/ecr.py b/libs/ecr.py index bfc4cce..60139b5 100644 --- a/libs/ecr.py +++ b/libs/ecr.py @@ -20,7 +20,7 @@ def describe_repositories(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): response = client.describe_repositories() - #print response + # print response if response.get('repositories') is None: print("{} likely does not have ECR permissions\n" .format(AWS_ACCESS_KEY_ID)) diff --git a/libs/elasticbeanstalk.py b/libs/elasticbeanstalk.py index b97caef..e8b80cf 100644 --- a/libs/elasticbeanstalk.py +++ b/libs/elasticbeanstalk.py @@ -4,13 +4,15 @@ ElasticBeanstalk functions import boto3 import botocore +import os import pprint -import sys,os +import sys pp = pprint.PrettyPrinter(indent=5, width=80) -#from http://docs.aws.amazon.com/general/latest/gr/rande.html -regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', ] +# from http://docs.aws.amazon.com/general/latest/gr/rande.html +regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ca-central-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-southeast-1', 'ap-southeast-2', ] + def describe_applications(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): print("### Printing ElasticBeanstalk Applications ###") @@ -20,7 +22,7 @@ def describe_applications(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): response = client.describe_applications() - #print response + # print response if response.get('Applications') is None: print("{} likely does not have ElasticBeanstalk permissions\n" .format(AWS_ACCESS_KEY_ID)) @@ -42,6 +44,7 @@ def describe_applications(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): except KeyboardInterrupt: print("CTRL-C received, exiting...") + def describe_application_versions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): print("### Printing ElasticBeanstalk Applications Versions ###") try: @@ -50,7 +53,7 @@ def describe_application_versions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): response = client.describe_application_versions() - #print response + # print response if response.get('ApplicationVersions') is None: print("{} likely does not have ElasticBeanstalk permissions\n" .format(AWS_ACCESS_KEY_ID)) @@ -72,6 +75,7 @@ def describe_application_versions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): except KeyboardInterrupt: print("CTRL-C received, exiting...") + def describe_configuration_options(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): print("### Printing ElasticBeanstalk Configuration Options ###") try: @@ -79,8 +83,9 @@ def describe_configuration_options(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): client = boto3.client('elasticbeanstalk', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY, region_name=region) response = client.describe_configuration_options() + print(response) - #print response + # print response if response.get('Options') is None: print("{} likely does not have ElasticBeanstalk permissions\n" .format(AWS_ACCESS_KEY_ID)) @@ -88,13 +93,13 @@ def describe_configuration_options(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): print("[-] DescribeConfigurationOptions allowed for {} but no results [-]" .format(region)) else: print("### {} ElasticBeanstalk Configuration Options ###" .format(region)) - #if response['PlatformArn'] is None: + # if response['PlatformArn'] is None: # pass - #else: + # else: # print("PlatformArn: {}" .format(response['PlatformArn'])) print("SolutionStackName: {}" .format(response['SolutionStackName'])) - pp.pprint( "Options: {}" .format(response['Options'])) + pp.pprint("Options: {}" .format(response['Options'])) print("\n") except botocore.exceptions.ClientError as e: @@ -107,6 +112,7 @@ def describe_configuration_options(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): except KeyboardInterrupt: print("CTRL-C received, exiting...") + def describe_environments(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): print("### Printing ElasticBeanstalk Environments ###") try: @@ -115,7 +121,7 @@ def describe_environments(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): response = client.describe_environments() - #print response + # print response if response.get('Environments') is None: print("{} likely does not have ElasticBeanstalk permissions\n" .format(AWS_ACCESS_KEY_ID)) @@ -137,6 +143,7 @@ def describe_environments(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): except KeyboardInterrupt: print("CTRL-C received, exiting...") + def describe_events(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): print("### Printing ElasticBeanstalk Environments ###") try: @@ -145,7 +152,7 @@ def describe_events(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): response = client.describe_events() - #print response + # print response if response.get('Events') is None: print("{} likely does not have ElasticBeanstalk permissions\n" .format(AWS_ACCESS_KEY_ID)) diff --git a/modules/ecr.py b/modules/ecr.py new file mode 100644 index 0000000..0b1a9cf --- /dev/null +++ b/modules/ecr.py @@ -0,0 +1,9 @@ +''' +ECR functions +''' +from libs.ecr import * + +from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY + +def step_ecr_describe_repos(): + describe_repositories(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) diff --git a/modules/elasticbeanstalk.py b/modules/elasticbeanstalk.py new file mode 100644 index 0000000..a19ac98 --- /dev/null +++ b/modules/elasticbeanstalk.py @@ -0,0 +1,33 @@ +''' +This file is used to perform some ElasticBeanstalk actions +''' +from libs.elasticbeanstalk import * +from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY + + +''' +There is a weird issue that AWS says everyone has elasticbeanstalk permissions +despite not running any of these services - in other words it wont be abnormal +for recon to say it has elasticbeantalk permissions but nothing get returned +when you run these functions +''' + + +def step_elasticbeanstalk_describe_applications(): + describe_applications(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + + +def step_elasticbeanstalk_describe_applications_versions(): + describe_application_versions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + +# not working +# def step_elasticbeanstalk_describe_configuration_options(): +# describe_configuration_options(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + + +def step_elasticbeanstalk_describe_environments(): + describe_environments(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + + +def step_elasticbeanstalk_describe_events(): + describe_events(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)