4
4
This is the main brute library so that we can get an idea what services a particular
5
5
key has access to. We do this by asking if we have permission on as many services &
6
6
subfunctions as we can. Printed to screen and logged to db.
7
+
8
+ https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html
9
+
7
10
'''
8
11
9
12
import boto3
@@ -293,8 +296,13 @@ def brute_alexaforbusiness_permissions():
293
296
return generic_permission_bruteforcer ('alexaforbusiness' , tests )
294
297
295
298
296
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/amplify.html
297
-
299
+ def brute_amplify_permissions ():
300
+ '''
301
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/amplify.html
302
+ '''
303
+ print ("### Enumerating AWS Amplify Permissions ###" )
304
+ tests = [('ListApps' , 'list_apps' , (), {}, ), ]
305
+ return generic_permission_bruteforcer ('amplify' , tests )
298
306
299
307
300
308
def brute_apigateway_permissions ():
@@ -311,18 +319,50 @@ def brute_apigateway_permissions():
311
319
('GetUsagePlans' , 'get_usage_plans' , (), {}, ), ]
312
320
return generic_permission_bruteforcer ('apigateway' , tests )
313
321
314
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigatewaymanagementapi.html
315
322
316
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigatewayv2.html
323
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigatewaymanagementapi.html
324
+ # no functions
325
+
326
+
327
+ def brute_apigatewayv2_permissions ():
328
+ '''
329
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigatewayv2.html
330
+ '''
331
+ print ("### Enumerating AmazonApiGatewayV2 Permissions ###" )
332
+ tests = [('GetApis' , 'get_apis' , (), {}, ), ]
333
+ return generic_permission_bruteforcer ('apigatewayv2' , tests )
334
+
335
+
336
+ def brute_appconfig_permissions ():
337
+ '''
338
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/appconfig.html
339
+ '''
340
+ print ("### Enumerating Amazon AppConfig Permissions ###" )
341
+ tests = [('ListApplications' , 'list_applications' , (), {}, ), ]
342
+ return generic_permission_bruteforcer ('appconfig' , tests )
343
+
344
+
345
+ # http://boto3.readthedocs.io/en/latest/reference/services/application-autoscaling.html
346
+ # not seeing any functions that dont take args
317
347
318
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/appconfig.html
319
348
320
- # http://boto3.readthedocs.io/en/latest/reference/services/application-autoscaling.html
321
- # not seeing any functions that dont take args
349
+ def brute_applicationinsights_permissions ():
350
+ '''
351
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/application-insights.html
352
+ '''
353
+ print ("### Enumerating Amazon CloudWatch Application Insights Permissions ###" )
354
+ tests = [('ListApplications' , 'list_applications' , (), {}, ), ]
355
+ return generic_permission_bruteforcer ('application-insights' , tests )
356
+
322
357
323
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/application-insights.html
358
+ def brute_appmesh_permissions ():
359
+ '''
360
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/appmesh.html
361
+ '''
362
+ print ("### Enumerating AWS App Mesh Permissions ###" )
363
+ tests = [('ListMeshes' , 'list_meshes' , (), {}, ), ]
364
+ return generic_permission_bruteforcer ('appmesh' , tests )
324
365
325
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/appmesh.html
326
366
327
367
def brute_appstream_permissions ():
328
368
'''
@@ -334,8 +374,9 @@ def brute_appstream_permissions():
334
374
('DescribeStacks' , 'describe_stacks' , (), {}, ), ]
335
375
return generic_permission_bruteforcer ('appstream' , tests )
336
376
337
- # http://boto3.readthedocs.io/en/latest/reference/services/appsync.html
338
- # not seeing any functions that dont take args
377
+
378
+ # http://boto3.readthedocs.io/en/latest/reference/services/appsync.html
379
+ # not seeing any functions that dont take args
339
380
340
381
341
382
def brute_athena_permissions ():
@@ -373,7 +414,17 @@ def brute_autoscaling_plans_permissions():
373
414
tests = [('DescribeScalingPlans' , 'describe_scaling_plans' , (), {}, ), ]
374
415
return generic_permission_bruteforcer ('autoscaling-plans' , tests )
375
416
376
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/backup.html
417
+
418
+ def brute_backup_permissions ():
419
+ '''
420
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/backup.html
421
+ '''
422
+ print ("### Enumerating AWS Backup Permissions ###" )
423
+ tests = [('ListBackupJobs' , 'list_backup_jobs' , (), {}, ),
424
+ ('ListBackupPlans' , 'list_backup_plans' , (), {}, ),
425
+ ('ListBackupVaults' , 'list_backup_vaults' , (), {}, ), ]
426
+ return generic_permission_bruteforcer ('backup' , tests )
427
+
377
428
378
429
def brute_batch_permissions ():
379
430
'''
@@ -395,13 +446,21 @@ def brute_budgets_permissions():
395
446
tests = [('DescribeBudgets' , 'describe_budgets' , (), {'AccountId' : account_id }, ), ]
396
447
return generic_permission_bruteforcer ('budgets' , tests )
397
448
398
- # http://boto3.readthedocs.io/en/latest/reference/services/ce.html
399
- # TODO
400
- # http://boto3.readthedocs.io/en/latest/reference/services/ce.html#CostExplorer.Client.get_cost_and_usage
401
- # shoudl work we just need to generate start and end times each run
449
+ # http://boto3.readthedocs.io/en/latest/reference/services/ce.html
450
+ # TODO
451
+ # http://boto3.readthedocs.io/en/latest/reference/services/ce.html#CostExplorer.Client.get_cost_and_usage
452
+ # should work we just need to generate start and end times each run
402
453
403
454
404
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/chime.html
455
+ def brute_chime_permissions ():
456
+ '''
457
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/chime.html
458
+ '''
459
+ print ("### Enumerating Chime Permissions ###" )
460
+ tests = [('ListAccounts' , 'list_accounts' , (), {}, ),
461
+ ('GetGlobalSettings' , 'get_global_settings' , (), {}, ), ]
462
+ return generic_permission_bruteforcer ('chime' , tests )
463
+
405
464
406
465
def brute_cloud9_permissions ():
407
466
'''
@@ -541,9 +600,24 @@ def brute_codedeploy_permissions():
541
600
('ListOnPremisesInstances' , 'list_on_premises_instances' , (), {}, ), ]
542
601
return generic_permission_bruteforcer ('codedeploy' , tests )
543
602
544
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codeguru-reviewer.html
545
603
546
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codeguruprofiler.html
604
+ def brute_codegurureviewer_permissions ():
605
+ '''
606
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codeguru-reviewer.html
607
+ '''
608
+ print ("### Enumerating Amazon CodeGuru Reviewer Permissions ###" )
609
+ tests = [('ListCodeReviews' , 'list_code_reviews' , (), {'Type' :'PullRequest' }, ),
610
+ ('ListCodeReviews' , 'list_code_reviews' , (), {'Type' :'RepositoryAnalysis' }, ), ]
611
+ return generic_permission_bruteforcer ('codeguru-reviewer' , tests )
612
+
613
+
614
+ def brute_codeguruprofiler_permissions ():
615
+ '''
616
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codeguruprofiler.html
617
+ '''
618
+ print ("### Enumerating Amazon CodeGuru Profiler Permissions ###" )
619
+ tests = [('ListProfilingGroups' , 'list_profiling_groups' , (), {}, ), ]
620
+ return generic_permission_bruteforcer ('codeguruprofiler' , tests )
547
621
548
622
549
623
def brute_codepipeline_permissions ():
@@ -561,12 +635,31 @@ def brute_codestar_permissions():
561
635
'''
562
636
print ("### Enumerating CodeStar Permissions ###" )
563
637
tests = [('ListProjects' , 'list_projects' , (), {}, ),
564
- ('ListUerProfiles ' , 'list_user_profiles' , (), {}, ), ]
638
+ ('ListUserProfiles ' , 'list_user_profiles' , (), {}, ), ]
565
639
return generic_permission_bruteforcer ('codestar' , tests )
566
640
567
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codestar-connections.html
568
641
569
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codestar-notifications.html
642
+ def brute_codestarconnections_permissions ():
643
+ '''
644
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codestar-connections.html
645
+ '''
646
+ print ("### Enumerating AWS CodeStar Connections Permissions ###" )
647
+ tests = [('ListConnections' , 'list_connections' , (), {}, ),
648
+ #('ListHosts', 'list_hosts', (), {}, ),
649
+ ]
650
+ return generic_permission_bruteforcer ('codestar-connections' , tests )
651
+
652
+
653
+ def brute_codestarnotifications_permissions ():
654
+ '''
655
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/codestar-notifications.html
656
+ '''
657
+ print ("### Enumerating AWS CodeStar Notifications Permissions ###" )
658
+ tests = [('ListNotificationRules' , 'list_notification_rules' , (), {}, ),
659
+ ('ListTargets' , 'list_targets' , (), {}, ),
660
+ ]
661
+ return generic_permission_bruteforcer ('codestar-notifications' , tests )
662
+
570
663
571
664
def brute_cognitoidentity_permissions ():
572
665
'''
@@ -603,9 +696,26 @@ def brute_comprehend_permissions():
603
696
tests = [('ListTopicsDetectionJobs' , 'list_topics_detection_jobs' , (), {}, ), ]
604
697
return generic_permission_bruteforcer ('comprehend' , tests )
605
698
606
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/comprehendmedical.html
607
699
608
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/compute-optimizer.html
700
+ def brute_comprehendmedical_permissions ():
701
+ '''
702
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/comprehendmedical.html
703
+ '''
704
+ print ("### Enumerating AWS Comprehend Medical Permissions ###" )
705
+ tests = [('ListEntitiesDetectionv2Jobs' , 'list_entities_detection_v2_jobs' , (), {}, ),
706
+ ('ListIcd10cmInferenceJobs' , 'list_icd10_cm_inference_jobs' , (), {}, ),
707
+ ('listPhiDetectionJobs' , 'list_phi_detection_jobs' , (), {}, ),
708
+ ('listRxNormInferenceJobs' , 'list_rx_norm_inference_jobs' , (), {}, ), ]
709
+ return generic_permission_bruteforcer ('comprehendmedical' , tests )
710
+
711
+
712
+ def brute_computeoptimizer_permissions ():
713
+ '''
714
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/compute-optimizer.html
715
+ '''
716
+ print ("### Enumerating AWS Compute Optimizer Permissions ###" )
717
+ tests = [('GetRecommendationSummaries' , 'get_recommendation_summaries' , (), {}, ), ]
718
+ return generic_permission_bruteforcer ('compute-optimizer' , tests )
609
719
610
720
611
721
def brute_configservice_permissions ():
@@ -623,10 +733,11 @@ def brute_configservice_permissions():
623
733
('DescribeDeliveryChannels' , 'describe_delivery_channels' , (), {}, ), ]
624
734
return generic_permission_bruteforcer ('config' , tests )
625
735
626
- # http://boto3.readthedocs.io/en/latest/reference/services/connect.html
627
- # no functions
736
+ # http://boto3.readthedocs.io/en/latest/reference/services/connect.html
737
+ # no functions
628
738
629
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/connectparticipant.html
739
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/connectparticipant.html
740
+ # no functions
630
741
631
742
632
743
def brute_costandusagereportservice_permissions ():
@@ -638,7 +749,15 @@ def brute_costandusagereportservice_permissions():
638
749
return generic_permission_bruteforcer ('cur' , tests )
639
750
640
751
641
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dataexchange.html
752
+ def brute_dataexchange_permissions ():
753
+ '''
754
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dataexchange.html
755
+ '''
756
+ print ("### Enumerating AWS Data Exchange Permissions ###" )
757
+ tests = [('ListDataSets' , 'list_data_sets' , (), {}, ),
758
+ ('ListJobs' , 'list_jobs' , (), {}, ), ]
759
+ return generic_permission_bruteforcer ('dataexchange' , tests )
760
+
642
761
643
762
def brute_datapipeline_permissions ():
644
763
'''
@@ -649,7 +768,14 @@ def brute_datapipeline_permissions():
649
768
return generic_permission_bruteforcer ('datapipeline' , tests )
650
769
651
770
652
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/datasync.html
771
+ def brute_datasync_permissions ():
772
+ '''
773
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/datasync.html
774
+ '''
775
+ print ("### Enumerating AWS DataSync Permissions ###" )
776
+ tests = [('ListAgents' , 'list_agents' , (), {}, ),
777
+ ('ListTasks' , 'list_tasks' , (), {}, ), ]
778
+ return generic_permission_bruteforcer ('datasync' , tests )
653
779
654
780
655
781
def brute_dax_permissions ():
@@ -665,7 +791,14 @@ def brute_dax_permissions():
665
791
return generic_permission_bruteforcer ('dax' , tests )
666
792
667
793
668
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/detective.html
794
+ def brute_detective_permissions ():
795
+ '''
796
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/detective.html
797
+ '''
798
+ print ("### Enumerating Amazon Detective Permissions ###" )
799
+ tests = [('ListGraphs' , 'list_graphs' , (), {}, ), ]
800
+ return generic_permission_bruteforcer ('detective' , tests )
801
+
669
802
670
803
def brute_devicefarm_permissions ():
671
804
'''
@@ -697,7 +830,13 @@ def brute_applicationdiscoveryservice_permissions():
697
830
return generic_permission_bruteforcer_region ('discovery' , tests , 'us-west-2' )
698
831
699
832
700
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dlm.html
833
+ def brute_dlm_permissions ():
834
+ '''
835
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dlm.html
836
+ '''
837
+ print ("### Enumerating DatabaseMigrationService Permissions ###" )
838
+ tests = [('GetLifecyclePolicies' , 'get_lifecycle_policies' , (), {}, ), ]
839
+ return generic_permission_bruteforcer ('dlm' , tests )
701
840
702
841
703
842
def brute_dms_permissions ():
@@ -711,7 +850,15 @@ def brute_dms_permissions():
711
850
return generic_permission_bruteforcer ('dms' , tests )
712
851
713
852
714
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/docdb.html
853
+ def brute_docdb_permissions ():
854
+ '''
855
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/docdb.html
856
+ '''
857
+ print ("### Enumerating DocumentDB with MongoDB Permissions ###" )
858
+ tests = [('DescribeDBClusters' , 'describe_db_clusters' , (), {}, ),
859
+ ('DescribeDBInstances' , 'describe_db_instances' , (), {}, ),
860
+ ('DescribeDBEngineVersions' , 'describe_db_engine_versions' , (), {}, ), ]
861
+ return generic_permission_bruteforcer ('docdb' , tests )
715
862
716
863
717
864
def brute_directoryservice_permissions ():
@@ -746,7 +893,8 @@ def brute_dynamodbstreams_permissions():
746
893
return generic_permission_bruteforcer ('dynamodbstreams' , tests )
747
894
748
895
749
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ebs.html
896
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ebs.html
897
+ # no functions that dont require a SnapshotId
750
898
751
899
752
900
def brute_ec2_permissions ():
@@ -815,7 +963,8 @@ def brute_ec2_permissions():
815
963
return generic_permission_bruteforcer ('ec2' , tests )
816
964
817
965
818
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2-instance-connect.html
966
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2-instance-connect.html
967
+ # no functions
819
968
820
969
821
970
def brute_ecr_permissions ():
@@ -851,9 +1000,22 @@ def brute_efs_permissions():
851
1000
return generic_permission_bruteforcer ('efs' , tests )
852
1001
853
1002
854
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/eks.html
1003
+ def brute_eks_permissions ():
1004
+ '''
1005
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/eks.html
1006
+ '''
1007
+ print ("### Enumerating Amazon Elastic Kubernetes Service (EKS) Permissions ###" )
1008
+ tests = [('ListClusters' , 'list_clusters' , (), {}), ]
1009
+ return generic_permission_bruteforcer ('eks' , tests )
1010
+
855
1011
856
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/elastic-inference.html
1012
+ def brute_elasticinference_permissions ():
1013
+ '''
1014
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/elastic-inference.html
1015
+ '''
1016
+ print ("### Enumerating Amazon Elastic Inference Permissions ###" )
1017
+ tests = [('DescribeAccelerators' , 'describe_accelerators' , (), {}), ]
1018
+ return generic_permission_bruteforcer ('elastic-inference' , tests )
857
1019
858
1020
859
1021
def brute_elasticache_permissions ():
@@ -969,13 +1131,39 @@ def brute_fms_permissions():
969
1131
return generic_permission_bruteforcer ('fms' , tests )
970
1132
971
1133
972
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/forecast.html
1134
+ def brute_forecast_permissions ():
1135
+ '''
1136
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/forecast.html
1137
+ '''
1138
+ print ("### Enumerating Amazon Forecast Permissions ###" )
1139
+ tests = [('ListDatasets' , 'list_datasets' , (), {}),
1140
+ ('ListForecasts' , 'list_forecasts' , (), {}),
1141
+ ('ListPredictors' , 'list_predictors' , (), {}), ]
1142
+ return generic_permission_bruteforcer ('forecast' , tests )
973
1143
974
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/forecastquery.html
975
1144
976
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/frauddetector.html
1145
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/forecastquery.html
1146
+ # no functions
977
1147
978
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/fsx.html
1148
+
1149
+ def brute_frauddetector_permissions ():
1150
+ '''
1151
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/frauddetector.html
1152
+ '''
1153
+ print ("### Enumerating Amazon Fraud Detector Permissions ###" )
1154
+ tests = [('GetDetectors' , 'get_detectors' , (), {}), ]
1155
+ return generic_permission_bruteforcer ('frauddetector' , tests )
1156
+
1157
+
1158
+ def brute_fsx_permissions ():
1159
+ '''
1160
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/fsx.html
1161
+ '''
1162
+ print ("### Enumerating FSx Permissions ###" )
1163
+ tests = [('DescribeBackups' , 'describe_backups' , (), {}),
1164
+ ('DescribeDataRepositoryTasks' , 'describe_data_repository_tasks' , (), {}),
1165
+ ('DescribeFileSystems' , 'describe_file_systems' , (), {}), ]
1166
+ return generic_permission_bruteforcer ('fsx' , tests )
979
1167
980
1168
981
1169
def brute_gamelift_permissions ():
@@ -1002,7 +1190,13 @@ def brute_glacier_permissions():
1002
1190
return generic_permission_bruteforcer ('glacier' , tests )
1003
1191
1004
1192
1005
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/globalaccelerator.html
1193
+ def brute_globalaccelerator_permissions ():
1194
+ '''
1195
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/globalaccelerator.html
1196
+ '''
1197
+ print ("### Enumerating global Accelerator Permissions ###" )
1198
+ tests = [('ListAccelerators' , 'list_accelerators' , (), {}), ]
1199
+ return generic_permission_bruteforcer_region ('globalaccelerator' , tests , 'us-west-2' )
1006
1200
1007
1201
1008
1202
def brute_glue_permissions ():
@@ -1033,7 +1227,15 @@ def brute_greengrass_permissions():
1033
1227
return generic_permission_bruteforcer ('greengrass' , tests )
1034
1228
1035
1229
1036
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/groundstation.html
1230
+ def brute_groundstation_permissions ():
1231
+ '''
1232
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/groundstation.html
1233
+ '''
1234
+ print ("### Enumerating Groundstation Permissions ###" )
1235
+ tests = [('ListConfigs' , 'list_configs' , (), {}),
1236
+ ('ListGroundStations' , 'list_ground_stations' , (), {}),
1237
+ ('ListSatellites' , 'list_satellites' , (), {}), ]
1238
+ return generic_permission_bruteforcer_region ('groundstation' , tests , 'us-west-2' )
1037
1239
1038
1240
def brute_guardduty_permissions ():
1039
1241
'''
@@ -1076,7 +1278,18 @@ def brute_iam_permissions():
1076
1278
return generic_permission_bruteforcer ('iam' , tests )
1077
1279
1078
1280
1079
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/imagebuilder.html
1281
+ def brute_imagebuilder_permissions ():
1282
+ '''
1283
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/imagebuilder.html
1284
+ '''
1285
+ print ("### Enumerating Image Builder Permissions ###" )
1286
+ tests = [('ListComponents' , 'list_components' , (), {}),
1287
+ ('ListDistributionConfigurations' , 'list_distribution_configurations' , (), {}),
1288
+ ('ListImagePipelines' , 'list_image_pipelines' , (), {}),
1289
+ ('ListImageRecipes' , 'list_image_recipes' , (), {}),
1290
+ ('ListImages' , 'list_images' , (), {}),
1291
+ ('ListInfrastructureConfigurations' , 'list_infrastructure_configurations' , (), {}), ]
1292
+ return generic_permission_bruteforcer ('imagebuilder' , tests )
1080
1293
1081
1294
1082
1295
def brute_importexport_permissions ():
@@ -1124,25 +1337,90 @@ def brute_iotdata_permissions():
1124
1337
# http://boto3.readthedocs.io/en/latest/reference/services/iot-jobs-data.html
1125
1338
# NO functions to call without data
1126
1339
1127
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iot1click-devices.html
1128
1340
1129
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iot1click-projects.html
1341
+ def brute_iot1clickdevices_permissions ():
1342
+ '''
1343
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iot1click-devices.html
1344
+ https://docs.aws.amazon.com/general/latest/gr/1click.html
1345
+ '''
1346
+ print ("### Enumerating AWS IoT 1-Click Devices Service Permissions ###" )
1347
+ tests = [('ListDevices' , 'list_devices' , (), {}), ]
1348
+ return generic_permission_bruteforcer_region ('iot1click-devices' , tests , 'us-west-2' )
1349
+
1350
+
1351
+ def brute_iot1clickprojects_permissions ():
1352
+ '''
1353
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iot1click-projects.html
1354
+ '''
1355
+ print ("### Enumerating AWS IoT 1-Click Projects Service Permissions ###" )
1356
+ tests = [('ListProjects' , 'list_projects' , (), {}), ]
1357
+ return generic_permission_bruteforcer_region ('iot1click-projects' , tests , 'us-west-2' )
1130
1358
1131
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotanalytics.html
1132
1359
1133
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotevents.html
1360
+ def brute_iotanalytics_permissions ():
1361
+ '''
1362
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotanalytics.html
1363
+ '''
1364
+ print ("### Enumerating AWS IoT 1-Click Projects Service Permissions ###" )
1365
+ tests = [('ListChannels' , 'list_channels' , (), {}),
1366
+ ('ListDatasets' , 'list_datasets' , (), {}),
1367
+ ('ListDatastores' , 'list_datastores' , (), {}),
1368
+ ('ListPipelines' , 'list_pipelines' , (), {}), ]
1369
+ return generic_permission_bruteforcer_region ('iotanalytics' , tests , 'us-west-2' )
1134
1370
1135
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotevents-data.html
1136
1371
1137
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotsecuretunneling.html
1372
+ def brute_iotevents_permissions ():
1373
+ '''
1374
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotevents.html
1375
+ '''
1376
+ print ("### Enumerating AWS IoT Events Service Permissions ###" )
1377
+ tests = [('ListDetectorModels' , 'list_detector_models' , (), {}),
1378
+ ('ListInputs' , 'list_inputs' , (), {}), ]
1379
+ return generic_permission_bruteforcer_region ('iotevents' , tests , 'us-west-2' )
1138
1380
1139
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotsitewise.html
1381
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotevents-data.html
1382
+ # need detectorID
1140
1383
1141
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotthingsgraph.html
1142
1384
1143
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html
1385
+ def brute_iotsecuretunneling_permissions ():
1386
+ '''
1387
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotsecuretunneling.html
1388
+ '''
1389
+ print ("### Enumerating AWS IoT Secure Tunneling Permissions ###" )
1390
+ tests = [('ListTunnels' , 'list_tunnels' , (), {}), ]
1391
+ return generic_permission_bruteforcer_region ('iotsecuretunneling' , tests , 'us-west-2' )
1144
1392
1145
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kendra.html
1393
+
1394
+ def brute_iotsitewise_permissions ():
1395
+ '''
1396
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotsitewise.html
1397
+ '''
1398
+ print ("### Enumerating AWS IoT Sitewise Permissions ###" )
1399
+ tests = [('ListAssets' , 'list_assets' , (), {}),
1400
+ ('ListPortals' , 'list_portals' , (), {}),
1401
+ ('ListGateways' , 'list_gateways' , (), {}), ]
1402
+ return generic_permission_bruteforcer_region ('iotsitewise' , tests , 'us-west-2' )
1403
+
1404
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iotthingsgraph.html
1405
+ # no functions
1406
+
1407
+
1408
+ def brute_kafka_permissions ():
1409
+ '''
1410
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kafka.html
1411
+ '''
1412
+ print ("### Enumerating Kafka Permissions ###" )
1413
+ tests = [('ListClusters' , 'list_clusters' , (), {}), ]
1414
+ return generic_permission_bruteforcer ('kafka' , tests )
1415
+
1416
+
1417
+ def brute_kendra_permissions ():
1418
+ '''
1419
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kendra.html
1420
+ '''
1421
+ print ("### Enumerating Kendra Frontend Service Permissions ###" )
1422
+ tests = [('ListIndices' , 'list_indices' , (), {}), ]
1423
+ return generic_permission_bruteforcer ('kendra' , tests )
1146
1424
1147
1425
1148
1426
def brute_kinesis_permissions ():
@@ -1153,14 +1431,14 @@ def brute_kinesis_permissions():
1153
1431
tests = [('ListStreams' , 'list_streams' , (), {}), ]
1154
1432
return generic_permission_bruteforcer ('kinesis' , tests )
1155
1433
1156
- # http://boto3.readthedocs.io/en/latest/reference/services/kinesis-video-archived-media.html
1157
- # NO functions to call without data
1434
+ # http://boto3.readthedocs.io/en/latest/reference/services/kinesis-video-archived-media.html
1435
+ # NO functions to call without data
1158
1436
1159
1437
# http://boto3.readthedocs.io/en/latest/reference/services/kinesis-video-media.html
1160
1438
# NO functions to call without data
1161
1439
1162
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis-video-signaling.html
1163
-
1440
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis-video-signaling.html
1441
+ # NO functions to call without data
1164
1442
1165
1443
def brute_kinesisanalytics_permissions ():
1166
1444
'''
@@ -1171,7 +1449,13 @@ def brute_kinesisanalytics_permissions():
1171
1449
return generic_permission_bruteforcer ('kinesisanalytics' , tests )
1172
1450
1173
1451
1174
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesisanalyticsv2.html
1452
+ def brute_kinesisanalyticsv2_permissions ():
1453
+ '''
1454
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesisanalyticsv2.html
1455
+ '''
1456
+ print ("### Enumerating Kinesis Analytics v2 Permissions ###" )
1457
+ tests = [('ListApplications' , 'list_applications' , (), {}), ]
1458
+ return generic_permission_bruteforcer ('kinesisanalyticsv2' , tests )
1175
1459
1176
1460
1177
1461
def brute_kinesisvideo_permissions ():
@@ -1193,7 +1477,14 @@ def brute_kms_permissions():
1193
1477
return generic_permission_bruteforcer ('kms' , tests )
1194
1478
1195
1479
1196
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lakeformation.html
1480
+ def brute_lakeformation_permissions ():
1481
+ '''
1482
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lakeformation.html
1483
+ '''
1484
+ print ("### Enumerating Lake Formation Permissions ###" )
1485
+ tests = [('ListPermissions' , 'list_permissions' , (), {}),
1486
+ ('ListResources' , 'list_resources' , (), {}), ]
1487
+ return generic_permission_bruteforcer ('lakeformation' , tests )
1197
1488
1198
1489
1199
1490
def brute_lambda_permissions ():
@@ -1227,7 +1518,13 @@ def brute_lexruntime_permissions():
1227
1518
return generic_permission_bruteforcer ('lex-runtime' , tests )
1228
1519
1229
1520
1230
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/license-manager.html
1521
+ def brute_licensemanager_permissions ():
1522
+ '''
1523
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/license-manager.html
1524
+ '''
1525
+ print ("### Enumerating License Manager Permissions ###" )
1526
+ tests = [('ListLicenseConfigurations' , 'list_license_configurations' , (), {}), ]
1527
+ return generic_permission_bruteforcer ('license-manager' , tests )
1231
1528
1232
1529
1233
1530
def brute_lightsail_permissions ():
@@ -1265,22 +1562,60 @@ def brute_machinelearning_permissions():
1265
1562
('DescribeEvaluations' , 'describe_evaluations' , (), {}), ]
1266
1563
return generic_permission_bruteforcer ('machinelearning' , tests )
1267
1564
1268
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/macie.html
1269
1565
1270
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/macie2.html
1566
+ def brute_macie_permissions ():
1567
+ '''
1568
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/macie.html
1569
+ '''
1570
+ print ("### Enumerating Macie Permissions ###" )
1571
+ tests = [('ListMemberAccounts' , 'list_member_accounts' , (), {}),
1572
+ ('ListS3Resources' , 'list_s3_resources' , (), {}), ]
1573
+ return generic_permission_bruteforcer ('macie' , tests )
1574
+
1575
+
1576
+ def brute_macie2_permissions ():
1577
+ '''
1578
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/macie2.html
1579
+ '''
1580
+ print ("### Enumerating Macie2 Permissions ###" )
1581
+ tests = [('DescribeBuckets' , 'describe_buckets' , (), {}),
1582
+ ('ListFindings' , 'list_findings' , (), {}),
1583
+ ('Listmembers' , 'list_members' , (), {}),]
1584
+ return generic_permission_bruteforcer ('macie2' , tests )
1271
1585
1272
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/managedblockchain.html
1586
+ def brute_managedblockchain_permissions ():
1587
+ '''
1588
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/managedblockchain.html
1589
+ '''
1590
+ print ("### Enumerating Managed Blockchain Permissions ###" )
1591
+ tests = [('ListNetworks' , 'list_networks' , (), {}), ]
1592
+ return generic_permission_bruteforcer ('managedblockchain' , tests )
1273
1593
1274
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/marketplace-catalog.html
1275
1594
1595
+ def brute_marketplacecatalog_permissions ():
1596
+ '''
1597
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/marketplace-catalog.html
1598
+ needs an entity type for list_entities ??
1599
+ '''
1600
+ print ("### Enumerating Machine Learning Permissions ###" )
1601
+ tests = [('ListEntities' , 'list_entities' , (), {}), ]
1602
+ return generic_permission_bruteforcer ('marketplace-catalog' , tests )
1276
1603
1277
1604
# http://boto3.readthedocs.io/en/latest/reference/services/marketplace-entitlement.html
1278
- # NO functions to call without arguements
1605
+ # NO functions to call without arguments
1279
1606
1280
1607
# http://boto3.readthedocs.io/en/latest/reference/services/marketplacecommerceanalytics.html
1281
- # NO functions to call without arguements
1608
+ # NO functions to call without arguments
1282
1609
1283
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediaconnect.html
1610
+
1611
+ def brute_mediaconnect_permissions ():
1612
+ '''
1613
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediaconnect.html
1614
+ '''
1615
+ print ("### Enumerating MediaConnect Permissions ###" )
1616
+ tests = [('ListEntitlements' , 'list_entitlements' , (), {}),
1617
+ ('ListFlows' , 'list_flows' , (), {}), ]
1618
+ return generic_permission_bruteforcer ('mediaconnect' , tests )
1284
1619
1285
1620
1286
1621
def brute_mediaconvert_permissions ():
@@ -1316,7 +1651,14 @@ def brute_mediapackage_permissions():
1316
1651
return generic_permission_bruteforcer ('mediapackage' , tests )
1317
1652
1318
1653
1319
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediapackage-vod.html
1654
+ def brute_mediapackagevod_permissions ():
1655
+ '''
1656
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediapackage-vod.html
1657
+ '''
1658
+ print ("### Enumerating MediaPackage VOD Permissions ###" )
1659
+ tests = [('ListAssets' , 'list_assets' , (), {}),
1660
+ ('ListPackagingGroups' , 'list_packaging_groups' , (), {}), ]
1661
+ return generic_permission_bruteforcer ('mediapackage-vod' , tests )
1320
1662
1321
1663
1322
1664
def brute_mediastore_permissions ():
@@ -1332,19 +1674,27 @@ def brute_mediastore_data_permissions():
1332
1674
'''
1333
1675
http://boto3.readthedocs.io/en/latest/reference/services/mediastore-data.html
1334
1676
Could not connect to the endpoint URL: "https://data.mediastore.us-east-1.amazonaws.com/"
1335
- boto3 (1.7.4) bug
1677
+ https://docs.aws.amazon.com/general/latest/gr/mediastore.html
1336
1678
1337
- Update May2020 - i cant find an endpoint to connect to - will comment th is out in recon.py
1679
+ Update Sep2020 - i cant find an endpoint to connect to tried us-east-1/us-west-2
1680
+ will comment this out in recon.py
1338
1681
'''
1339
1682
print ("### Enumerating AWS Elemental MediaStore Data Permissions ###" )
1340
1683
tests = [('ListItems' , 'list_items' , (), {}), ]
1341
- return generic_permission_bruteforcer_region ('mediastore-data' , tests , 'us-east-1 ' )
1684
+ return generic_permission_bruteforcer_region ('mediastore-data' , tests , 'us-west-2 ' )
1342
1685
1343
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediatailor.html
1686
+
1687
+ def brute_mediatailor_permissions ():
1688
+ '''
1689
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/mediatailor.html
1690
+ '''
1691
+ print ("### Enumerating MediaTailor Permissions ###" )
1692
+ tests = [('ListPlaybackConfigurations' , 'list_playback_configurations' , (), {}), ]
1693
+ return generic_permission_bruteforcer ('mediatailor' , tests )
1344
1694
1345
1695
1346
1696
# http://boto3.readthedocs.io/en/latest/reference/services/meteringmarketplace.html
1347
- # NO functions to call without arguements
1697
+ # NO functions to call without arguments
1348
1698
1349
1699
1350
1700
def brute_mgh_permissions ():
@@ -1357,7 +1707,13 @@ def brute_mgh_permissions():
1357
1707
return generic_permission_bruteforcer_region ('mgh' , tests , 'us-west-2' )
1358
1708
1359
1709
1360
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/migrationhub-config.html
1710
+ def brute_migrationhubconfig_permissions ():
1711
+ '''
1712
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/migrationhub-config.html
1713
+ '''
1714
+ print ("### Enumerating migrationhub-config Permissions ###" )
1715
+ tests = [('DescribeHomeRegionControls' , 'describe_home_region_controls' , (), {}), ]
1716
+ return generic_permission_bruteforcer ('migrationhub-config' , tests )
1361
1717
1362
1718
1363
1719
def brute_mobile_permissions ():
@@ -1391,9 +1747,28 @@ def brute_mturk_permissions():
1391
1747
return generic_permission_bruteforcer ('mturk' , tests )
1392
1748
1393
1749
1394
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/neptune.html
1750
+ def brute_neptune_permissions ():
1751
+ '''
1752
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/neptune.html
1753
+ '''
1754
+ print ("### Enumerating Neptune Permissions ###" )
1755
+ tests = [('DescribeDBClusters' , 'describe_db_clusters' , (), {}),
1756
+ ('DescribeDBEngineVersions' , 'describe_db_engine_versions' , (), {}),
1757
+ ('DescribeDBInstances' , 'describe_db_instances' , (), {}),
1758
+ ('DescribeEvents' , 'describe_events' , (), {}), ]
1759
+ return generic_permission_bruteforcer ('neptune' , tests )
1760
+
1761
+
1762
+ def brute_networkmanager_permissions ():
1763
+ '''
1764
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/networkmanager.html
1765
+ Other functions needs the Global Network ID
1766
+ https://docs.aws.amazon.com/general/latest/gr/network_manager.html
1767
+ '''
1768
+ print ("### Enumerating Network Manager Permissions ###" )
1769
+ tests = [('DescribeGlobalNetworks' , 'describe_global_networks' , (), {}), ]
1770
+ return generic_permission_bruteforcer_region ('networkmanager' , tests , 'us-west-2' )
1395
1771
1396
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/networkmanager.html
1397
1772
1398
1773
def brute_opsworks_permissions ():
1399
1774
'''
@@ -1432,16 +1807,36 @@ def brute_organizations_permissions():
1432
1807
return generic_permission_bruteforcer ('organizations' , tests )
1433
1808
1434
1809
1435
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/outposts.html
1810
+ def brute_outposts_permissions ():
1811
+ '''
1812
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/outposts.html
1813
+ '''
1814
+ print ("### Enumerating Outposts Service Permissions ###" )
1815
+ tests = [('ListOutposts' , 'list_outposts' , (), {}),
1816
+ ('ListSites' , 'list_sites' , (), {}),]
1817
+ return generic_permission_bruteforcer ('outposts' , tests )
1436
1818
1437
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/personalize.html
1438
1819
1439
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/personalize-events.html
1820
+ def brute_personalize_permissions ():
1821
+ '''
1822
+ https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/personalize.html
1823
+ '''
1824
+ print ("### Enumerating Personalize Service Permissions ###" )
1825
+ tests = [('ListCampaigns' , 'list_campaigns' , (), {}),
1826
+ ('ListDatasets' , 'list_datasets' , (), {}),
1827
+ ('ListRecipes' , 'list_recipes' , (), {}),]
1828
+ return generic_permission_bruteforcer ('personalize' , tests )
1440
1829
1441
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/personalize-runtime.html
1830
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/personalize-events.html
1831
+ # No functions
1442
1832
1443
- # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/pi.html
1444
1833
1834
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/personalize-runtime.html
1835
+ # No functions
1836
+
1837
+
1838
+ # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/pi.html
1839
+ # No functions
1445
1840
1446
1841
def brute_pinpoint_permissions ():
1447
1842
'''
@@ -1451,6 +1846,7 @@ def brute_pinpoint_permissions():
1451
1846
tests = [('GetApps' , 'get_apps' , (), {}), ]
1452
1847
return generic_permission_bruteforcer ('pinpoint' , tests )
1453
1848
1849
+
1454
1850
def brute_pinpoint_email_permissions ():
1455
1851
'''
1456
1852
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/pinpoint-email.html
0 commit comments