AWS - WAF Enum

AWS - WAF Enum

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

AWS WAF

AWS WAF je web aplikacioni firewall dizajniran da zaštiti web aplikacije ili API-je od različitih web eksploatacija koje mogu uticati na njihovu dostupnost, sigurnost ili potrošnju resursa. Omogućava korisnicima kontrolu nad dolaznim saobraćajem postavljanjem sigurnosnih pravila koja umanjuju tipične vektore napada poput SQL injection-a ili cross-site scripting-a, kao i definisanjem prilagođenih pravila filtriranja.

Ključni koncepti

Web ACL (Access Control List)

Web ACL je kolekcija pravila koja možete primeniti na svoje web aplikacije ili API-je. Kada povežete Web ACL sa resursom, AWS WAF inspicira dolazne zahteve na osnovu pravila definisanih u Web ACL i preduzima određene akcije.

Rule Group

Rule Group je ponovno upotrebljiva kolekcija pravila koju možete primeniti na više Web ACL-ova. Rule grupe pomažu u upravljanju i održavanju doslednih skupova pravila preko različitih web aplikacija ili API-ja.

Svaka rule grupa ima svoj kapacitet, koji pomaže u izračunavanju i kontroli resursa koji se koriste za pokretanje vaših pravila, rule grupa i web ACL-ova. Jednom kada se vrednost postavi prilikom kreiranja, nije moguće je menjati.

Pravilo

Pravilo definiše skup uslova koje AWS WAF koristi za inspekciju dolaznih web zahteva. Postoje dva glavna tipa pravila:

  1. Regularno Pravilo: Ovaj tip pravila koristi određene uslove da bi odredio da li treba dozvoliti, blokirati ili prebrojati web zahteve.

  2. Rate-Based Pravilo: Broji zahteve sa određene IP adrese tokom petominutnog perioda. Korisnici ovde definišu prag, i ako broj zahteva sa IP adrese premaši ovaj limit u roku od pet minuta, naknadni zahtevi sa te IP adrese su blokirani dok se stopa zahteva ne spusti ispod praga. Minimalni prag za rate-based pravila je 2000 zahteva.

Upravljana Pravila

AWS WAF nudi prekonfigurisane, upravljane setove pravila koje održavaju AWS i prodavci AWS Marketplace-a. Ovi setovi pravila pružaju zaštitu od uobičajenih pretnji i redovno se ažuriraju kako bi se adresovale nove ranjivosti.

IP Set

IP Set je lista IP adresa ili opsega IP adresa koje želite da dozvolite ili blokirate. IP setovi pojednostavljuju proces upravljanja IP baziranim pravilima.

Regex Pattern Set

Regex Pattern Set sadrži jedan ili više regularnih izraza (regex) koji definišu obrasce za pretragu u web zahtevima. Ovo je korisno za složenije scenarije uparivanja, kao što je filtriranje specifičnih sekvenci karaktera.

Lock Token

Lock Token se koristi za kontrolu konkurentnosti prilikom ažuriranja WAF resursa. On osigurava da promene ne budu slučajno prepisane od strane više korisnika ili procesa koji pokušavaju da ažuriraju isti resurs istovremeno.

API Ključevi

API Ključevi u AWS WAF-u se koriste za autentifikaciju zahteva ka određenim API operacijama. Ovi ključevi su enkriptovani i bezbedno upravljani kako bi se kontrolisao pristup i osiguralo da samo ovlašćeni korisnici mogu vršiti promene na WAF konfiguracijama.

  • Primer: Integracija CAPTCHA API-ja.

Politika Dozvola

Politika Dozvola je IAM politika koja specificira ko može vršiti akcije na AWS WAF resursima. Definisanjem dozvola, možete kontrolisati pristup WAF resursima i osigurati da samo ovlašćeni korisnici mogu kreirati, ažurirati ili brisati konfiguracije.

Opseg

Parametar opsega u AWS WAF-u specificira da li se WAF pravila i konfiguracije primenjuju na regionalnu aplikaciju ili Amazon CloudFront distribuciju.

  • REGIONAL: Primenjuje se na regionalne servise poput Application Load Balancer-a (ALB), Amazon API Gateway REST API-ja, AWS AppSync GraphQL API-ja, Amazon Cognito korisničkog bazena, AWS App Runner servisa i AWS Verified Access instance. Navodite AWS region gde se ovi resursi nalaze.

  • CLOUDFRONT: Primenjuje se na Amazon CloudFront distribucije, koje su globalne. WAF konfiguracije za CloudFront se upravljaju kroz region us-east-1 bez obzira gde se sadržaj servira.

Ključne funkcije

Kriterijumi praćenja (Uslovi)

Uslovi specificiraju elemente dolaznih HTTP/HTTPS zahteva koje AWS WAF prati, uključujući XSS, geografsku lokaciju (GEO), IP adrese, ograničenja veličine, SQL Injection i obrasce (stringove i regex uparivanje). Važno je napomenuti da zahtevi ograničeni na nivou CloudFront-a na osnovu zemlje neće stići do WAF-a.

Svaki AWS nalog može konfigurisati:

  • 100 uslova za svaki tip (osim za Regex, gde su dozvoljeni samo 10 uslova, ali ovaj limit može biti povećan).

  • 100 pravila i 50 Web ACL-ova.

  • Maksimalno 5 rate-based pravila.

  • Protok od 10,000 zahteva u sekundi kada se WAF implementira sa application load balancer-om.

Akcije pravila

Akcije su dodeljene svakom pravilu, sa opcijama:

  • Dozvoli: Zahtev se prosleđuje odgovarajućoj CloudFront distribuciji ili Application Load Balancer-u.

  • Blokiraj: Zahtev se odmah prekida.

  • Broj: Broji zahteve koji ispunjavaju uslove pravila. Ovo je korisno za testiranje pravila, potvrđujući tačnost pravila pre nego što se postavi na Dozvoli ili Blokiraj.

  • CAPTCHA i Izazov: Proverava se da li zahtev ne dolazi od bota korišćenjem CAPTCHA slagalica i tihih izazova.

Ako zahtev ne odgovara nijednom pravilu unutar Web ACL-a, prolazi kroz podrazumevanu akciju (Dozvoli ili Blokiraj). Redosled izvršenja pravila, definisan unutar Web ACL-a, je ključan i obično prati ovaj redosled:

  1. Dozvoli IP adrese na beloj listi.

  2. Blokiraj IP adrese na crnoj listi.

  3. Blokiraj zahteve koji odgovaraju bilo kojim štetnim potpisima.

CloudWatch Integracija

AWS WAF se integriše sa CloudWatch-om za praćenje, nudeći metrike poput DozvoljeniZahtevi, BlokiraniZahtevi, BrojaniZahtevi i ProšliZahtevi. Ove metrike se podnose svaki minut podrazumevano i zadržavaju se u periodu od dve nedelje.

Enumeracija

Da biste interagovali sa CloudFront distribucijama, morate specificirati Region US East (N. Virginia):

  • CLI - Specificirajte Region US East kada koristite CloudFront opseg: --scope CLOUDFRONT --region=us-east-1.

  • API i SDK-ovi - Za sve pozive, koristite Region endpoint us-east-1.

Da biste interagovali sa regionalnim servisima, trebalo bi da specificirate region:

  • Primer sa regionom Evropa (Španija): --scope REGIONAL --region=eu-south-2

# Web ACLs #

## Retrieve a list of web access control lists (Web ACLs) available in your AWS account
aws wafv2 list-web-acls --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve details about the specified Web ACL
aws wafv2 get-web-acl --name <value> --id <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

## Retrieve a list of resources associated with a specific web access control list (Web ACL)
aws wafv2 list-resources-for-web-acl --web-acl-arn <value> # Additional permissions needed depending on the protected resource type: cognito-idp:ListResourcesForWebACL, ec2:DescribeVerifiedAccessInstanceWebAclAssociations or apprunner:ListAssociatedServicesForWebAcl
## Retrieve the Web ACL associated with the specified AWS resource
aws wafv2 get-web-acl-for-resource --resource-arn <arn> # Additional permissions needed depending on the protected resource type: cognito-idp:GetWebACLForResource, ec2:GetVerifiedAccessInstanceWebAcl, wafv2:GetWebACL or apprunner:DescribeWebAclForService

# Rule groups #

## List of the rule groups available in your AWS account
aws wafv2 list-rule-groups --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve the details of a specific rule group
aws wafv2 get-rule-group [--name <value>] [--id <value>] [--arn <value>] [--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>]
## Retrieve the IAM policy attached to the specified rule group
aws wafv2 get-permission-policy --resource-arn <rule-group-arn> # Just the owner of the Rule Group can do this operation

# Managed rule groups (by AWS or by a third-party) #

## List the managed rule groups that are available
aws wafv2 list-available-managed-rule-groups --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## List the available versions of the specified managed rule group
aws wafv2 list-available-managed-rule-group-versions --vendor-name <value> --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve high-level information about a specific managed rule group
aws wafv2 describe-managed-rule-group --vendor-name <value> --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--version-name <value>]
## Retrieve high-level information about all managed rule groups
aws wafv2 describe-all-managed-products --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve high-level information about all managed rule groups from a specific vendor
aws wafv2 describe-managed-products-by-vendor --vendor-name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

# IP sets #

## List the IP sets that are available in your AWS account
aws wafv2 list-ip-sets --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve the specific IP set
aws wafv2 get-ip-set --name <value> --id <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve the keys that are currently being managed by a rate-based rule.
aws wafv2 get-rate-based-statement-managed-keys --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>\
--web-acl-name <value> --web-acl-id <value> --rule-name <value> [--rule-group-rule-name <value>]

# Regex pattern sets #

## List all the regex pattern sets that you manage
aws wafv2 list-regex-pattern-sets --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieves the specified regex pattern sets
aws wafv2 get-regex-pattern-set --name <value> --id <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

# API Keys #

## List API keys for the specified scope
aws wafv2 list-api-keys --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
## Retrieve decrypted API key
aws wafv2 get-decrypted-api-key --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --api-key <value>

# Logs #

## List of logging configurations (storage location of the logs)
aws wafv2 list-logging-configurations --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--log-scope <value>]
## Retrieve the logging configuration settings associated with a specific web ACL
aws wafv2 get-logging-configuration --resource-arn <value> [--log-scope <CUSTOMER | SECURITY_LAKE>] [--log-type <value>]

# Miscelaneous #

## Retrieve a list of the tags associated to the specified resource
aws wafv2 list-tags-for-resource resource-arn <value>

## Retrieve a sample of web requests that match a specified rule within a WebACL during a specified time range
aws wafv2 get-sampled-requests --web-acl-arn <value> --rule-metric-name <value> --time-window <value> --max-items <1-500> --scope <value>

## Obtains the web ACL capacity unit (WCU) requirements for a specified scope and ruleset
aws wafv2 check-capacity --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --rules <value>

## List of available releases for the AWS WAFv2 mobile SDK
aws wafv2 list-mobile-sdk-releases --platform <IOS | ANDROID>
## Retrieves information for the specified mobile SDK release
aws wafv2 get-mobile-sdk-release --platform <value> --release-version <value>

Post Eksploatacija / Bypass

Sa perspektive napadača, ovaj servis može pomoći napadaču da identifikuje WAF zaštite i mrežne ekspozicije koje bi mu mogle pomoći da kompromituje druge veb stranice.

Međutim, napadač bi takođe mogao biti zainteresovan za ometanje ovog servisa kako veb stranice ne bi bile zaštićene od WAF-a.

U mnogim operacijama Brisanja i Ažuriranja bilo bi potrebno pružiti token za zaključavanje. Ovaj token se koristi za kontrolu konkurentnosti nad resursima, osiguravajući da promene ne budu slučajno prepisane od strane više korisnika ili procesa koji pokušavaju da ažuriraju isti resurs istovremeno. Da biste dobili ovaj token, možete izvršiti odgovarajuće list ili get operacije nad određenim resursom.

wafv2:CreateRuleGroup, wafv2:UpdateRuleGroup, wafv2:DeleteRuleGroup

Napadač bi mogao ugroziti sigurnost pogođenog resursa tako što bi:

  • Kreirao grupe pravila koje bi, na primer, mogle blokirati legitimni saobraćaj sa legitimnih IP adresa, uzrokujući uskraćivanje usluge.

  • Ažurirao grupe pravila, mogući da izmeni njihove akcije, na primer sa Blokiraj na Dozvoli.

  • Brisanje grupa pravila koje pružaju ključne sigurnosne mere.

# Create Rule Group
aws wafv2 create-rule-group --name <value> --capacity <value> --visibility-config <value> \
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--description <value>]
# Update Rule Group
aws wafv2 update-rule-group --name <value> --id <value> --visibility-config <value> --lock-token <value>\
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--description <value>]
# Delete Rule Group
aws wafv2 delete-rule-group --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Sledeći primeri pokazuju grupu pravila koja bi blokirala legitiman saobraćaj sa određenih IP adresa:

aws wafv2 create-rule-group --name BlockLegitimateIPsRuleGroup --capacity 1 --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=BlockLegitimateIPsRuleGroup --scope CLOUDFRONT --region us-east-1 --rules file://rule.json

Fajl rule.json bi izgledao ovako:

[
{
"Name":"BlockLegitimateIPsRule",
"Priority":0,
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:us-east-1:123456789012:global/ipset/legitIPv4/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
},
"Action":{
"Block":{}
},
"VisibilityConfig":{
"SampledRequestsEnabled":false,
"CloudWatchMetricsEnabled":false,
"MetricName":"BlockLegitimateIPsRule"
}
}
]

Potencijalni uticaj: Neovlašćen pristup, povrede podataka i potencijalni DoS napadi.

wafv2:CreateWebACL, wafv2:UpdateWebACL, wafv2:DeleteWebACL

Sa ovim dozvolama, napadač bi bio u mogućnosti da:

  • Kreira novi Web ACL, uvodeći pravila koja ili dozvoljavaju zlonamerni saobraćaj ili blokiraju legitimni saobraćaj, efikasno čineći WAF beskorisnim ili izazivajući odbijanje usluge.

  • Ažurira postojeće Web ACL-ove, mogući da modifikuje pravila kako bi dozvolio napade poput SQL ubacivanja ili skriptovanja preko stranica, koji su prethodno blokirani, ili da poremeti normalan tok saobraćaja blokiranjem validnih zahteva.

  • Obriše Web ACL, ostavljajući pogođene resurse potpuno nezaštićenim, izlažući ih širokom spektru web napada.

Možete obrisati navedeni WebACL samo ako je ManagedByFirewallManager false.

# Create Web ACL
aws wafv2 create-web-acl --name <value> --default-action <value> --visibility-config <value> \
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--captcha-config <value>] [--description <value>]
# Update Web ACL
aws wafv2 update-web-acl --name <value> --id <value> --default-action <value> --visibility-config <value> --lock-token <value>\
--scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--rules <value>] [--captcha-config <value>] [--description <value>]
# Delete Web ACL
aws wafv2 delete-web-acl --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Originalni Web ACL:

{
"WebACL": {
"Name": "AllowLegitimateIPsWebACL",
"Id": "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f",
"ARN": "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/AllowLegitimateIPsWebACL/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f",
"DefaultAction": {
"Allow": {}
},
"Description": "",
"Rules": [
{
"Name": "AllowLegitimateIPsRule",
"Priority": 0,
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:us-east-1:123456789012:regional/ipset/LegitimateIPv4/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
},
"Action": {
"Allow": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": false,
"CloudWatchMetricsEnabled": false,
"MetricName": "AllowLegitimateIPsRule"
}
}
],
"VisibilityConfig": {
"SampledRequestsEnabled": false,
"CloudWatchMetricsEnabled": false,
"MetricName": "AllowLegitimateIPsWebACL"
},
"Capacity": 1,
"ManagedByFirewallManager": false,
"LabelNamespace": "awswaf:123456789012:webacl:AllowLegitimateIPsWebACL:"
},
"LockToken": "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}

Komanda za ažuriranje Web ACL-a:

aws waf update-web-acl --web-acl-id <web-acl-id> --updates Action=INSERT,ActivatedRule={Priority=1,RuleId=<rule-id>}
aws wafv2 update-web-acl --name AllowLegitimateIPsWebACL --scope REGIONAL --id 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --lock-token 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --default-action Block={} --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=AllowLegitimateIPsWebACL --rules file://rule.json --region us-east-1

Fajl rule.json bi izgledao ovako:

[
{
"Name": "BlockLegitimateIPsRule",
"Priority": 0,
"Statement": {
"IPSetReferenceStatement": {
"ARN": "arn:aws:wafv2:us-east-1:123456789012:regional/ipset/LegitimateIPv4/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
},
"Action": {
"Block": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": false,
"CloudWatchMetricsEnabled": false,
"MetricName": "BlockLegitimateIPRule"
}
}
]

Potencijalni uticaj: Neovlašćen pristup, curenje podataka i potencijalni DoS napadi.

wafv2:AssociateWebACL, wafv2:DisassociateWebACL

Dozvola wafv2:AssociateWebACL omogućila bi napadaču da poveže web ACL-ove (Access Control List) sa resursima, omogućavajući zaobilaženje sigurnosnih kontrola, dozvoljavajući neovlašćenom saobraćaju da dostigne aplikaciju, potencijalno dovodeći do eksploatacije kao što su SQL injection ili cross-site scripting (XSS). S druge strane, sa dozvolom wafv2:DisassociateWebACL, napadač bi mogao privremeno onemogućiti sigurnosne zaštite, izlažući resurse ranjivostima bez otkrivanja.

Dodatne dozvole bi bile potrebne u zavisnosti od tipa zaštićenog resursa:

  • Povezivanje

  • apigateway:SetWebACL

  • apprunner:AssociateWebAcl

  • appsync:SetWebACL

  • cognito-idp:AssociateWebACL

  • ec2:AssociateVerifiedAccessInstanceWebAcl

  • elasticloadbalancing:SetWebAcl

  • Razdvajanje

  • apigateway:SetWebACL

  • apprunner:DisassociateWebAcl

  • appsync:SetWebACL

  • cognito-idp:DisassociateWebACL

  • ec2:DisassociateVerifiedAccessInstanceWebAcl

  • elasticloadbalancing:SetWebAcl

# Associate
aws wafv2 associate-web-acl --web-acl-arn <value> --resource-arn <value>
# Disassociate
aws wafv2 disassociate-web-acl --resource-arn <value>

Potencijalni Uticaj: Ugrožena sigurnost resursa, povećan rizik od eksploatacije i potencijalne prekide usluga unutar AWS okruženja zaštićenog AWS WAF-om.

wafv2:CreateIPSet, wafv2:UpdateIPSet, wafv2:DeleteIPSet

Napadač bi bio u mogućnosti da kreira, ažurira i obriše IP setove koje upravlja AWS WAF-om. Ovo može biti opasno jer bi mogao da kreira nove IP setove kako bi omogućio zlonamerni saobraćaj, modifikuje IP setove kako bi blokirao legitimni saobraćaj, ažurira postojeće IP setove da uključi zlonamerne IP adrese, ukloni pouzdane IP adrese ili obriše ključne IP setove koji su namenjeni zaštititi ključne resurse.

# Create IP set
aws wafv2 create-ip-set --name <value> --ip-address-version <IPV4 | IPV6> --addresses <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
# Update IP set
aws wafv2 update-ip-set --name <value> --id <value> --addresses <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
# Delete IP set
aws wafv2 delete-ip-set --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Sledeći primer pokazuje kako prepisati postojeći IP set željenim IP setom:

aws wafv2 update-ip-set --name LegitimateIPv4Set --id 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --addresses 99.99.99.99/32 --lock-token 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --scope CLOUDFRONT --region us-east-1

Potencijalni uticaj: Neovlašćen pristup i blokiranje legitimnog saobraćaja.

wafv2:CreateRegexPatternSet, wafv2:UpdateRegexPatternSet, wafv2:DeleteRegexPatternSet

Napadač sa ovim ovlašćenjima bio bi u mogućnosti da manipuliše skupovima regularnih izraza koje koristi AWS WAF kako bi kontrolisao i filtrirao dolazni saobraćaj na osnovu specifičnih obrazaca.

  • Kreiranje novih regex obrazaca bi pomoglo napadaču da omogući štetan sadržaj

  • Ažuriranjem postojećih obrazaca, napadač bi mogao da zaobiđe sigurnosna pravila

  • Brisanje obrazaca koji su dizajnirani da blokiraju zlonamerne aktivnosti moglo bi dovesti napadača do slanja zlonamernih payload-ova i zaobilaženja sigurnosnih mera.

# Create regex pattern set
aws wafv2 create-regex-pattern-set --name <value> --regular-expression-list <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--description <value>]
# Update regex pattern set
aws wafv2 update-regex-pattern-set --name <value> --id <value> --regular-expression-list <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
# Delete regex pattern set
aws wafv2 delete-regex-pattern-set --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --id <value> --lock-token <value>

Potencijalni uticaj: Zaobilaženje sigurnosnih kontrola, omogućavanje zlonamernog sadržaja i potencijalno otkrivanje osetljivih podataka ili ometanje usluga i resursa zaštićenih od strane AWS WAF.

(wavf2:PutLoggingConfiguration & iam:CreateServiceLinkedRole), wafv2:DeleteLoggingConfiguration

Napadač sa dozvolom wafv2:DeleteLoggingConfiguration bio bi u mogućnosti da ukloni konfiguraciju beleženja sa određenog Web ACL-a. Nakon toga, sa dozvolama wavf2:PutLoggingConfiguration i iam:CreateServiceLinkedRole, napadač bi mogao da kreira ili zameni konfiguracije beleženja (nakon što je obrisao) kako bi sprečio beleženje u potpunosti ili preusmerio zapise ka neovlašćenim odredištima, poput Amazon S3 kanti, Amazon CloudWatch Logs grupe zapisa ili Amazon Kinesis Data Firehose pod kontrolom.

Tokom procesa kreiranja, servis automatski postavlja neophodne dozvole kako bi omogućio pisanje zapisa na određeno odredište beleženja:

  • Amazon CloudWatch Logs: AWS WAF kreira pravilo resursa na određenoj CloudWatch Logs grupi zapisa. Ovo pravilo osigurava da AWS WAF ima potrebne dozvole za pisanje zapisa u grupu zapisa.

  • Amazon S3 kanta: AWS WAF kreira pravilo kante na određenoj S3 kanti. Ovo pravilo dodeljuje AWS WAF-u dozvole neophodne za otpremanje zapisa na određenu kantu.

  • Amazon Kinesis Data Firehose: AWS WAF kreira ulogu specifičnu za servis za interakciju sa Kinesis Data Firehose-om. Ova uloga omogućava AWS WAF-u da dostavlja zapise ka konfigurisanom Firehose toku.

Moguće je definisati samo jedno odredište beleženja po web ACL-u.

```bash # Put logging configuration aws wafv2 put-logging-configuration --logging-configuration # Delete logging configuration aws wafv2 delete-logging-configuration --resource-arn [--log-scope ] [--log-type ] ``` **Potencijalni uticaj:** Otežava vidljivost događaja vezanih za bezbednost, otežava proces odgovora na incidente i olakšava prikrivene zlonamerne aktivnosti unutar okruženja zaštitenog AWS WAF-om.

wafv2:DeleteAPIKey

Napadač sa ovim dozvolama bio bi u mogućnosti da obriše postojeće API ključeve, čime bi CAPTCHA postala neefikasna i poremetila funkcionalnost koja zavisi od nje, kao što su podnošenje obrazaca i kontrola pristupa. Zavisno od implementacije ove CAPTCHA-e, ovo bi moglo dovesti ili do zaobilaženja CAPTCHA-e ili do DoS napada ako upravljanje greškama nije pravilno postavljeno na resursu.

# Delete API key
aws wafv2 delete-api-key --api-key <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>

Potencijalni uticaj: Onemogućavanje CAPTCHA zaštite ili ometanje funkcionalnosti aplikacije, što može dovesti do sigurnosnih propusta i potencijalne krađe podataka.

wafv2:TagResource, wafv2:UntagResource

Napadač bi bio u mogućnosti da dodaje, modifikuje ili uklanja oznake sa AWS WAFv2 resursa, kao što su Web ACL-ovi, grupa pravila, IP setovi, regex šablon setovi i konfiguracije beleženja.

# Tag
aws wafv2 tag-resource --resource-arn <value> --tags <value>
# Untag
aws wafv2 untag-resource --resource-arn <value> --tag-keys <value>

Potencijalni uticaj: Menjanje resursa, otkrivanje informacija, manipulacija troškovima i operativne smetnje.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated