AWS - Firewall Manager Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Firewall Manager

AWS Firewall Manager simplifica la gestión y mantenimiento de AWS WAF, AWS Shield Advanced, grupos de seguridad de Amazon VPC y listas de control de acceso de red (ACL), y AWS Network Firewall, AWS Route 53 Resolver DNS Firewall y firewalls de terceros en múltiples cuentas y recursos. Te permite configurar tus reglas de firewall, protecciones avanzadas de Shield, grupos de seguridad de VPC y configuraciones de Network Firewall solo una vez, con el servicio aplicando automáticamente estas reglas y protecciones en todas tus cuentas y recursos, incluidos los recién agregados.

El servicio ofrece la capacidad de agrupar y proteger recursos específicos juntos, como aquellos que comparten una etiqueta común o todas tus distribuciones de CloudFront. Una ventaja significativa de Firewall Manager es su capacidad de extender automáticamente la protección a los recursos recién agregados en tu cuenta.

Un grupo de reglas (una colección de reglas de WAF) puede incorporarse en una Política de AWS Firewall Manager, que luego se vincula a recursos específicos de AWS como distribuciones de CloudFront o balanceadores de carga de aplicaciones.

AWS Firewall Manager proporciona listas de aplicaciones y protocolos administradas para simplificar la configuración y gestión de políticas de grupos de seguridad. Estas listas te permiten definir los protocolos y aplicaciones permitidos o denegados por tus políticas. Hay dos tipos de listas administradas:

  • Listas administradas por Firewall Manager: Estas listas incluyen FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed y FMS-Default-Protocols-Allowed. Son administradas por Firewall Manager e incluyen aplicaciones y protocolos comúnmente utilizados que deben permitirse o denegarse al público en general. No es posible editar o eliminarlas, sin embargo, puedes elegir su versión.

  • Listas administradas personalizadas: Tú administras estas listas. Puedes crear listas personalizadas de aplicaciones y protocolos adaptadas a las necesidades de tu organización. A diferencia de las listas administradas por Firewall Manager, estas listas no tienen versiones, pero tienes control total sobre las listas personalizadas, lo que te permite crear, editar y eliminarlas según sea necesario.

Es importante tener en cuenta que las políticas de Firewall Manager solo permiten acciones de "Bloquear" o "Contar" para un grupo de reglas, sin opción de "Permitir".

Requisitos previos

Los siguientes pasos previos deben completarse antes de proceder a configurar Firewall Manager para comenzar a proteger efectivamente los recursos de tu organización. Estos pasos proporcionan la configuración fundamental requerida para que Firewall Manager haga cumplir las políticas de seguridad y garantice el cumplimiento en tu entorno de AWS:

  1. Unirse y configurar AWS Organizations: Asegúrate de que tu cuenta de AWS sea parte de la organización de AWS Organizations donde se planea implementar las políticas de AWS Firewall Manager. Esto permite la gestión centralizada de recursos y políticas en múltiples cuentas de AWS dentro de la organización.

  2. Crear una Cuenta de Administrador Predeterminada de AWS Firewall Manager: Establece una cuenta de administrador predeterminada específicamente para administrar las políticas de seguridad de Firewall Manager. Esta cuenta será responsable de configurar y hacer cumplir las políticas de seguridad en toda la organización. Solo la cuenta de administración de la organización puede crear cuentas de administrador predeterminadas de Firewall Manager.

  3. Activar AWS Config: Activa AWS Config para proporcionar a Firewall Manager los datos de configuración e información necesarios para hacer cumplir efectivamente las políticas de seguridad. AWS Config ayuda a analizar, auditar, monitorear y auditar las configuraciones y cambios de recursos, facilitando una mejor gestión de la seguridad.

  4. Para Políticas de Terceros, Suscribirse en el AWS Marketplace y Configurar Ajustes de Terceros: Si planeas utilizar políticas de firewall de terceros, suscríbete a ellas en el AWS Marketplace y configura los ajustes necesarios. Este paso garantiza que Firewall Manager pueda integrar y hacer cumplir políticas de proveedores de terceros confiables.

  5. Para Políticas de Network Firewall y DNS Firewall, habilitar el intercambio de recursos: Habilita el intercambio de recursos específicamente para las políticas de Network Firewall y DNS Firewall. Esto permite que Firewall Manager aplique protecciones de firewall a las VPC de tu organización y a la resolución de DNS, mejorando la seguridad de la red.

  6. Para usar AWS Firewall Manager en Regiones que están deshabilitadas de forma predeterminada: Si planeas utilizar Firewall Manager en regiones de AWS que están deshabilitadas de forma predeterminada, asegúrate de tomar los pasos necesarios para habilitar su funcionalidad en esas regiones. Esto garantiza la aplicación consistente de la seguridad en todas las regiones donde opera tu organización.

Para obtener más información, consulta: Empezar con las políticas de AWS Firewall Manager AWS WAF.

Tipos de políticas de protección

AWS Firewall Manager administra varios tipos de políticas para hacer cumplir controles de seguridad en diferentes aspectos de la infraestructura de tu organización:

  1. Política de AWS WAF: Este tipo de política admite tanto AWS WAF como AWS WAF Classic. Puedes definir qué recursos están protegidos por la política. Para las políticas de AWS WAF, puedes especificar conjuntos de grupos de reglas para ejecutar primero y último en el ACL web. Además, los propietarios de cuentas pueden agregar reglas y grupos de reglas para ejecutar entre estos conjuntos.

  2. Política de Shield Advanced: Esta política aplica protecciones de Shield Advanced en toda tu organización para tipos de recursos especificados. Ayuda a proteger contra ataques DDoS y otras amenazas.

  3. Política de Grupo de Seguridad de Amazon VPC: Con esta política, puedes gestionar grupos de seguridad utilizados en toda tu organización, haciendo cumplir un conjunto básico de reglas en tu entorno de AWS para controlar el acceso a la red.

  4. Política de Lista de Control de Acceso de Red (ACL) de Amazon VPC: Este tipo de política te brinda control sobre las ACL de red utilizadas en tu organización, permitiéndote hacer cumplir un conjunto básico de ACL de red en tu entorno de AWS.

  5. Política de Network Firewall: Esta política aplica protección de AWS Network Firewall a las VPC de tu organización, mejorando la seguridad de la red al filtrar el tráfico según reglas predefinidas.

  6. Política de DNS Firewall de Amazon Route 53 Resolver: Esta política aplica protecciones de DNS Firewall a las VPC de tu organización, ayudando a bloquear intentos maliciosos de resolución de dominios y hacer cumplir políticas de seguridad para el tráfico de DNS.

  7. Política de Firewall de Terceros: Este tipo de política aplica protecciones de firewalls de terceros, que están disponibles mediante suscripción a través de la consola del AWS Marketplace. Te permite integrar medidas de seguridad adicionales de proveedores confiables en tu entorno de AWS.

  8. Política de Palo Alto Networks Cloud NGFW: Esta política aplica protecciones y conjuntos de reglas de Palo Alto Networks Cloud Next Generation Firewall (NGFW) a las VPC de tu organización, proporcionando prevención avanzada de amenazas y controles de seguridad a nivel de aplicación.

  9. Política de Fortigate Cloud Native Firewall (CNF) as a Service: Esta política aplica protecciones de Fortigate Cloud Native Firewall (CNF) as a Service, ofreciendo prevención de amenazas líder en la industria, firewall de aplicaciones web (WAF) y protección de API adaptada para infraestructuras en la nube.

Cuentas de administrador

AWS Firewall Manager ofrece flexibilidad en la gestión de recursos de firewall dentro de su organización a través de su alcance administrativo y dos tipos de cuentas de administrador.

El alcance administrativo define los recursos que un administrador de Firewall Manager puede gestionar. Después de que una cuenta de administración de AWS Organizations integra una organización en Firewall Manager, puede crear administradores adicionales con diferentes alcances administrativos. Estos alcances pueden incluir:

  • Cuentas o unidades organizativas (OUs) a las que el administrador puede aplicar políticas.

  • Regiones donde el administrador puede realizar acciones.

  • Tipos de políticas de Firewall Manager que el administrador puede gestionar.

El alcance administrativo puede ser completo o restringido. El alcance completo otorga al administrador acceso a todos los tipos de recursos especificados, regiones y tipos de políticas. En contraste, el alcance restringido proporciona permisos administrativos solo a un subconjunto de recursos, regiones o tipos de políticas. Es recomendable otorgar a los administradores solo los permisos que necesitan para cumplir eficazmente con sus roles. Puede aplicar cualquier combinación de estas condiciones de alcance administrativo a un administrador, asegurando el cumplimiento del principio de privilegio mínimo.

Existen dos tipos distintos de cuentas de administrador, cada una con roles y responsabilidades específicos:

  • Administrador predeterminado:

  • La cuenta de administrador predeterminado es creada por la cuenta de administración de la organización de AWS Organizations durante el proceso de integración en Firewall Manager.

  • Esta cuenta tiene la capacidad de gestionar firewalls de terceros y posee un alcance administrativo completo.

  • Sirve como la cuenta de administrador principal de Firewall Manager, responsable de configurar y hacer cumplir políticas de seguridad en toda la organización.

  • Si bien el administrador predeterminado tiene acceso completo a todos los tipos de recursos y funcionalidades administrativas, opera al mismo nivel de pares que otros administradores si se utilizan múltiples administradores dentro de la organización.

  • Administradores de Firewall Manager:

  • Estos administradores pueden gestionar recursos dentro del alcance designado por la cuenta de administración de AWS Organizations, según lo definido por la configuración de alcance administrativo.

  • Los administradores de Firewall Manager se crean para cumplir roles específicos dentro de la organización, permitiendo la delegación de responsabilidades mientras se mantienen estándares de seguridad y cumplimiento.

  • Al crearse, Firewall Manager verifica con AWS Organizations para determinar si la cuenta ya es un administrador delegado. Si no lo es, Firewall Manager llama a Organizations para designar la cuenta como administrador delegado para Firewall Manager.

La gestión de estas cuentas de administrador implica crearlas dentro de Firewall Manager y definir sus alcances administrativos de acuerdo con los requisitos de seguridad de la organización y el principio de privilegio mínimo. Al asignar roles administrativos apropiados, las organizaciones pueden garantizar una gestión efectiva de la seguridad mientras mantienen un control detallado sobre el acceso a recursos sensibles.

Es importante destacar que solo una cuenta dentro de una organización puede servir como administrador predeterminado de Firewall Manager, cumpliendo con el principio de "primero en entrar, último en salir". Para designar un nuevo administrador predeterminado, se deben seguir una serie de pasos:

  • Primero, cada cuenta de administrador de Firewall debe revocar su propia cuenta.

  • Luego, el administrador predeterminado existente puede revocar su propia cuenta, lo que efectivamente da de baja a la organización de Firewall Manager. Este proceso resulta en la eliminación de todas las políticas de Firewall Manager creadas por la cuenta revocada.

  • Para concluir, la cuenta de administración de AWS Organizations debe designar al administrador predeterminado de Firewall Manager.

Enumeración

# 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>

Post Explotación / Evadir Detección

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

Un atacante con el permiso fms:AssociateAdminAccount podría establecer la cuenta de administrador predeterminada de Firewall Manager. Con el permiso fms:PutAdminAccount, un atacante podría crear o actualizar una cuenta de administrador de Firewall Manager y con el permiso fms:DisassociateAdminAccount, un posible atacante podría eliminar la asociación de la cuenta de administrador actual de Firewall Manager.

  • La desasociación del administrador predeterminado de Firewall Manager sigue la política de primero en entrar, último en salir. Todos los administradores de Firewall Manager deben desasociarse antes de que el administrador predeterminado de Firewall Manager pueda desasociar la cuenta.

  • Para crear un administrador de Firewall Manager mediante PutAdminAccount, la cuenta debe pertenecer a la organización que fue previamente integrada en Firewall Manager usando AssociateAdminAccount.

  • La creación de una cuenta de administrador de Firewall Manager solo puede ser realizada por la cuenta de administración de la organización.

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

Impacto Potencial: Pérdida de gestión centralizada, evasión de políticas, violaciones de cumplimiento y alteración de controles de seguridad dentro del entorno.

fms:PutPolicy, fms:DeletePolicy

Un atacante con los permisos fms:PutPolicy, fms:DeletePolicy sería capaz de crear, modificar o eliminar permanentemente una política de 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]

Un ejemplo de política permisiva a través de un grupo de seguridad permisivo, con el fin de evadir la detección, podría ser el siguiente:

{
"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: Desmantelamiento de controles de seguridad, evasión de políticas, violaciones de cumplimiento, interrupciones operativas y posibles filtraciones de datos dentro del entorno.

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

Un atacante con los permisos fms:BatchAssociateResource y fms:BatchDisassociateResource podría asociar o desasociar recursos de un conjunto de recursos de Firewall Manager respectivamente. Además, los permisos fms:PutResourceSet y fms:DeleteResourceSet permitirían a un atacante crear, modificar o eliminar estos conjuntos de recursos de 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: La adición de una cantidad innecesaria de elementos a un conjunto de recursos aumentará el nivel de ruido en el Servicio, lo que potencialmente podría causar un DoS. Además, los cambios en los conjuntos de recursos podrían provocar una interrupción de recursos, evasión de políticas, violaciones de cumplimiento y la interrupción de controles de seguridad dentro del entorno.

fms:PutAppsList, fms:DeleteAppsList

Un atacante con los permisos fms:PutAppsList y fms:DeleteAppsList podría crear, modificar o eliminar listas de aplicaciones desde AWS Firewall Manager. Esto podría ser crítico, ya que aplicaciones no autorizadas podrían permitir el acceso al público en general, o se podría denegar el acceso a aplicaciones autorizadas, lo que causaría un DoS.

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

Impacto Potencial: Esto podría resultar en configuraciones incorrectas, evasión de políticas, violaciones de cumplimiento y alteración de controles de seguridad dentro del entorno.

fms:PutProtocolsList, fms:DeleteProtocolsList

Un atacante con los permisos fms:PutProtocolsList y fms:DeleteProtocolsList sería capaz de crear, modificar o eliminar listas de protocolos de AWS Firewall Manager. De manera similar a las listas de aplicaciones, esto podría ser crítico ya que protocolos no autorizados podrían ser utilizados por el público en general, o se podría denegar el uso de protocolos autorizados, causando un DoS.

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

Impacto potencial: Esto podría resultar en configuraciones incorrectas, evasión de políticas, violaciones de cumplimiento y alteración de controles de seguridad dentro del entorno.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Un atacante con los permisos fms:PutNotificationChannel y fms:DeleteNotificationChannel podría eliminar y designar el rol IAM y el tema de Amazon Simple Notification Service (SNS) que Firewall Manager utiliza para grabar registros de SNS.

Para utilizar fms:PutNotificationChannel fuera de la consola, es necesario configurar la política de acceso del tema de SNS, permitiendo que el SnsRoleName especificado publique registros de SNS. Si el SnsRoleName proporcionado es un rol distinto al AWSServiceRoleForFMS, se requiere una relación de confianza configurada para permitir que el principal de servicio de Firewall Manager fms.amazonaws.com asuma este rol.

Para obtener información sobre cómo configurar una política de acceso de SNS:

urlhttps://github.com/HackTricks-wiki/hacktricks-cloud/blob/es/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: Esto podría llevar potencialmente a perder alertas de seguridad, respuestas a incidentes retrasadas, posibles filtraciones de datos y interrupciones operativas dentro del entorno.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Un atacante con los permisos fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall podría asociar o disociar firewalls de terceros para ser gestionados de forma centralizada a través de AWS Firewall Manager.

Solo el administrador predeterminado puede crear y gestionar firewalls de terceros.

```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:** La disociación llevaría a una evasión de políticas, violaciones de cumplimiento y la interrupción de los controles de seguridad dentro del entorno. Por otro lado, la asociación llevaría a una interrupción de la asignación de costos y presupuesto.

fms:TagResource, fms:UntagResource

Un atacante podría agregar, modificar o eliminar etiquetas de los recursos de Firewall Manager, interrumpiendo la asignación de costos, el seguimiento de recursos y las políticas de control de acceso de su organización basadas en etiquetas.

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

Impacto potencial: Disrupción de la asignación de costos, seguimiento de recursos y políticas de control de acceso basadas en etiquetas.

Referencias

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización