From 50a6902219b91134d8f70b5ced2849fc388a3511 Mon Sep 17 00:00:00 2001 From: carnal0wnage Date: Sat, 7 Apr 2018 22:16:23 -0400 Subject: [PATCH] firehose, sqs updates, recon module, etc --- libs/dynamodb.py | 4 ++ libs/ecr.py | 5 +- libs/emr.py | 2 - libs/firehose.py | 73 ++++++++++++++++++++++ libs/sqs.py | 31 ++++++++++ libs/sts.py | 42 ++++++------- modules/firehose.py | 14 +++++ modules/opsworks.py | 2 +- modules/recon.py | 143 ++++++++++++++++++++++++++++++++++++++++++++ modules/sqs.py | 9 +++ 10 files changed, 300 insertions(+), 25 deletions(-) create mode 100644 libs/firehose.py create mode 100644 libs/sqs.py create mode 100644 modules/firehose.py create mode 100644 modules/recon.py create mode 100644 modules/sqs.py diff --git a/libs/dynamodb.py b/libs/dynamodb.py index 36f5f09..1fe885c 100644 --- a/libs/dynamodb.py +++ b/libs/dynamodb.py @@ -62,6 +62,8 @@ def list_dynamodb_tables_detailed(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) elif e.response['Error']['Code'] == 'AccessDenied': print('{} : Does not have the required permissions' .format(AWS_ACCESS_KEY_ID)) + elif e.response['Error']['Code'] == 'AccessDeniedException': + print('{} : Does not have the required permissions' .format(AWS_ACCESS_KEY_ID)) else: print("Unexpected error: {}" .format(e)) except KeyboardInterrupt: @@ -94,6 +96,8 @@ def describe_table(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, table, region): sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) elif e.response['Error']['Code'] == 'AccessDenied': print('{} : Does not have the required permissions' .format(AWS_ACCESS_KEY_ID)) + elif e.response['Error']['Code'] == 'AccessDeniedException': + print('{} : Does not have the required DescribeTable permissions' .format(AWS_ACCESS_KEY_ID)) else: print("Unexpected error: {}" .format(e)) except KeyboardInterrupt: diff --git a/libs/ecr.py b/libs/ecr.py index 60139b5..f56d103 100644 --- a/libs/ecr.py +++ b/libs/ecr.py @@ -4,12 +4,13 @@ ECR 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 +# 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-southeast-1', 'ap-southeast-2', ] def describe_repositories(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): diff --git a/libs/emr.py b/libs/emr.py index dfc42ed..c5860a9 100644 --- a/libs/emr.py +++ b/libs/emr.py @@ -22,8 +22,6 @@ def list_clusters(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): response = client.list_clusters() - # print response - if response.get('Clusters') is None: print("{} likely does not have EMR permissions\n" .format(AWS_ACCESS_KEY_ID)) elif len(response['Clusters']) <= 0: diff --git a/libs/firehose.py b/libs/firehose.py new file mode 100644 index 0000000..f65e941 --- /dev/null +++ b/libs/firehose.py @@ -0,0 +1,73 @@ +''' +Firehose functions +''' + +import boto3 +import botocore +import os +import pprint +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', 'eu-central-1', 'eu-west-1', 'ap-northeast-1', 'ap-southeast-1', 'ap-southeast-2', ] + +def firehose_list_delivery_streams(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): + print("### Printing Firehose Delivery Streams ###") + try: + for region in regions: + client = boto3.client('firehose', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY, region_name=region) + + response = client.list_delivery_streams() + + # print(response) + if response['DeliveryStreamNames'] is None: + print("{} likely does not have Firehose permissions\n" .format(AWS_ACCESS_KEY_ID)) + elif len(response['DeliveryStreamNames']) <= 0: + print("[-] ListDeliveryStreams allowed for {} but no results [-]" .format(region)) + else: + print("### {} Firehose Delivery Streams ###" .format(region)) + for stream in response['DeliveryStreamNames']: + pp.pprint(stream) + print("\n") + except botocore.exceptions.ClientError as e: + if e.response['Error']['Code'] == 'InvalidClientTokenId': + sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) + elif e.response['Error']['Code'] == 'AccessDenied': + print('{} : Does not have the required permissions' .format(AWS_ACCESS_KEY_ID)) + else: + print("Unexpected error: {}" .format(e)) + except KeyboardInterrupt: + print("CTRL-C received, exiting...") + + +def firehose_describe_delivery_streams(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): + print("### Printing Firehose Delivery Streams & details ###") + try: + for region in regions: + client = boto3.client('firehose', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY, region_name=region) + + response = client.list_delivery_streams() + + # print(response) + if response['DeliveryStreamNames'] is None: + print("{} likely does not have Firehose permissions\n" .format(AWS_ACCESS_KEY_ID)) + elif len(response['DeliveryStreamNames']) <= 0: + print("[-] ListDeliveryStreams allowed for {} but no results [-]" .format(region)) + else: + print("### {} Firehose Delivery Streams ###" .format(region)) + for stream in response['DeliveryStreamNames']: + details = client.describe_delivery_stream(DeliveryStreamName=stream) + # This just prints the blob, needs to be cleaned up + print(details) + print("\n") + except botocore.exceptions.ClientError as e: + if e.response['Error']['Code'] == 'InvalidClientTokenId': + sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) + elif e.response['Error']['Code'] == 'AccessDenied': + print('{} : Does not have the required permissions' .format(AWS_ACCESS_KEY_ID)) + else: + print("Unexpected error: {}" .format(e)) + except KeyboardInterrupt: + print("CTRL-C received, exiting...") diff --git a/libs/sqs.py b/libs/sqs.py new file mode 100644 index 0000000..c2d5aba --- /dev/null +++ b/libs/sqs.py @@ -0,0 +1,31 @@ +import boto3 +import botocore +import pprint + +pp = pprint.PrettyPrinter(indent=5, width=80) + +# from https://docs.aws.amazon.com/general/latest/gr/rande.html#sqs_region +regions = ['us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3', 'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ca-central-1', 'cn-north-1', 'cn-northwest-1', 'eu-central-1', 'eu-west-1', 'eu-west-2', 'eu-west-3', 'sa-east-1', 'us-gov-west-1' ] + + +def sqs_list_queues(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): + try: + for region in regions: + client = boto3.client("sqs", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY) + response = client.list_queues() + # THis isnt working need to test with one that works to get the QueueUrl attributes + # if len(response['QueueUrls']) <= 0: + # print("[-] ListQueues allowed for {} but no results [-]" .format(region)) + # else: + print("region: {} \n {}".format(region,response)) + + except botocore.exceptions.ClientError as e: + if e.response['Error']['Code'] == 'InvalidClientTokenId': + sys.exit("{} : The AWS KEY IS INVALID. Exiting" .format(AWS_ACCESS_KEY_ID)) + elif e.response['Error']['Code'] == 'AccessDenied': + print('{} : Does not have the required permissions' .format(AWS_ACCESS_KEY_ID)) + else: + print("Unexpected error: {}" .format(e)) + except KeyboardInterrupt: + print("CTRL-C received, exiting...") + diff --git a/libs/sts.py b/libs/sts.py index 5b29315..eba6ca2 100644 --- a/libs/sts.py +++ b/libs/sts.py @@ -4,29 +4,31 @@ import pprint pp = pprint.PrettyPrinter(indent=5, width=80) -#from http://docs.aws.amazon.com/general/latest/gr/rande.html +# 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 get_accountid(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): - try: - client = boto3.client("sts", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY) - account_id = client.get_caller_identity()["Account"] - print("Account Id: {}" .format(account_id)) - except KeyboardInterrupt: - print("CTRL-C received, exiting...") - return account_id +def get_accountid(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): + try: + client = boto3.client("sts", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY) + account_id = client.get_caller_identity()["Account"] + print("Account Id: {}" .format(account_id)) + except KeyboardInterrupt: + print("CTRL-C received, exiting...") + + return account_id + def get_accountid_all(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY): - try: - client = boto3.client("sts", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY) - account_id = client.get_caller_identity()["Account"] - account_userid = client.get_caller_identity()["UserId"] - account_arn = client.get_caller_identity()["Arn"] - print("Account Id: {}" .format(account_id)) - print("Account UserID: {}" .format(account_userid) ) - print("Account ARN: {}" .format(account_arn) ) - except KeyboardInterrupt: - print("CTRL-C received, exiting...") + try: + client = boto3.client("sts", aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY) + account_id = client.get_caller_identity()["Account"] + account_userid = client.get_caller_identity()["UserId"] + account_arn = client.get_caller_identity()["Arn"] + print("Account Id: {}" .format(account_id)) + print("Account UserID: {}" .format(account_userid) ) + print("Account ARN: {}" .format(account_arn) ) + except KeyboardInterrupt: + print("CTRL-C received, exiting...") - return account_id \ No newline at end of file + return account_id \ No newline at end of file diff --git a/modules/firehose.py b/modules/firehose.py new file mode 100644 index 0000000..b9ad59b --- /dev/null +++ b/modules/firehose.py @@ -0,0 +1,14 @@ +''' +Firehose functions +''' +from libs.firehose import * + +from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY + + +def step_firehose_list_delivery_streams(): + firehose_list_delivery_streams(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + + +def step_firehose_describe_delivery_streams(): + firehose_describe_delivery_streams(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) \ No newline at end of file diff --git a/modules/opsworks.py b/modules/opsworks.py index b6459c4..2b65558 100644 --- a/modules/opsworks.py +++ b/modules/opsworks.py @@ -2,5 +2,5 @@ from libs.opsworks import * from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY -def step_opsworkds_describe_stacks(): +def step_opsworks_describe_stacks(): describe_stacks(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) diff --git a/modules/recon.py b/modules/recon.py new file mode 100644 index 0000000..b86793f --- /dev/null +++ b/modules/recon.py @@ -0,0 +1,143 @@ +from __future__ import print_function + +from libs.brute import * +from libs.s3 import * + +from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY + +def step_recon_all(): + check_root_account(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_acm_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # AlexaForBusiness + brute_apigateway_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # Application Auto Scaling + brute_appstream_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # AppSync no usable functions + brute_athena_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_autoscaling_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # AutoScalingPlans + brute_batch_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_budgets_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # CostExplorer + # brute_cloud9_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) Was working now its not + brute_clouddirectory_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cloudformation_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cloudfront_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cloudhsm_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # cloudhsmv2 + brute_cloudsearch_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # CloudSearchDomain + brute_cloudtrail_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cloudwatch_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_codebuild_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_codecommit_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_codedeploy_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_codepipeline_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_codestar_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cognitoidentity_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cognitoidp_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cognitosync_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # Comprehend + brute_configservice_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # brute_costandusagereportservice_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) #Could not connect to the endpoint URL: "https://cur.us-west-2.amazonaws.com/" + brute_datapipeline_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # DAX + brute_devicefarm_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_directconnect_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_applicationdiscoveryservice_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_dms_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_directoryservice_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_dynamodb_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_dynamodbstreams_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_ec2_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_ecr_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_ecs_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_efs_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_elasticache_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_elasticbeanstalk_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_elastictranscoder_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_elasticloadbalancing_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_elasticloadbalancingv2_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_emr_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_es_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cloudwatchevents_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_firehose_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_gamelift_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_glacier_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # Glue + brute_greengrass_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # GuardDuty + brute_health_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_iam_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_importexport_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_inspector_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_iot_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # IoTDataPlane no functions + # IoTJobsDataPlane + brute_kinesis_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # KinesisVideoArchivedMedia + # KinesisVideoMedia + brute_kinesisanalytics_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # KinesisVideo + brute_kms_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_lambda_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_lexmodels_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # LexRuntimeService #no functions + brute_lightsail_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_cloudwatchlogs_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_machinelearning_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # marketplace-entitlement no functions + # marketplacecommerceanalytics no functions + # MediaConvert + # MediaLive + # MediaPackage + # MediaStore + # MediaStore-Data + # MarketplaceMetering no functions + # MigrationHub + # Mobile + # MQ + brute_mturk_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_opsworks_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_opsworkscm_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_organizations_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # PinPoint no functions + brute_polly_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # Pricing + brute_rds_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_redshift_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_rekognition_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # ResourceGroups + brute_resourcegroupstaggingapi_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_route53_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_route53domains_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_s3_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # SageMaker + # SageMakerRuntime + brute_sdb_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # ServerlessApplicationRepository + brute_servicecatalog_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # ServiceDiscovery + brute_ses_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_shield_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_sms_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_snowball_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_sns_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + brute_sqs_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # SSM + brute_stepfunctions_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # StorageGateway + brute_sts_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # Support + # SWF + # TranscribeService + # Translate + # WAF + # WAFRegional + # WorkDocs + # WorkMail + brute_workspaces_permissions(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) + # XRay no functions + +# S3 bucket's while we are here... + get_s3objects_for_account(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) diff --git a/modules/sqs.py b/modules/sqs.py new file mode 100644 index 0000000..5ab9cf4 --- /dev/null +++ b/modules/sqs.py @@ -0,0 +1,9 @@ +''' +SQS +''' +from libs.sqs import * +from config import AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY + + +def step_sqs_list_queues(): + sqs_list_queues(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)