AWS - Firewall Manager Enum

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Firewall Manager

AWS Firewall Manager semplifica la gestione e la manutenzione di AWS WAF, AWS Shield Advanced, gruppi di sicurezza Amazon VPC e liste di controllo degli accessi di rete (ACL), e AWS Network Firewall, AWS Route 53 Resolver DNS Firewall e firewall di terze parti su più account e risorse. Consente di configurare le regole del firewall, le protezioni Shield Advanced, i gruppi di sicurezza VPC e le impostazioni del Network Firewall solo una volta, con il servizio che applica automaticamente queste regole e protezioni su tutti i tuoi account e risorse, inclusi quelli appena aggiunti.

Il servizio offre la capacità di raggruppare e proteggere risorse specifiche insieme, come quelle che condividono un tag comune o tutte le tue distribuzioni CloudFront. Un vantaggio significativo di Firewall Manager è la sua capacità di estendere automaticamente la protezione alle risorse appena aggiunte nel tuo account.

Un gruppo di regole (una raccolta di regole WAF) può essere incorporato in una Policy di AWS Firewall Manager, che è poi collegata a risorse AWS specifiche come distribuzioni CloudFront o bilanciatori di carico delle applicazioni.

AWS Firewall Manager fornisce liste di applicazioni e protocolli gestite per semplificare la configurazione e la gestione delle politiche dei gruppi di sicurezza. Queste liste consentono di definire i protocolli e le applicazioni consentiti o negati dalle tue politiche. Ci sono due tipi di liste gestite:

  • Liste gestite da Firewall Manager: Queste liste includono FMS-Default-Public-Access-Apps-Allowed, FMS-Default-Protocols-Allowed e FMS-Default-Protocols-Allowed. Sono gestite da Firewall Manager e includono applicazioni e protocolli comunemente utilizzati che dovrebbero essere consentiti o negati al pubblico in generale. Non è possibile modificarle o eliminarle, tuttavia, è possibile scegliere la loro versione.

  • Liste gestite personalizzate: Gestisci queste liste tu stesso. Puoi creare liste di applicazioni e protocolli personalizzate adatte alle esigenze della tua organizzazione. A differenza delle liste gestite da Firewall Manager, queste liste non hanno versioni, ma hai il pieno controllo sulle liste personalizzate, consentendoti di crearle, modificarle ed eliminarle secondo necessità.

È importante notare che le policy di Firewall Manager consentono solo azioni "Blocca" o "Conta" per un gruppo di regole, senza l'opzione "Consenti".

Prerequisiti

I seguenti passaggi preliminari devono essere completati prima di procedere alla configurazione di Firewall Manager per iniziare a proteggere efficacemente le risorse della tua organizzazione. Questi passaggi forniscono l'installazione di base richiesta affinché Firewall Manager possa far rispettare le politiche di sicurezza e garantire la conformità in tutto l'ambiente AWS:

  1. Unisciti e configura AWS Organizations: Assicurati che il tuo account AWS faccia parte dell'organizzazione AWS Organizations dove sono previste le politiche di AWS Firewall Manager. Ciò consente la gestione centralizzata di risorse e politiche su più account AWS all'interno dell'organizzazione.

  2. Crea un Account Amministratore Predefinito di AWS Firewall Manager: Stabilisci un account amministratore predefinito specificamente per la gestione delle politiche di sicurezza di Firewall Manager. Questo account sarà responsabile della configurazione e dell'applicazione delle politiche di sicurezza in tutta l'organizzazione. Solo l'account di gestione dell'organizzazione è in grado di creare account amministrativi predefiniti di Firewall Manager.

  3. Abilita AWS Config: Attiva AWS Config per fornire a Firewall Manager i dati di configurazione e le informazioni necessarie per far rispettare efficacemente le politiche di sicurezza. AWS Config aiuta ad analizzare, verificare, monitorare e auditare le configurazioni e le modifiche delle risorse, facilitando una migliore gestione della sicurezza.

  4. Per le Politiche di Terze Parti, Iscriviti al Marketplace AWS e Configura le Impostazioni di Terze Parti: Se prevedi di utilizzare politiche di firewall di terze parti, iscriviti ad esse nel Marketplace AWS e configura le impostazioni necessarie. Questo passaggio garantisce che Firewall Manager possa integrare e far rispettare le politiche da fornitori di terze parti fidati.

  5. Per le Politiche del Network Firewall e del DNS Firewall, abilita la condivisione delle risorse: Abilita la condivisione delle risorse specificamente per le politiche del Network Firewall e del DNS Firewall. Ciò consente a Firewall Manager di applicare protezioni firewall alle VPC e alla risoluzione DNS della tua organizzazione, migliorando la sicurezza di rete.

  6. Per utilizzare AWS Firewall Manager nelle Regioni disabilitate per impostazione predefinita: Se prevedi di utilizzare Firewall Manager nelle regioni AWS disabilitate per impostazione predefinita, assicurati di compiere i passaggi necessari per abilitare la sua funzionalità in tali regioni. Ciò garantisce un'applicazione coerente della sicurezza in tutte le regioni in cui opera la tua organizzazione.

Per ulteriori informazioni, controlla: Iniziare con le politiche AWS WAF di AWS Firewall Manager.

Tipi di politiche di protezione

AWS Firewall Manager gestisce diversi tipi di politiche per far rispettare i controlli di sicurezza su diversi aspetti dell'infrastruttura della tua organizzazione:

  1. Politica AWS WAF: Questo tipo di politica supporta sia AWS WAF che AWS WAF Classic. Puoi definire quali risorse sono protette dalla politica. Per le politiche AWS WAF, puoi specificare insiemi di gruppi di regole da eseguire per primi e per ultimi nel web ACL. Inoltre, i proprietari degli account possono aggiungere regole e gruppi di regole da eseguire tra questi insiemi.

  2. Politica Shield Advanced: Questa politica applica protezioni Shield Advanced in tutta l'organizzazione per tipi di risorse specificati. Aiuta a proteggere contro attacchi DDoS e altre minacce.

  3. Politica Gruppo di Sicurezza Amazon VPC: Con questa politica, puoi gestire i gruppi di sicurezza utilizzati in tutta l'organizzazione, facendo rispettare un insieme di regole di base in tutto l'ambiente AWS per controllare l'accesso di rete.

  4. Politica Lista di Controllo degli Accessi di Rete Amazon VPC (ACL): Questo tipo di politica ti dà il controllo sulle ACL di rete utilizzate nella tua organizzazione, consentendoti di far rispettare un insieme di ACL di rete di base in tutto l'ambiente AWS.

  5. Politica Network Firewall: Questa politica applica la protezione del Network Firewall AWS alle VPC della tua organizzazione, migliorando la sicurezza di rete filtrando il traffico in base a regole predefinite.

  6. Politica DNS Firewall di Amazon Route 53 Resolver: Questa politica applica protezioni DNS Firewall alle VPC della tua organizzazione, aiutando a bloccare tentativi di risoluzione di domini dannosi e far rispettare politiche di sicurezza per il traffico DNS.

  7. Politica Firewall di Terze Parti: Questo tipo di politica applica protezioni da firewall di terze parti, disponibili tramite abbonamento tramite la console del Marketplace AWS. Ti consente di integrare misure di sicurezza aggiuntive da fornitori fidati nel tuo ambiente AWS.

  8. Politica Palo Alto Networks Cloud NGFW: Questa politica applica protezioni e stack di regole del Palo Alto Networks Cloud Next Generation Firewall (NGFW) alle VPC della tua organizzazione, fornendo prevenzione avanzata delle minacce e controlli di sicurezza a livello di applicazione.

  9. Politica Fortigate Cloud Native Firewall (CNF) as a Service: Questa politica applica protezioni Fortigate Cloud Native Firewall (CNF) as a Service, offrendo prevenzione delle minacce leader del settore, firewall delle applicazioni web (WAF) e protezione delle API personalizzate per le infrastrutture cloud.

Account amministrativi

AWS Firewall Manager offre flessibilità nella gestione delle risorse del firewall all'interno della tua organizzazione attraverso il suo ambito amministrativo e due tipi di account amministrativi.

L'ambito amministrativo definisce le risorse che un amministratore di Firewall Manager può gestire. Dopo che un account di gestione di AWS Organizations integra un'organizzazione in Firewall Manager, può creare amministratori aggiuntivi con diversi ambiti amministrativi. Questi ambiti possono includere:

  • Account o unità organizzative (OU) a cui l'amministratore può applicare le policy.

  • Regioni in cui l'amministratore può eseguire azioni.

  • Tipi di policy di Firewall Manager che l'amministratore può gestire.

L'ambito amministrativo può essere completo o limitato. L'ambito completo concede all'amministratore l'accesso a tutti i tipi di risorse specificati, regioni e tipi di policy. Al contrario, l'ambito limitato fornisce il permesso amministrativo solo a un sottoinsieme di risorse, regioni o tipi di policy. È consigliabile concedere agli amministratori solo le autorizzazioni di cui hanno bisogno per svolgere efficacemente i propri ruoli. È possibile applicare qualsiasi combinazione di queste condizioni di ambito amministrativo a un amministratore, garantendo il rispetto del principio del privilegio minimo.

Ci sono due tipi distinti di account amministrativi, ognuno con ruoli e responsabilità specifici:

  • Amministratore predefinito:

  • L'account amministratore predefinito viene creato dall'account di gestione dell'organizzazione di AWS Organizations durante il processo di integrazione in Firewall Manager.

  • Questo account ha la capacità di gestire firewall di terze parti e possiede un ambito amministrativo completo.

  • Serve come account amministratore principale per Firewall Manager, responsabile della configurazione e dell'applicazione delle policy di sicurezza in tutta l'organizzazione.

  • Sebbene l'amministratore predefinito abbia accesso completo a tutti i tipi di risorse e funzionalità amministrative, opera allo stesso livello di pari degli altri amministratori se vengono utilizzati più amministratori all'interno dell'organizzazione.

  • Amministratori di Firewall Manager:

  • Questi amministratori possono gestire risorse nell'ambito designato dall'account di gestione di AWS Organizations, come definito dalla configurazione dell'ambito amministrativo.

  • Gli amministratori di Firewall Manager vengono creati per svolgere ruoli specifici all'interno dell'organizzazione, consentendo la delega delle responsabilità mantenendo standard di sicurezza e conformità.

  • Alla creazione, Firewall Manager controlla con AWS Organizations per determinare se l'account è già un amministratore delegato. In caso contrario, Firewall Manager chiama Organizations per designare l'account come amministratore delegato per Firewall Manager.

La gestione di questi account amministrativi comporta la loro creazione all'interno di Firewall Manager e la definizione dei loro ambiti amministrativi in base ai requisiti di sicurezza dell'organizzazione e al principio del privilegio minimo. Assegnando ruoli amministrativi appropriati, le organizzazioni possono garantire una gestione efficace della sicurezza mantenendo un controllo granulare sull'accesso alle risorse sensibili.

È importante sottolineare che solo un account all'interno di un'organizzazione può fungere da amministratore predefinito di Firewall Manager, rispettando il principio del "primo dentro, ultimo fuori". Per designare un nuovo amministratore predefinito, è necessario seguire una serie di passaggi:

  • Prima, ciascun account amministratore di Firewall deve revocare il proprio account.

  • Successivamente, l'amministratore predefinito esistente può revocare il proprio account, effettuando di fatto il disimpegno dell'organizzazione da Firewall Manager. Questo processo comporta l'eliminazione di tutte le policy di Firewall Manager create dall'account revocato.

  • Per concludere, l'account di gestione di AWS Organizations deve designare l'amministratore predefinito di Firewall Manager.

Enumerazione

# 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 Esploitation / Bypass Rilevamento

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

Un attaccante con il permesso fms:AssociateAdminAccount sarebbe in grado di impostare l'account amministratore predefinito di Firewall Manager. Con il permesso fms:PutAdminAccount, un attaccante sarebbe in grado di creare o aggiornare un account amministratore di Firewall Manager e con il permesso fms:DisassociateAdminAccount, un potenziale attaccante potrebbe rimuovere l'associazione dell'account amministratore corrente di Firewall Manager.

  • La disassociazione dell'amministratore predefinito di Firewall Manager segue la politica del primo entrato, ultimo uscito. Tutti gli amministratori di Firewall Manager devono disassociarsi prima che l'amministratore predefinito di Firewall Manager possa disassociare l'account.

  • Per creare un amministratore di Firewall Manager tramite PutAdminAccount, l'account deve appartenere all'organizzazione che è stata precedentemente integrata in Firewall Manager utilizzando AssociateAdminAccount.

  • La creazione di un account amministratore di Firewall Manager può essere effettuata solo dall'account di gestione dell'organizzazione.

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

Impatto Potenziale: Perdita di gestione centralizzata, elusione delle policy, violazioni della conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutPolicy, fms:DeletePolicy

Un attaccante con i permessi fms:PutPolicy, fms:DeletePolicy sarebbe in grado di creare, modificare o eliminare definitivamente una policy di 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 esempio di politica permisiva attraverso un gruppo di sicurezza permisivo, al fine di eludere la rilevazione, potrebbe essere il seguente:

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

Impatto Potenziale: Smantellamento dei controlli di sicurezza, elusione delle policy, violazioni della conformità, interruzioni operative e possibili violazioni dei dati all'interno dell'ambiente.

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

Un attaccante con i permessi fms:BatchAssociateResource e fms:BatchDisassociateResource sarebbe in grado di associare o disassociare risorse da un insieme di risorse di Firewall Manager rispettivamente. Inoltre, i permessi fms:PutResourceSet e fms:DeleteResourceSet consentirebbero a un attaccante di creare, modificare o eliminare questi insiemi di risorse da 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>

Impatto Potenziale: L'aggiunta di una quantità non necessaria di elementi a un insieme di risorse aumenterà il livello di rumore nel Servizio, potenzialmente causando un DoS. Inoltre, le modifiche agli insiemi di risorse potrebbero portare a una interruzione delle risorse, all'elusione delle policy, alla violazione della conformità e alla interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutAppsList, fms:DeleteAppsList

Un attaccante con i permessi fms:PutAppsList e fms:DeleteAppsList sarebbe in grado di creare, modificare o eliminare elenchi di applicazioni da AWS Firewall Manager. Questo potrebbe essere critico, poiché applicazioni non autorizzate potrebbero ottenere accesso al pubblico generale, o l'accesso alle applicazioni autorizzate potrebbe essere negato, causando un DoS.

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

Impatto Potenziale: Ciò potrebbe risultare in configurazioni errate, elusione delle policy, violazioni della conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutProtocolsList, fms:DeleteProtocolsList

Un attaccante con i permessi fms:PutProtocolsList e fms:DeleteProtocolsList sarebbe in grado di creare, modificare o eliminare elenchi di protocolli da AWS Firewall Manager. Allo stesso modo degli elenchi delle applicazioni, ciò potrebbe essere critico poiché protocolli non autorizzati potrebbero essere utilizzati dal pubblico in generale, oppure l'uso di protocolli autorizzati potrebbe essere negato, causando un DoS.

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

Impatto Potenziale: Questo potrebbe risultare in configurazioni errate, elusione delle policy, violazioni della conformità e interruzione dei controlli di sicurezza all'interno dell'ambiente.

fms:PutNotificationChannel, fms:DeleteNotificationChannel

Un attaccante con i permessi fms:PutNotificationChannel e fms:DeleteNotificationChannel sarebbe in grado di eliminare e designare il ruolo IAM e il topic Amazon Simple Notification Service (SNS) che Firewall Manager utilizza per registrare i log di SNS.

Per utilizzare fms:PutNotificationChannel al di fuori della console, è necessario configurare la policy di accesso del topic SNS, consentendo al SnsRoleName specificato di pubblicare i log di SNS. Se il SnsRoleName fornito è un ruolo diverso dal AWSServiceRoleForFMS, è necessaria una relazione di trust configurata per consentire al principale del servizio Firewall Manager fms.amazonaws.com di assumere questo ruolo.

Per informazioni sulla configurazione di una policy di accesso SNS:

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

Impatto Potenziale: Questo potrebbe potenzialmente portare a mancate segnalazioni di sicurezza, ritardi nella risposta agli incidenti, possibili violazioni dei dati e interruzioni operative all'interno dell'ambiente.

fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall

Un attaccante con i permessi fms:AssociateThirdPartyFirewall, fms:DisssociateThirdPartyFirewall sarebbe in grado di associare o dissociare firewall di terze parti dal essere gestiti centralmente tramite AWS Firewall Manager.

Solo l'amministratore predefinito può creare e gestire firewall di terze parti.

```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] ``` **Impatto Potenziale:** La disassociazione porterebbe a un'elusione delle policy, violazioni della conformità e interruzioni dei controlli di sicurezza all'interno dell'ambiente. L'associazione, d'altra parte, porterebbe a un'interruzione dell'allocazione dei costi e del budget.

fms:TagResource, fms:UntagResource

Un attaccante sarebbe in grado di aggiungere, modificare o rimuovere tag dalle risorse di Firewall Manager, interrompendo l'allocazione dei costi dell'organizzazione, il tracciamento delle risorse e le policy di controllo degli accessi basate sui tag.

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

Impatto Potenziale: Disruzione dell'allocazione dei costi, del tracciamento delle risorse e delle politiche di controllo degli accessi basate su tag.

Riferimenti

Impara l'hacking su AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated