Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( AWSProfile string AWSProfilesList string AWSAllProfiles bool AWSProfiles []string AWSConfirm bool AWSOutputFormat string AWSOutputDirectory string AWSSkipAdminCheck bool AWSWrapTable bool Goroutines int Verbosity int AWSCommands = &cobra.Command{ Use: "aws", Short: "See \"Available Commands\" for AWS Modules", Run: func(cmd *cobra.Command, args []string) { cmd.Help() }, } AccessKeysFilter string AccessKeysCommand = &cobra.Command{ Use: "access-keys", Aliases: []string{"accesskeys", "keys"}, Short: "Enumerate active access keys for all users", Long: "\nUse case examples:\n" + "Map active access keys:\n" + os.Args[0] + " aws access-keys --profile test_account" + os.Args[0] + " aws access-keys --filter access_key_id --profile readonly_profile", PreRun: awsPreRun, Run: runAccessKeysCommand, } BucketsCommand = &cobra.Command{ Use: "buckets", Aliases: []string{"bucket"}, Short: "Enumerate all of the buckets. Get loot file with s3 commands to list/download bucket contents", Long: "\nUse case examples:\n" + "List all buckets create a file with pre-populated aws s3 commands:\n" + os.Args[0] + " aws buckets --profile test_account", PreRun: awsPreRun, Run: runBucketsCommand, } CloudformationCommand = &cobra.Command{ Use: "cloudformation", Aliases: []string{"cf", "cfstacks", "stacks"}, Short: "Enumerate Cloudformation stacks. Get a loot file with stack details. Look for secrets.", Long: "\nUse case examples:\n" + os.Args[0] + " aws ecr --profile readonly_profile", PreRun: awsPreRun, Run: runCloudformationCommand, } ECRCommand = &cobra.Command{ Use: "ecr", Aliases: []string{"repos", "repo", "repositories"}, Short: "Enumerate the most recently pushed image URI from all repositories. Get a loot file with commands to pull images", Long: "\nUse case examples:\n" + os.Args[0] + " aws ecr --profile readonly_profile", PreRun: awsPreRun, Run: runECRCommand, } EKSCommand = &cobra.Command{ Use: "eks", Aliases: []string{"EKS", "clusters"}, Short: "Enumerate EKS clusters. Get a loot file with commands to authenticate with each cluster", Long: "\nUse case examples:\n" + os.Args[0] + " aws --profile readonly_profile eks", PreRun: awsPreRun, Run: runEKSCommand, } EndpointsCommand = &cobra.Command{ Use: "endpoints", Aliases: []string{"endpoint"}, Short: "Enumerates endpoints from various services. Get a loot file with http endpoints to scan.", Long: "\nUse case examples:\n" + os.Args[0] + " aws endpoints --profile readonly_profile", PreRun: awsPreRun, Run: runEndpointsCommand, } EnvsCommand = &cobra.Command{ Use: "env-vars", Aliases: []string{"envs", "envvars", "env"}, Short: "Enumerate the environment variables from mutliple services that have them", Long: "\nUse case examples:\n" + os.Args[0] + " aws env-vars --profile readonly_profile", PreRun: awsPreRun, Run: runEnvsCommand, } FilesystemsCommand = &cobra.Command{ Use: "filesystems", Aliases: []string{"filesystem"}, Short: "Enumerate the EFS and FSx filesystems. Get a loot file with mount commands", Long: "\nUse case examples:\n" + os.Args[0] + " aws filesystems --profile readonly_profile", PreRun: awsPreRun, Run: runFilesystemsCommand, } SimulatorResource string SimulatorAction string SimulatorPrincipal string IamSimulatorCommand = &cobra.Command{ Use: "iam-simulator", Aliases: []string{"iamsimulator", "simulator"}, Short: "Wrapper around the AWS IAM Simulate Principal Policy command", Long: "\nUse case examples:\n" + os.Args[0] + " aws iam-simulator --profile readonly_profile", PreRun: awsPreRun, Run: runIamSimulatorCommand, } // This filter could be an instance ID or a TXT file with instance IDs separated by a new line. InstancesFilter string InstanceMapUserDataAttributesOnly bool InstancesCommand = &cobra.Command{ Use: "instances", Aliases: []string{"instance"}, Short: "Enumerate all instances along with assigned IPs, profiles, and user-data", Long: "\nUse case examples:\n" + os.Args[0] + " aws instances --profile readonly_profile", PreRun: awsPreRun, Run: runInstancesCommand, } ECSTasksCommand = &cobra.Command{ Use: "ecs-tasks", Aliases: []string{"ecs"}, Short: "Enumerate all ECS tasks along with assigned IPs and profiles", Long: "\nUse case examples:\n" + os.Args[0] + " aws ecs-tasks --profile readonly_profile", PreRun: awsPreRun, Run: runECSTasksCommand, } ElasticNetworkInterfacesCommand = &cobra.Command{ Use: "elastic-network-interfaces", Aliases: []string{"eni"}, Short: "Enumerate all elastic network interafces along with their private and public IPs and the VPC", Long: "\nUse case examples:\n" + os.Args[0] + " aws elastic-network-interfaces --profile readonly_profile", PreRun: awsPreRun, Run: runENICommand, } InventoryCommand = &cobra.Command{ Use: "inventory", Short: "Gain a rough understanding of size of the account and preferred regions", Long: "\nUse case examples:\n" + os.Args[0] + " aws inventory --profile readonly_profile", PreRun: awsPreRun, Run: runInventoryCommand, } LambdasCommand = &cobra.Command{ Use: "lambda", Aliases: []string{"lambdas", "functions"}, Short: "Enumerate lambdas.", Long: "\nUse case examples:\n" + os.Args[0] + " aws lambda --profile readonly_profile", PreRun: awsPreRun, Run: runLambdasCommand, } OutboundAssumedRolesDays int OutboundAssumedRolesCommand = &cobra.Command{ Use: "outbound-assumed-roles", Aliases: []string{"assumedroles", "assumeroles", "outboundassumedroles"}, Short: "Find the roles that have been assumed by principals in this account", Long: "\nUse case examples:\n" + os.Args[0] + " aws outbound-assumed-roles --profile readonly_profile", PreRun: awsPreRun, Run: runOutboundAssumedRolesCommand, } PermissionsPrincipal string PermissionsCommand = &cobra.Command{ Use: "permissions", Aliases: []string{"perms", "permission"}, Short: "Enumerate IAM permissions per principal", Long: "\nUse case examples:\n" + os.Args[0] + " aws permissions --profile profile\n" + os.Args[0] + " aws permissions --profile profile --principal arn:aws:iam::111111111111:role/test123", PreRun: awsPreRun, Run: runPermissionsCommand, } PrincipalsCommand = &cobra.Command{ Use: "principals", Aliases: []string{"principal"}, Short: "Enumerate IAM users and Roles so you have the data at your fingertips", Long: "\nUse case examples:\n" + os.Args[0] + " aws principals --profile readonly_profile", PreRun: awsPreRun, Run: runPrincipalsCommand, } RAMCommand = &cobra.Command{ Use: "ram", Short: "Enumerate cross-account shared resources", Long: "\nUse case examples:\n" + os.Args[0] + " aws ram --profile readonly_profile", PreRun: awsPreRun, Run: runRAMCommand, } // The filter is set to "all" when the flag "--filter" is not used RoleTrustFilter string RoleTrustCommand = &cobra.Command{ Use: "role-trusts", Aliases: []string{"roletrusts", "role-trust"}, Short: "Enumerate all role trusts", Long: "\nUse case examples:\n" + "Map all role trusts for caller's account:\n" + os.Args[0] + " aws role-trusts\n", PreRun: awsPreRun, Run: runRoleTrustCommand, } Route53Command = &cobra.Command{ Use: "route53", Aliases: []string{"dns", "route", "routes"}, Short: "Enumerate all records from all zones managed by route53. Get a loot file with A records you can scan", Long: "\nUse case examples:\n" + os.Args[0] + " aws route53 --profile readonly_profile", PreRun: awsPreRun, Run: runRoute53Command, } SecretsCommand = &cobra.Command{ Use: "secrets", Aliases: []string{"secret"}, Short: "Enumerate secrets from secrets manager and SSM", Long: "\nUse case examples:\n" + os.Args[0] + " aws secrets --profile readonly_profile", PreRun: awsPreRun, Run: runSecretsCommand, } TagsCommand = &cobra.Command{ Use: "tags", Aliases: []string{"tag"}, Short: "Enumerate resources with tags.", Long: "\nUse case examples:\n" + os.Args[0] + " aws tags --profile readonly_profile", PreRun: awsPreRun, Run: runTagsCommand, } AllChecksCommand = &cobra.Command{ Use: "all-checks", Aliases: []string{"allchecks", "all"}, Short: "Run all of the other checks (excluding outbound-assumed-roles)", Long: "\nUse case examples:\n" + os.Args[0] + " aws all-checks --profile readonly_profile", PreRun: awsPreRun, Run: runAllChecksCommand, } PmapperCommand = &cobra.Command{ Use: "pmapper", Aliases: []string{"Pmapper", "pmapperParse"}, Short: "", Long: "\nUse case examples:\n" + os.Args[0] + " aws ", PreRun: awsPreRun, Run: runPmapperCommand, } )
View Source
var ( AzTenantID string AzSubscriptionID string AzRGName string AzOutputFormat string AzOutputDirectory string AzVerbosity int AzWrapTable bool AzCommands = &cobra.Command{ Use: "azure", Aliases: []string{"az"}, Long: `See "Available Commands" for Azure Modules below`, Short: "See \"Available Commands\" for Azure Modules below", Run: func(cmd *cobra.Command, args []string) { cmd.Help() }, } AzWhoamiCommand = &cobra.Command{ Use: "whoami", Aliases: []string{}, Short: "Display available Azure CLI sessions", Long: ` Display Available Azure CLI Sessions: ./cloudfox az whoami`, Run: func(cmd *cobra.Command, args []string) { azure.AzWhoamiCommand(cmd.Root().Version, AzWrapTable) }, } AzRBACCommand = &cobra.Command{ Use: "rbac", Aliases: []string{}, Short: "Display role assignemts for Azure principals", Long: ` Enumerate role assignments for a specific tenant: ./cloudfox az rbac --tenant TENANT_ID Enumerate role assignments for a specific subscription: ./cloudfox az rbac --subscription SUBSCRIPTION_ID `, Run: func(cmd *cobra.Command, args []string) { err := azure.AzRBACCommand(AzTenantID, AzSubscriptionID, AzOutputFormat, cmd.Root().Version, AzVerbosity, AzWrapTable) if err != nil { log.Fatal(err) } }, } AzInstancesCommand = &cobra.Command{ Use: "instances", Aliases: []string{}, Short: "Enumerates Azure Compute instances", Long: ` Enumerate VMs for a specific tenant: ./cloudfox az instances --tenant TENANT_ID Enumerate VMs for a specific subscription: ./cloudfox az instances --subscription SUBSCRIPTION_ID`, Run: func(cmd *cobra.Command, args []string) { err := azure.AzInstancesCommand(AzTenantID, AzSubscriptionID, AzOutputFormat, cmd.Root().Version, AzVerbosity, AzWrapTable) if err != nil { log.Fatal(err) } }, } AzStorageCommand = &cobra.Command{ Use: "storage", Aliases: []string{}, Short: "Enumerates azure storage accounts", Long: ` Enumerate storage accounts for a specific tenant: ./cloudfox az storage --tenant TENANT_ID Enumerate storage accounts for a specific subscription: ./cloudfox az storage --subscription SUBSCRIPTION_ID `, Run: func(cmd *cobra.Command, args []string) { azure.AzStorageCommand(AzTenantID, AzSubscriptionID, AzOutputFormat, cmd.Root().Version, AzVerbosity, AzWrapTable) }, } )
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.