AWS - Firewall Manager Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Gestionnaire de Pare-feu

AWS Firewall Manager simplifie la gestion et la maintenance de AWS WAF, AWS Shield Advanced, les groupes de sécurité Amazon VPC et les listes de contrôle d'accès réseau (ACL), et AWS Network Firewall, AWS Route 53 Resolver DNS Firewall et les pare-feu tiers sur plusieurs comptes et ressources. Il vous permet de configurer vos règles de pare-feu, les protections Shield Advanced, les groupes de sécurité VPC et les paramètres du pare-feu réseau une seule fois, le service appliquant automatiquement ces règles et protections sur l'ensemble de vos comptes et ressources, y compris les nouveaux ajouts.

Le service offre la possibilité de regrouper et protéger des ressources spécifiques ensemble, comme celles partageant une balise commune ou toutes vos distributions CloudFront. Un avantage significatif de Firewall Manager est sa capacité à étendre automatiquement la protection aux nouvelles ressources ajoutées dans votre compte.

Un groupe de règles (une collection de règles WAF) peut être incorporé dans une Politique AWS Firewall Manager, qui est ensuite liée à des ressources AWS spécifiques telles que les distributions CloudFront ou les équilibreurs de charge d'applications.

AWS Firewall Manager fournit des listes d'applications et de protocoles gérées pour simplifier la configuration et la gestion des politiques de groupe de sécurité. Ces listes vous permettent de définir les protocoles et applications autorisés ou refusés par vos politiques. Il existe deux types de listes gérées :

  • Listes gérées par Firewall Manager : Ces listes incluent FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed et FMS-Default-Protocols-Allowed. Elles sont gérées par Firewall Manager et incluent des applications et protocoles couramment utilisés qui devraient être autorisés ou refusés au grand public. Il n'est pas possible de les éditer ou de les supprimer, cependant, vous pouvez choisir leur version.

  • Listes gérées personnalisées : Vous gérez ces listes vous-même. Vous pouvez créer des listes d'applications et de protocoles personnalisées adaptées aux besoins de votre organisation. Contrairement aux listes gérées par Firewall Manager, ces listes n'ont pas de versions, mais vous avez un contrôle total sur les listes personnalisées, vous permettant de les créer, de les éditer et de les supprimer selon vos besoins.

Il est important de noter que les politiques de Firewall Manager ne permettent que des actions "Bloquer" ou "Compter" pour un groupe de règles, sans option "Autoriser".

Prérequis

Les étapes préalables suivantes doivent être complétées avant de procéder à la configuration du Gestionnaire de Pare-feu pour commencer à protéger efficacement les ressources de votre organisation. Ces étapes fournissent la configuration de base requise pour que le Gestionnaire de Pare-feu applique les politiques de sécurité et garantisse la conformité dans votre environnement AWS :

  1. Rejoindre et configurer les Organisations AWS : Assurez-vous que votre compte AWS fait partie de l'organisation AWS Organizations où les politiques du Gestionnaire de Pare-feu AWS doivent être implantées. Cela permet une gestion centralisée des ressources et des politiques sur plusieurs comptes AWS au sein de l'organisation.

  2. Créer un Compte Administrateur par Défaut du Gestionnaire de Pare-feu AWS : Établissez un compte administrateur par défaut spécifiquement pour la gestion des politiques de sécurité du Gestionnaire de Pare-feu. Ce compte sera responsable de la configuration et de l'application des politiques de sécurité dans toute l'organisation. Seul le compte de gestion de l'organisation est en mesure de créer des comptes administrateurs par défaut du Gestionnaire de Pare-feu.

  3. Activer AWS Config : Activez AWS Config pour fournir au Gestionnaire de Pare-feu les données de configuration et les informations nécessaires pour appliquer efficacement les politiques de sécurité. AWS Config aide à analyser, auditer, surveiller et auditer les configurations et les modifications des ressources, facilitant une meilleure gestion de la sécurité.

  4. Pour les Politiques de Pare-feu Tiers, Abonnez-vous sur le AWS Marketplace et Configurez les Paramètres des Tiers : Si vous prévoyez d'utiliser des politiques de pare-feu tiers, abonnez-vous à celles-ci sur le AWS Marketplace et configurez les paramètres nécessaires. Cette étape garantit que le Gestionnaire de Pare-feu peut intégrer et appliquer les politiques de fournisseurs tiers de confiance.

  5. Pour les Politiques de Pare-feu Réseau et de Pare-feu DNS, activer le partage de ressources : Activez le partage de ressources spécifiquement pour les politiques de pare-feu réseau et de pare-feu DNS. Cela permet au Gestionnaire de Pare-feu d'appliquer des protections pare-feu aux VPC et à la résolution DNS de votre organisation, renforçant la sécurité du réseau.

  6. Pour utiliser AWS Firewall Manager dans les régions désactivées par défaut : Si vous avez l'intention d'utiliser le Gestionnaire de Pare-feu dans des régions AWS désactivées par défaut, assurez-vous de prendre les mesures nécessaires pour activer sa fonctionnalité dans ces régions. Cela garantit une application cohérente de la sécurité dans toutes les régions où votre organisation opère.

Pour plus d'informations, consultez : Commencer avec les politiques AWS WAF du Gestionnaire de Pare-feu AWS.

Types de politiques de protection

AWS Firewall Manager gère plusieurs types de politiques pour appliquer des contrôles de sécurité sur différents aspects de l'infrastructure de votre organisation :

  1. Politique AWS WAF : Ce type de politique prend en charge à la fois AWS WAF et AWS WAF Classic. Vous pouvez définir quelles ressources sont protégées par la politique. Pour les politiques AWS WAF, vous pouvez spécifier des ensembles de groupes de règles à exécuter en premier et en dernier dans le web ACL. De plus, les propriétaires de compte peuvent ajouter des règles et des groupes de règles à exécuter entre ces ensembles.

  2. Politique Shield Advanced : Cette politique applique les protections Shield Advanced à travers votre organisation pour des types de ressources spécifiés. Elle aide à se protéger contre les attaques DDoS et autres menaces.

  3. Politique de Groupe de Sécurité Amazon VPC : Avec cette politique, vous pouvez gérer les groupes de sécurité utilisés dans toute votre organisation, en imposant un ensemble de règles de base dans votre environnement AWS pour contrôler l'accès réseau.

  4. Politique de Liste de Contrôle d'Accès Réseau (ACL) Amazon VPC : Ce type de politique vous donne le contrôle sur les ACL réseau utilisées dans votre organisation, vous permettant d'imposer un ensemble de règles ACL réseau de base dans votre environnement AWS.

  5. Politique de Pare-feu Réseau : Cette politique applique la protection du Pare-feu Réseau AWS aux VPC de votre organisation, renforçant la sécurité du réseau en filtrant le trafic en fonction de règles prédéfinies.

  6. Politique de Pare-feu DNS Resolver Amazon Route 53 : Cette politique applique des protections de pare-feu DNS Resolver aux VPC de votre organisation, aidant à bloquer les tentatives de résolution de domaine malveillantes et à appliquer des politiques de sécurité pour le trafic DNS.

  7. Politique de Pare-feu Tiers : Ce type de politique applique des protections de pare-feu tiers, disponibles par abonnement via la console AWS Marketplace. Il vous permet d'intégrer des mesures de sécurité supplémentaires de fournisseurs de confiance dans votre environnement AWS.

  8. Politique Palo Alto Networks Cloud NGFW : Cette politique applique les protections et les règles de Palo Alto Networks Cloud Next Generation Firewall (NGFW) aux VPC de votre organisation, offrant une prévention avancée des menaces et des contrôles de sécurité au niveau des applications.

  9. Politique Fortigate Cloud Native Firewall (CNF) en tant que Service : Cette politique applique les protections Fortigate Cloud Native Firewall (CNF) en tant que Service, offrant une prévention des menaces de premier plan, un pare-feu d'application web (WAF) et une protection API adaptée aux infrastructures cloud.

Comptes administrateurs

AWS Firewall Manager offre une flexibilité dans la gestion des ressources pare-feu au sein de votre organisation grâce à sa portée administrative et à deux types de comptes administrateurs.

La portée administrative définit les ressources qu'un administrateur de Firewall Manager peut gérer. Après qu'un compte de gestion d'AWS Organizations ait intégré une organisation à Firewall Manager, il peut créer des administrateurs supplémentaires avec différentes portées administratives. Ces portées peuvent inclure :

  • Comptes ou unités organisationnelles (UO) auxquels l'administrateur peut appliquer des politiques.

  • Régions où l'administrateur peut effectuer des actions.

  • Types de politiques de Firewall Manager que l'administrateur peut gérer.

La portée administrative peut être soit complète soit restreinte. Une portée complète accorde à l'administrateur l'accès à tous les types de ressources spécifiés, régions et types de politiques. En revanche, une portée restreinte accorde des autorisations administratives à seulement un sous-ensemble de ressources, régions ou types de politiques. Il est conseillé d'accorder aux administrateurs uniquement les autorisations dont ils ont besoin pour remplir efficacement leurs rôles. Vous pouvez appliquer n'importe quelle combinaison de ces conditions de portée administrative à un administrateur, garantissant ainsi le respect du principe du moindre privilège.

Il existe deux types distincts de comptes administrateurs, chacun remplissant des rôles et responsabilités spécifiques :

  • Administrateur par défaut :

  • Le compte administrateur par défaut est créé par le compte de gestion de l'organisation AWS Organizations lors du processus d'intégration à Firewall Manager.

  • Ce compte a la capacité de gérer des pare-feu tiers et possède une portée administrative complète.

  • Il sert de compte administrateur principal pour Firewall Manager, responsable de la configuration et de l'application des politiques de sécurité dans toute l'organisation.

  • Bien que l'administrateur par défaut ait un accès complet à tous les types de ressources et fonctionnalités administratives, il fonctionne au même niveau que les autres administrateurs si plusieurs administrateurs sont utilisés au sein de l'organisation.

  • Administrateurs de Firewall Manager :

  • Ces administrateurs peuvent gérer des ressources dans la portée désignée par le compte de gestion de l'organisation AWS Organizations, tel que défini par la configuration de la portée administrative.

  • Les administrateurs de Firewall Manager sont créés pour remplir des rôles spécifiques au sein de l'organisation, permettant la délégation des responsabilités tout en maintenant les normes de sécurité et de conformité.

  • À la création, Firewall Manager vérifie auprès d'AWS Organizations pour déterminer si le compte est déjà un administrateur délégué. Si ce n'est pas le cas, Firewall Manager appelle Organizations pour désigner le compte comme administrateur délégué pour Firewall Manager.

La gestion de ces comptes administrateurs implique de les créer au sein de Firewall Manager et de définir leurs portées administratives selon les exigences de sécurité de l'organisation et le principe du moindre privilège. En attribuant des rôles administratifs appropriés, les organisations peuvent garantir une gestion efficace de la sécurité tout en maintenant un contrôle granulaire sur l'accès aux ressources sensibles.

Il est important de souligner que un seul compte au sein d'une organisation peut servir de compte administrateur par défaut de Firewall Manager, en respectant le principe de "premier arrivé, dernier parti". Pour désigner un nouveau compte administrateur par défaut, une série d'étapes doit être suivie :

  • Tout d'abord, chaque compte administrateur de Firewall Manager doit révoquer son propre compte.

  • Ensuite, l'administrateur par défaut existant peut révoquer son propre compte, ce qui permet de retirer efficacement l'organisation de Firewall Manager. Ce processus entraîne la suppression de toutes les politiques de Firewall Manager créées par le compte révoqué.

  • Enfin, le compte de gestion d'AWS Organizations doit désigner le compte administrateur par défaut de Firewall Manager.

Énumération

# 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 Exploitation / Contourner la Détection

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

Un attaquant avec l'autorisation fms:AssociateAdminAccount serait capable de définir le compte administrateur par défaut de Firewall Manager. Avec l'autorisation fms:PutAdminAccount, un attaquant serait capable de créer ou mettre à jour un compte administrateur de Firewall Manager et avec l'autorisation fms:DisassociateAdminAccount, un attaquant potentiel pourrait supprimer l'association du compte administrateur actuel de Firewall Manager.

  • La dissociation du compte administrateur par défaut de Firewall Manager suit la politique du premier entré, dernier sorti. Tous les administrateurs de Firewall Manager doivent se dissocier avant que le compte administrateur par défaut de Firewall Manager puisse dissocier le compte.

  • Pour créer un administrateur de Firewall Manager avec PutAdminAccount, le compte doit appartenir à l'organisation qui a été précédemment intégrée à Firewall Manager en utilisant AssociateAdminAccount.

  • La création d'un compte administrateur de Firewall Manager ne peut être effectuée que par le compte de gestion de l'organisation.

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

Impact potentiel : Perte de gestion centralisée, évitement des politiques, violations de la conformité et perturbation des contrôles de sécurité dans l'environnement.

fms:PutPolicy, fms:DeletePolicy

Un attaquant avec les permissions fms:PutPolicy, fms:DeletePolicy serait capable de créer, modifier ou supprimer définitivement une politique 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 exemple de politique permissive à travers un groupe de sécurité permissif, afin de contourner la détection, pourrait être le suivant :

{
"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": []
}

Impact potentiel : Démantèlement des contrôles de sécurité, évitement des politiques, violations de la conformité, perturbations opérationnelles et potentielles violations de données au sein de l'environnement.

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

Un attaquant avec les autorisations fms:BatchAssociateResource et fms:BatchDisassociateResource serait capable d'associer ou de dissocier des ressources d'un ensemble de ressources de Firewall Manager respectivement. De plus, les autorisations fms:PutResourceSet et fms:DeleteResourceSet permettraient à un attaquant de créer, modifier ou supprimer ces ensembles de ressources 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>

Impact potentiel : L'ajout d'un nombre inutile d'éléments à un ensemble de ressources augmentera le niveau de bruit dans le Service, entraînant potentiellement un déni de service (DoS). De plus, des modifications des ensembles de ressources pourraient entraîner une perturbation des ressources, une évitement des politiques, des violations de la conformité et une perturbation des contrôles de sécurité dans l'environnement.

fms:PutAppsList, fms:DeleteAppsList

Un attaquant ayant les autorisations fms:PutAppsList et fms:DeleteAppsList serait capable de créer, modifier ou supprimer des listes d'applications à partir du Gestionnaire de pare-feu AWS. Cela pourrait être critique, car des applications non autorisées pourraient être autorisées à accéder au grand public, ou l'accès à des applications autorisées pourrait être refusé, entraînant un DoS.

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

Impact potentiel : Cela pourrait entraîner des mauvaises configurations, des évasions de politique, des violations de conformité et des perturbations des contrôles de sécurité dans l'environnement.

fms:PutProtocolsList, fms:DeleteProtocolsList

Un attaquant avec les autorisations fms:PutProtocolsList et fms:DeleteProtocolsList serait capable de créer, modifier ou supprimer des listes de protocoles à partir du Gestionnaire de pare-feu AWS. De même que pour les listes d'applications, cela pourrait être critique car des protocoles non autorisés pourraient être utilisés par le grand public, ou l'utilisation de protocoles autorisés pourrait être refusée, provoquant un déni de service (DoS).

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

Impact potentiel : Cela pourrait entraîner des mauvaises configurations, des évasions de politique, des violations de conformité et la perturbation des contrôles de sécurité au sein de l'environnement.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Un attaquant ayant les autorisations fms:PutNotificationChannel et fms:DeleteNotificationChannel serait capable de supprimer et de désigner le rôle IAM et le sujet Amazon Simple Notification Service (SNS) que Firewall Manager utilise pour enregistrer les journaux SNS.

Pour utiliser fms:PutNotificationChannel en dehors de la console, vous devez configurer la stratégie d'accès du sujet SNS, permettant au SnsRoleName spécifié de publier les journaux SNS. Si le SnsRoleName fourni est un rôle autre que le AWSServiceRoleForFMS, il nécessite une relation de confiance configurée pour permettre au principal de service Firewall Manager fms.amazonaws.com d'assumer ce rôle.

Pour plus d'informations sur la configuration d'une politique d'accès SNS :

urlhttps://github.com/HackTricks-wiki/hacktricks-cloud/blob/fr/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

Impact potentiel : Cela pourrait potentiellement entraîner des alertes de sécurité manquées, un temps de réponse aux incidents retardé, des violations de données potentielles et des perturbations opérationnelles au sein de l'environnement.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Un attaquant ayant les autorisations fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall serait en mesure d'associer ou de dissocier des pare-feu tiers de leur gestion centralisée via AWS Firewall Manager.

Seul l'administrateur par défaut peut créer et gérer des pare-feu tiers.

```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] ``` **Impact potentiel :** La dissociation entraînerait une évitement de politique, des violations de conformité et une perturbation des contrôles de sécurité au sein de l'environnement. L'association, quant à elle, entraînerait une perturbation de l'allocation des coûts et du budget.

fms:TagResource, fms:UntagResource

Un attaquant pourrait ajouter, modifier ou supprimer des tags des ressources du Gestionnaire de pare-feu, perturbant l'allocation des coûts, le suivi des ressources et les politiques de contrôle d'accès basées sur les tags.

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

Impact potentiel : Perturbation de l'allocation des coûts, du suivi des ressources et des politiques de contrôle d'accès basées sur les balises.

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour