AWS - Firewall Manager Enum

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Firewall Manager

O AWS Firewall Manager simplifica a gestão e manutenção do AWS WAF, AWS Shield Advanced, grupos de segurança Amazon VPC e Listas de Controle de Acesso (ACLs), e AWS Network Firewall, AWS Route 53 Resolver DNS Firewall e firewalls de terceiros em várias contas e recursos. Ele permite que você configure suas regras de firewall, proteções Shield Advanced, grupos de segurança VPC e configurações de Network Firewall apenas uma vez, com o serviço aplicando automaticamente essas regras e proteções em suas contas e recursos, incluindo os recém-adicionados.

O serviço oferece a capacidade de agrupar e proteger recursos específicos juntos, como aqueles que compartilham uma tag comum ou todas as suas distribuições CloudFront. Uma vantagem significativa do Firewall Manager é sua capacidade de estender automaticamente a proteção para recursos recém-adicionados em sua conta.

Um grupo de regras (uma coleção de regras WAF) pode ser incorporado em uma Política do AWS Firewall Manager, que é então vinculada a recursos AWS específicos, como distribuições CloudFront ou balanceadores de carga de aplicativos.

O AWS Firewall Manager fornece listas de aplicativos e protocolos gerenciados para simplificar a configuração e gerenciamento de políticas de grupos de segurança. Essas listas permitem que você defina os protocolos e aplicativos permitidos ou negados por suas políticas. Existem dois tipos de listas gerenciadas:

  • Listas gerenciadas pelo Firewall Manager: Estas listas incluem FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed e FMS-Default-Protocols-Allowed. Elas são gerenciadas pelo Firewall Manager e incluem aplicativos e protocolos comumente usados que devem ser permitidos ou negados ao público em geral. Não é possível editá-las ou excluí-las, no entanto, você pode escolher sua versão.

  • Listas gerenciadas personalizadas: Você gerencia essas listas. Você pode criar listas de aplicativos e protocolos personalizadas adaptadas às necessidades de sua organização. Ao contrário das listas gerenciadas pelo Firewall Manager, essas listas não têm versões, mas você tem controle total sobre as listas personalizadas, permitindo que você as crie, edite e exclua conforme necessário.

É importante observar que as políticas do Firewall Manager permitem apenas ações de "Bloquear" ou "Contar" para um grupo de regras, sem a opção "Permitir".

Pré-requisitos

As seguintes etapas prévias devem ser concluídas antes de prosseguir para configurar o Firewall Manager para começar a proteger efetivamente os recursos de sua organização. Essas etapas fornecem a configuração fundamental necessária para que o Firewall Manager aplique políticas de segurança e garanta conformidade em todo o seu ambiente AWS:

  1. Junte-se e configure as Organizações da AWS: Garanta que sua conta AWS faça parte da organização AWS Organizations onde as políticas do AWS Firewall Manager estão planejadas para serem implantadas. Isso permite a gestão centralizada de recursos e políticas em várias contas AWS dentro da organização.

  2. Crie uma Conta de Administrador Padrão do AWS Firewall Manager: Estabeleça uma conta de administrador padrão especificamente para gerenciar as políticas de segurança do Firewall Manager. Esta conta será responsável por configurar e aplicar políticas de segurança em toda a organização. Apenas a conta de gerenciamento da organização pode criar contas de administrador padrão do Firewall Manager.

  3. Ative o AWS Config: Ative o AWS Config para fornecer ao Firewall Manager os dados de configuração e insights necessários para aplicar efetivamente as políticas de segurança. O AWS Config ajuda a analisar, auditar, monitorar e auditar as configurações e alterações de recursos, facilitando uma melhor gestão de segurança.

  4. Para Políticas de Terceiros, Inscreva-se no AWS Marketplace e Configure as Configurações de Terceiros: Se você planeja utilizar políticas de firewall de terceiros, inscreva-se nelas no AWS Marketplace e configure as configurações necessárias. Esta etapa garante que o Firewall Manager possa integrar e aplicar políticas de fornecedores de terceiros confiáveis.

  5. Para Políticas de Firewall de Rede e Firewall DNS, ative o compartilhamento de recursos: Ative o compartilhamento de recursos especificamente para as políticas de Firewall de Rede e Firewall DNS. Isso permite que o Firewall Manager aplique proteções de firewall às VPCs e resolução DNS de sua organização, aprimorando a segurança de rede.

  6. Para usar o AWS Firewall Manager em Regiões que são desativadas por padrão: Se você pretende usar o Firewall Manager em regiões da AWS que são desativadas por padrão, certifique-se de tomar as medidas necessárias para habilitar sua funcionalidade nessas regiões. Isso garante a aplicação consistente de segurança em todas as regiões onde sua organização opera.

Para mais informações, confira: Iniciando com as políticas AWS WAF do AWS Firewall Manager.

Tipos de políticas de proteção

O AWS Firewall Manager gerencia vários tipos de políticas para aplicar controles de segurança em diferentes aspectos da infraestrutura de sua organização:

  1. Política AWS WAF: Este tipo de política suporta tanto o AWS WAF quanto o AWS WAF Classic. Você pode definir quais recursos são protegidos pela política. Para políticas AWS WAF, você pode especificar conjuntos de grupos de regras para serem executados primeiro e por último no ACL da web. Além disso, os proprietários de contas podem adicionar regras e grupos de regras para serem executados entre esses conjuntos.

  2. Política Shield Advanced: Esta política aplica proteções do Shield Advanced em toda a organização para tipos de recursos especificados. Ajuda a proteger contra ataques DDoS e outras ameaças.

  3. Política de Grupo de Segurança Amazon VPC: Com esta política, você pode gerenciar grupos de segurança usados em toda a organização, aplicando um conjunto básico de regras em todo o seu ambiente AWS para controlar o acesso à rede.

  4. Política de Lista de Controle de Acesso à Rede (ACL) Amazon VPC: Este tipo de política lhe dá controle sobre as ACLs de rede usadas em sua organização, permitindo que você aplique um conjunto básico de ACLs de rede em todo o seu ambiente AWS.

  5. Política de Firewall de Rede: Esta política aplica proteção de Firewall de Rede AWS às VPCs de sua organização, aprimorando a segurança de rede filtrando o tráfego com base em regras predefinidas.

  6. Política de Firewall DNS do Amazon Route 53 Resolver: Esta política aplica proteções de Firewall DNS às VPCs de sua organização, ajudando a bloquear tentativas maliciosas de resolução de domínio e aplicar políticas de segurança para o tráfego DNS.

  7. Política de Firewall de Terceiros: Este tipo de política aplica proteções de firewalls de terceiros, que estão disponíveis por assinatura através do console AWS Marketplace. Isso permite que você integre medidas de segurança adicionais de fornecedores confiáveis em seu ambiente AWS.

  8. Política Palo Alto Networks Cloud NGFW: Esta política aplica proteções e pilhas de regras do Palo Alto Networks Cloud Next Generation Firewall (NGFW) às VPCs de sua organização, fornecendo prevenção avançada de ameaças e controles de segurança em nível de aplicativo.

  9. Política Fortigate Cloud Native Firewall (CNF) as a Service: Esta política aplica proteções do Fortigate Cloud Native Firewall (CNF) as a Service, oferecendo prevenção de ameaças líder do setor, firewall de aplicativos da web (WAF) e proteção de API adaptada para infraestruturas de nuvem.

Contas de administrador

O AWS Firewall Manager oferece flexibilidade na gestão de recursos de firewall dentro da sua organização através do seu escopo administrativo e dois tipos de contas de administrador.

O escopo administrativo define os recursos que um administrador do Firewall Manager pode gerir. Após uma conta de gestão da AWS Organizations integrar uma organização ao Firewall Manager, é possível criar administradores adicionais com diferentes escopos administrativos. Esses escopos podem incluir:

  • Contas ou unidades organizacionais (OUs) às quais o administrador pode aplicar políticas.

  • Regiões onde o administrador pode realizar ações.

  • Tipos de políticas do Firewall Manager que o administrador pode gerir.

O escopo administrativo pode ser total ou restrito. O escopo total concede ao administrador acesso a todos os tipos de recursos especificados, regiões e tipos de políticas. Em contraste, o escopo restrito fornece permissão administrativa apenas a um subconjunto de recursos, regiões ou tipos de políticas. É aconselhável conceder aos administradores apenas as permissões necessárias para desempenhar eficazmente suas funções. É possível aplicar qualquer combinação dessas condições de escopo administrativo a um administrador, garantindo a adesão ao princípio do menor privilégio.

Existem dois tipos distintos de contas de administrador, cada uma desempenhando funções e responsabilidades específicas:

  • Administrador Padrão:

  • A conta de administrador padrão é criada pela conta de gestão da organização da AWS Organizations durante o processo de integração ao Firewall Manager.

  • Esta conta tem a capacidade de gerir firewalls de terceiros e possui escopo administrativo total.

  • Serve como a conta de administrador principal do Firewall Manager, responsável por configurar e aplicar políticas de segurança em toda a organização.

  • Embora o administrador padrão tenha acesso total a todos os tipos de recursos e funcionalidades administrativas, ele opera no mesmo nível de pares que outros administradores se múltiplos administradores forem utilizados dentro da organização.

  • Administradores do Firewall Manager:

  • Esses administradores podem gerir recursos dentro do escopo designado pela conta de gestão da AWS Organizations, conforme definido pela configuração do escopo administrativo.

  • Os administradores do Firewall Manager são criados para cumprir funções específicas dentro da organização, permitindo a delegação de responsabilidades enquanto mantêm padrões de segurança e conformidade.

  • Após a criação, o Firewall Manager verifica com a AWS Organizations para determinar se a conta já é um administrador delegado. Caso contrário, o Firewall Manager chama a Organizations para designar a conta como um administrador delegado para o Firewall Manager.

Gerenciar essas contas de administrador envolve criá-las dentro do Firewall Manager e definir seus escopos administrativos de acordo com os requisitos de segurança da organização e o princípio do menor privilégio. Atribuindo funções administrativas apropriadas, as organizações podem garantir uma gestão eficaz da segurança, mantendo controle granular sobre o acesso a recursos sensíveis.

É importante destacar que apenas uma conta dentro de uma organização pode servir como o administrador padrão do Firewall Manager, aderindo ao princípio de "primeiro a entrar, último a sair". Para designar um novo administrador padrão, uma série de passos deve ser seguida:

  • Primeiramente, cada conta de administrador do Firewall Manager deve revogar sua própria conta.

  • Em seguida, o administrador padrão existente pode revogar sua própria conta, efetivamente desintegrando a organização do Firewall Manager. Esse processo resulta na exclusão de todas as políticas do Firewall Manager criadas pela conta revogada.

  • Para concluir, a conta de gestão da AWS Organizations deve designar o administrador padrão do Firewall Manager.

Enumeração

# Users/Administrators

## Get the AWS Organizations account that is associated with AWS Firewall Manager as the AWS Firewall Manager default administrator
aws fms get-admin-account

## List of Firewall Manager administrators within the organization
aws fms list-admin-accounts-for-organization # ReadOnlyAccess policy is not enough for this

## Return a list of the member accounts in the FM administrator's AWS organization
aws fms list-member-accounts # Only a Firewall Manager administrator or the Organization's management account can make this request

## List the accounts that are managing the specified AWS Organizations member account
aws fms list-admins-managing-account # ReadOnlyAccess policy is not enough for this

# Resources

## Get the resources that a Firewall Manager administrator can manage
aws fms get-admin-scope --admin-account <value> # ReadOnlyAccess policy is not enough for this

## Returns the summary of the resource sets used
aws fms list-resource-sets # ReadOnlyAccess policy is not enough for this

## Get information about a specific resource set
aws fms get-resource-set --identifier <value>  # ReadOnlyAccess policy is not enough for this

## Retrieve the list of tags for a given resource
aws fms list-tags-for-resource --resource-arn <value>

## List of the resources in the AWS Organization's accounts that are available to be associated with a FM resource set. Only one account is supported per request.
aws fms list-compliance-status --member-account-ids <value> --resource-type <value> # ReadOnlyAccess policy is not enough for this

## List the resources that are currently associated to a resource set
aws fms list-resource-set-resources --identifier <value> # ReadOnlyAccess policy is not enough for this

# Policies

## Returns the list of policies
aws fms list-policies

## Get information about the specified AWS Firewall Manager policy
aws fms get-policy --policy-id <value>

## List all of the third-party firewall policies that are associated with the third-party firewall administrator's account
aws fms list-third-party-firewall-firewall-policies --third-party-firewall <PALO_ALTO_NETWORKS_CLOUD_NGFW|FORTIGATE_CLOUD_NATIVE_FIREWALL> # ReadOnlyAccess policy is not enough for this

# AppsList

## Return a list of apps list
aws fms list-apps-lists --max-results [1-100]

## Get information about the specified AWS Firewall Manager applications list
aws fms get-apps-list --list-id <value>

# Protocols

## Get the details of the Firewall Manager protocols list.
aws fms list-protocols-lists

## Get information about the specified AWS Firewall Manager Protocols list
aws fms get-protocols-list --list-id <value>

# Compliance

## Return a summary of which member accounts are protected by the specified policy
aws fms list-compliance-status --policy-id <policy-id>

## Get detailed compliance information about the specified member account (resources that are in and out of compliance with the specified policy)
aws fms get-compliance-detail --policy-id <value> --member-account <value>

# Other useful info

## Get information about the SNS topic that is used to record AWS Firewall Manager SNS logs (if any)
aws fms get-notification-channel

## Get policy-level attack summary information in the event of a potential DDoS attack
aws fms get-protection-status --policy-id <value> # Just for Shield Advanced policy

## Get the onboarding status of a Firewall Manager admin account to third-party firewall vendor tenant.
aws fms get-third-party-firewall-association-status --third-party-firewall <PALO_ALTO_NETWORKS_CLOUD_NGFW|FORTIGATE_CLOUD_NATIVE_FIREWALL> # ReadOnlyAccess policy is not enough for this

## Get violations' details for a resource based on the specified AWS Firewall Manager policy and AWS account.
aws fms get-violation-details --policy-id <value> --member-account <value> --resource-id <value> --resource-type <value>

Pós-Exploração / Bypass de Detecção

organizations:DescribeOrganization & (fms:AssociateAdminAccount, fms:DisassociateAdminAccount, fms:PutAdminAccount)

Um atacante com permissão fms:AssociateAdminAccount seria capaz de definir a conta de administrador padrão do Firewall Manager. Com a permissão fms:PutAdminAccount, um atacante seria capaz de criar ou atualizar uma conta de administrador do Firewall Manager e com a permissão fms:DisassociateAdminAccount, um potencial atacante poderia remover a associação da conta de administrador atual do Firewall Manager.

  • A desassociação do administrador padrão do Firewall Manager segue a política de primeiro a entrar, último a sair. Todos os administradores do Firewall Manager devem ser desassociados antes que o administrador padrão do Firewall Manager possa desassociar a conta.

  • Para criar um administrador do Firewall Manager por meio de PutAdminAccount, a conta deve pertencer à organização que foi previamente integrada ao Firewall Manager usando AssociateAdminAccount.

  • A criação de uma conta de administrador do Firewall Manager só pode ser feita pela conta de gerenciamento da organização.

aws fms associate-admin-account --admin-account <value>
aws fms disassociate-admin-account
aws fms put-admin-account --admin-account <value>

Impacto Potencial: Perda de gestão centralizada, evasão de políticas, violações de conformidade e interrupção de controles de segurança dentro do ambiente.

fms:PutPolicy, fms:DeletePolicy

Um atacante com as permissões fms:PutPolicy, fms:DeletePolicy seria capaz de criar, modificar ou excluir permanentemente uma política do AWS Firewall Manager.

aws fms put-policy --policy <value> | --cli-input-json file://<policy.json> [--tag-list <value>]
aws fms delete-policy --policy-id <value> [--delete-all-policy-resources | --no-delete-all-policy-resources]

Um exemplo de política permissiva através de um grupo de segurança permissivo, a fim de contornar a detecção, poderia ser o seguinte:

{
"Policy": {
"PolicyName": "permisive_policy",
"SecurityServicePolicyData": {
"Type": "SECURITY_GROUPS_COMMON",
"ManagedServiceData": "{\"type\":\"SECURITY_GROUPS_COMMON\",\"securityGroups\":[{\"id\":\"<permisive_security_group_id>\"}], \"applyToAllEC2InstanceENIs\":\"true\",\"IncludeSharedVPC\":\"true\"}"
},
"ResourceTypeList": ["AWS::EC2::Instance", "AWS::EC2::NetworkInterface", "AWS::EC2::SecurityGroup", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ElasticLoadBalancing::LoadBalancer"],
"ResourceType": "AWS::EC2::SecurityGroup",
"ExcludeResourceTags": false,
"ResourceTags": [],
"RemediationEnabled": true
},
"TagList": []
}

Impacto Potencial: Desmantelamento de controles de segurança, evasão de políticas, violações de conformidade, interrupções operacionais e possíveis violações de dados dentro do ambiente.

fms:BatchAssociateResource, fms:BatchDisassociateResource, fms:PutResourceSet, fms:DeleteResourceSet

Um atacante com as permissões fms:BatchAssociateResource e fms:BatchDisassociateResource seria capaz de associar ou desassociar recursos de um conjunto de recursos do Firewall Manager, respectivamente. Além disso, as permissões fms:PutResourceSet e fms:DeleteResourceSet permitiriam a um atacante criar, modificar ou excluir esses conjuntos de recursos do AWS Firewall Manager.

# Associate/Disassociate resources from a resource set
aws fms batch-associate-resource --resource-set-identifier <value> --items <value>
aws fms batch-disassociate-resource --resource-set-identifier <value> --items <value>

# Create, modify or delete a resource set
aws fms put-resource-set --resource-set <value> [--tag-list <value>]
aws fms delete-resource-set --identifier <value>

Impacto Potencial: A adição de uma quantidade desnecessária de itens a um conjunto de recursos aumentará o nível de ruído no Serviço, potencialmente causando um DoS. Além disso, alterações nos conjuntos de recursos poderiam levar a uma interrupção de recursos, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutAppsList, fms:DeleteAppsList

Um atacante com as permissões fms:PutAppsList e fms:DeleteAppsList seria capaz de criar, modificar ou excluir listas de aplicativos do AWS Firewall Manager. Isso poderia ser crítico, pois aplicativos não autorizados poderiam ter acesso ao público em geral, ou o acesso a aplicativos autorizados poderia ser negado, causando um DoS.

aws fms put-apps-list --apps-list <value> [--tag-list <value>]
aws fms delete-apps-list --list-id <value>

Impacto Potencial: Isso poderia resultar em configurações incorretas, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutProtocolsList, fms:DeleteProtocolsList

Um atacante com as permissões fms:PutProtocolsList e fms:DeleteProtocolsList seria capaz de criar, modificar ou excluir listas de protocolos do AWS Firewall Manager. Da mesma forma que com listas de aplicativos, isso poderia ser crítico, uma vez que protocolos não autorizados poderiam ser usados pelo público em geral, ou o uso de protocolos autorizados poderia ser negado, causando um DoS.

aws fms put-protocols-list --apps-list <value> [--tag-list <value>]
aws fms delete-protocols-list --list-id <value>

Impacto Potencial: Isso poderia resultar em configurações incorretas, evasão de políticas, violações de conformidade e interrupção dos controles de segurança dentro do ambiente.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Um atacante com as permissões fms:PutNotificationChannel e fms:DeleteNotificationChannel seria capaz de excluir e designar a função IAM e o tópico do Amazon Simple Notification Service (SNS) que o Firewall Manager usa para registrar logs do SNS.

Para usar fms:PutNotificationChannel fora do console, é necessário configurar a política de acesso do tópico do SNS, permitindo que o SnsRoleName especificado publique logs do SNS. Se o SnsRoleName fornecido for uma função diferente da AWSServiceRoleForFMS, é necessário configurar um relacionamento de confiança para permitir que o principal de serviço do Firewall Manager, fms.amazonaws.com, assuma essa função.

Para obter informações sobre a configuração de uma política de acesso do SNS:

urlhttps://github.com/HackTricks-wiki/hacktricks-cloud/blob/pt/pentesting-cloud/aws-security/aws-services/aws-services/aws-sns-enum.md
aws fms put-notification-channel --sns-topic-arn <value> --sns-role-name <value>
aws fms delete-notification-channel

Impacto Potencial: Isso poderia levar a alertas de segurança perdidos, resposta a incidentes atrasada, possíveis violações de dados e interrupções operacionais dentro do ambiente.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Um atacante com as permissões fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall seria capaz de associar ou dissociar firewalls de terceiros para serem gerenciados centralmente através do AWS Firewall Manager.

Apenas o administrador padrão pode criar e gerenciar firewalls de terceiros.

```bash aws fms associate-third-party-firewall --third-party-firewall [PALO_ALTO_NETWORKS_CLOUD_NGFW | FORTIGATE_CLOUD_NATIVE_FIREWALL] aws fms disassociate-third-party-firewall --third-party-firewall [PALO_ALTO_NETWORKS_CLOUD_NGFW | FORTIGATE_CLOUD_NATIVE_FIREWALL] ``` **Impacto Potencial:** A dissociação levaria a uma evasão de política, violações de conformidade e interrupção dos controles de segurança dentro do ambiente. Por outro lado, a associação levaria a uma interrupção na alocação de custos e orçamento.

fms:TagResource, fms:UntagResource

Um atacante seria capaz de adicionar, modificar ou remover tags de recursos do Firewall Manager, interrompendo a alocação de custos da sua organização, rastreamento de recursos e políticas de controle de acesso com base em tags.

aws fms tag-resource --resource-arn <value> --tag-list <value>
aws fms untag-resource --resource-arn <value> --tag-keys <value>

Impacto Potencial: Disrupção da alocação de custos, rastreamento de recursos e políticas de controle de acesso baseadas em tags.

Referências

Aprenda hacking na AWS de zero a herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Última actualización