AWS - WAF Enum
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die š¬ Discord group of die telegram group of volg ons op Twitter š¦ @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
AWS WAF
AWS WAF is ān webtoepassing vuurmuur wat ontwerp is om webtoepassings of APIās te beskerm teen verskeie webaanvalle wat hul beskikbaarheid, sekuriteit of hulpbronverbruik kan beĆÆnvloed. Dit stel gebruikers in staat om inkomende verkeer te beheer deur sekuriteitsreĆ«ls op te stel wat tipiese aanvalsvektore soos SQL-inspuiting of kruis-webskripting verminder en ook deur pasgemaakte filtrasie-reĆ«ls te definieer.
Sleutelkonsepte
Web ACL (Toegang Beheerlys)
ān Web ACL is ān versameling reĆ«ls wat jy op jou webtoepassings of APIās kan toepas. Wanneer jy ān Web ACL met ān hulpbron assosieer, ondersoek AWS WAF inkomende versoeke gebaseer op die reĆ«ls wat in die Web ACL gedefinieer is en neem die gespesifiseerde aksies.
Reƫlgroep
ān ReĆ«lgroep is ān herbruikbare versameling reĆ«ls wat jy op verskeie Web ACLs kan toepas. ReĆ«lgroepe help om konsekwente reĆ«lstelle oor verskillende webtoepassings of APIās te bestuur en te onderhou.
Elke reƫlgroep het sy eie kapasiteit, wat help om die bedryfsbronne wat gebruik word om jou reƫls, reƫlgroepe en web ACLs te bestuur, te bereken en te beheer. Sodra die waarde tydens die skepping gestel is, is dit nie moontlik om dit te wysig nie.
Reƫl
ān ReĆ«l definieer ān stel voorwaardes wat AWS WAF gebruik om inkomende webversoeke te ondersoek. Daar is twee hoofsoorte reĆ«ls:
- Reguliere Reƫl: Hierdie reƫl tipe gebruik gespesifiseerde voorwaardes om te bepaal of webversoeke toegelaat, geblokkeer of getel moet word.
- Tarief-gebaseerde ReĆ«l: Tel versoeke van ān spesifieke IP-adres oor ān vyf-minuut periode. Hier definieer gebruikers ān drempel, en as die aantal versoeke van ān IP hierdie limiet binne vyf minute oorskry, word daaropvolgende versoeke van daardie IP geblokkeer totdat die versoektarief onder die drempel daal. Die minimum drempel vir tarief-gebaseerde reĆ«ls is 2000 versoeke.
Geverifieerde Reƫls
AWS WAF bied vooraf-gekonfigureerde, geverifieerde reƫlstelle wat deur AWS en AWS Marketplace verkopers onderhou word. Hierdie reƫlstelle bied beskerming teen algemene bedreigings en word gereeld opgedateer om nuwe kwesbaarhede aan te spreek.
IP Stel
ān IP Stel is ān lys van IP-adresse of IP-adresreekse wat jy wil toelaat of blokkeer. IP stelle vereenvoudig die proses om IP-gebaseerde reĆ«ls te bestuur.
Regex Patroon Stel
ān Regex Patroon Stel bevat een of meer regulĆŖre uitdrukkings (regex) wat patrone definieer om in webversoeke te soek. Dit is nuttig vir meer komplekse ooreenkoms scenarioās, soos om spesifieke volgordes van karakters te filtreer.
Lock Token
ān Lock Token word gebruik vir mededingingsbeheer wanneer opdaterings aan WAF-hulpbronne gemaak word. Dit verseker dat veranderinge nie per ongeluk deur verskeie gebruikers of prosesse wat probeer om dieselfde hulpbron gelyktydig op te dateer, oorgeskryf word nie.
API Sleutels
API Sleutels in AWS WAF word gebruik om versoeke na sekere API operasies te verifieer. Hierdie sleutels is versleuteld en veilig bestuur om toegang te beheer en te verseker dat slegs gemagtigde gebruikers veranderinge aan WAF-konfigurasies kan aanbring.
- Voorbeeld: Integrasie van die CAPTCHA API.
Toestemming Beleid
ān Toestemming Beleid is ān IAM beleid wat spesifiseer wie aksies op AWS WAF-hulpbronne kan uitvoer. Deur toestemmings te definieer, kan jy toegang tot WAF-hulpbronne beheer en verseker dat slegs gemagtigde gebruikers konfigurasies kan skep, opdateer of verwyder.
Bereik
Die bereik parameter in AWS WAF spesifiseer of die WAF reĆ«ls en konfigurasies van toepassing is op ān streeks toepassing of ān Amazon CloudFront verspreiding.
- REGIONAL: Geld vir streeksdienste soos Toepassing Laai Balancers (ALB), Amazon API Gateway REST API, AWS AppSync GraphQL API, Amazon Cognito gebruikerspoel, AWS App Runner diens en AWS Verified Access instansie. Jy spesifiseer die AWS streek waar hierdie hulpbronne geleƫ is.
- CLOUDFRONT: Geld vir Amazon CloudFront verspreidings, wat globaal is. WAF konfigurasies vir CloudFront word bestuur deur die
us-east-1streek ongeag waar die inhoud bedien word.
Sleutelkenmerke
Monitering Kriteria (Voorwaardes)
Voorwaardes spesifiseer die elemente van inkomende HTTP/HTTPS versoeke wat AWS WAF monitor, wat XSS, geografiese ligging (GEO), IP-adresse, Grootte beperkings, SQL-inspuiting, en patrone (stringe en regex ooreenkomste) insluit. Dit is belangrik om te noem dat versoeke wat op die CloudFront vlak op grond van land beperk is, nie WAF sal bereik nie.
Elke AWS rekening kan konfigureer:
- 100 voorwaardes vir elke tipe (behalwe vir Regex, waar slegs 10 voorwaardes toegelaat word, maar hierdie limiet kan verhoog word).
- 100 reƫls en 50 Web ACLs.
- ān maksimum van 5 tarief-gebaseerde reĆ«ls.
- ān deurset van 10,000 versoeke per sekonde wanneer WAF geĆÆmplementeer word met ān toepassing laai balancer.
Reƫl aksies
Aksies word aan elke reƫl toegeken, met opsies soos:
- Toelaat: Die versoek word na die toepaslike CloudFront verspreiding of Toepassing Laai Balancer gestuur.
- Blokkeer: Die versoek word onmiddellik beƫindig.
- Tel: Tel die versoeke wat aan die reƫl se voorwaardes voldoen. Dit is nuttig vir reƫltoetsing, om die akkuraatheid van die reƫl te bevestig voordat dit op Toelaat of Blokkeer gestel word.
- CAPTCHA en Uitdaging: Dit word geverifieer dat die versoek nie van ān bot kom nie deur CAPTCHA legkaarte en stille uitdagings.
As ān versoek nie aan enige reĆ«l binne die Web ACL voldoen nie, ondergaan dit die standaard aksie (Toelaat of Blokkeer). Die volgorde van reĆ«l uitvoering, wat binne ān Web ACL gedefinieer is, is belangrik en volg tipies hierdie volgorde:
- Toelaat Witlys IPās.
- Blokkeer Swartlys IPās.
- Blokkeer versoeke wat enige nadelige handtekeninge ooreenstem.
CloudWatch Integrasie
AWS WAF integreer met CloudWatch vir monitering, wat metrieke soos AllowedRequests, BlockedRequests, CountedRequests, en PassedRequests bied. Hierdie metrieke word elke minuut standaard gerapporteer en vir ān periode van twee weke behou.
Enumerasie
Om met CloudFront verspreidings te kommunikeer, moet jy die Streek US East (N. Virginia) spesifiseer:
- CLI - Spesifiseer die Streek US East wanneer jy die CloudFront bereik gebruik:
--scope CLOUDFRONT --region=us-east-1. - API en SDKās - Vir alle oproepe, gebruik die Streek eindpunt us-east-1.
Om met streeksdienste te kommunikeer, moet jy die streek spesifiseer:
- Voorbeeld met die streek Europa (Spanje):
--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 Exploitation / Bypass
Tip
Vanuit ān aanvaller se perspektief kan hierdie diens die aanvaller help om WAF beskermings en netwerk blootstellings te identifiseer wat hom kan help om ander webwerwe te kompromitteer.
egter, ān aanvaller kan ook belangstel om hierdie diens te ontwrig sodat die webwerwe nie deur die WAF beskerm word nie.
In baie van die Verwyder en Opdateer operasies sal dit nodig wees om die lock token te verskaf. Hierdie token word gebruik vir mededingingsbeheer oor die hulpbronne, wat verseker dat veranderinge nie per ongeluk deur verskeie gebruikers of prosesse wat probeer om dieselfde hulpbron gelyktydig op te dateer, oorgeskryf word nie. Om hierdie token te verkry, kan jy die ooreenstemmende lys of kry operasies oor die spesifieke hulpbron uitvoer.
wafv2:CreateRuleGroup, wafv2:UpdateRuleGroup, wafv2:DeleteRuleGroup
ān Aanvaller sal in staat wees om die sekuriteit van die geraakte hulpbron te kompromitteer deur:
- ReĆ«lgroepe te skep wat byvoorbeeld legitieme verkeer van legitieme IP adresse kan blokkeer, wat ān ontkenning van diens veroorsaak.
- Reƫlgroepe op te dateer, wat in staat is om sy aksies te verander byvoorbeeld van Block na Allow.
- Reƫlgroepe te verwyder wat kritieke sekuriteitsmaatreƫls bied.
# 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>
Die volgende voorbeelde toon ān reĆ«lgroep wat wettige verkeer van spesifieke IP-adresse sou blokkeer:
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
Die rule.json lĆŖer sal soos volg lyk:
[
{
"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"
}
}
]
Potensiƫle Impak: Onbevoegde toegang, datalekke, en potensiƫle DoS-aanvalle.
wafv2:CreateWebACL, wafv2:UpdateWebACL, wafv2:DeleteWebACL
Met hierdie toestemmings kan ān aanvaller:
- ān Nuwe Web ACL skep, wat reĆ«ls bekendstel wat of kwaadwillige verkeer toelaat of legitieme verkeer blokkeer, wat die WAF effektief nutteloos maak of ān diensontkenning veroorsaak.
- Bestaande Web ACLs opdateer, in staat om reƫls te wysig om aanvalle soos SQL-inspuiting of kruis-web scripting toe te laat, wat voorheen geblokkeer was, of normale verkeersvloei te ontwrig deur geldige versoeke te blokkeer.
- ān Web ACL verwyder, wat die betrokke hulpbronne heeltemal onbeskermd laat, en dit blootstel aan ān wye reeks webaanvalle.
Note
Jy kan slegs die gespesifiseerde WebACL verwyder as ManagedByFirewallManager vals is.
# 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>
Die volgende voorbeelde toon hoe om ān Web ACL op te dateer om die legitieme verkeer van ān spesifieke IP-stel te blokkeer. As die oorspronklike IP nie met enige van daardie IPās ooreenstem nie, sal die standaardaksie ook wees om dit te blokkeer, wat ān DoS veroorsaak.
Originele 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"
}
Opdrag om die Web ACL op te dateer:
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
Die rule.json lĆŖer sal soos volg lyk:
[
{
"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"
}
}
]
Potensiƫle Impak: Onbevoegde toegang, datalekke, en potensiƫle DoS-aanvalle.
wafv2:AssociateWebACL, wafv2:DisassociateWebACL
Die wafv2:AssociateWebACL toestemming sal ān aanvaller in staat stel om web ACLs (Toegang Beheer Lyste) met hulpbronne te assosieer, wat dit moontlik maak om sekuriteitsbeheermaatreĆ«ls te omseil, wat onbevoegde verkeer toelaat om die aansoek te bereik, wat potensieel kan lei tot ontploffings soos SQL-inspuiting of kruis-web scripting (XSS). Omgekeerd, met die wafv2:DisassociateWebACL toestemming, kan die aanvaller tydelik sekuriteitsbeskermings deaktiveer, wat die hulpbronne aan kwesbaarhede blootstel sonder opsporing.
Die addisionele toestemmings sal benodig word, afhangende van die tipe beskermde hulpbron:
- Assosieer
- apigateway:SetWebACL
- apprunner:AssociateWebAcl
- appsync:SetWebACL
- cognito-idp:AssociateWebACL
- ec2:AssociateVerifiedAccessInstanceWebAcl
- elasticloadbalancing:SetWebAcl
- Dissosieer
- 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>
Potensiƫle Impak: Gecompromitteerde hulpbronne sekuriteit, verhoogde risiko van eksploitatie, en potensiƫle diensonderbrekings binne AWS omgewings wat deur AWS WAF beskerm word.
wafv2:CreateIPSet , wafv2:UpdateIPSet, wafv2:DeleteIPSet
ān Aanvaller sal in staat wees om die IP stelle wat deur AWS WAF bestuur word, te skep, op te dateer en te verwyder. Dit kan gevaarlik wees aangesien dit nuwe IP stelle kan skep om kwaadwillige verkeer toe te laat, IP stelle kan wysig om wettige verkeer te blokkeer, bestaande IP stelle kan opdateer om kwaadwillige IP adresse in te sluit, vertroude IP adresse kan verwyder of kritieke IP stelle kan verwyder wat bedoel is om kritieke hulpbronne te beskerm.
# 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>
Die volgende voorbeeld toon hoe om die bestaande IP stel te oorskryf met die gewenste IP stel:
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
Potensiƫle Impak: Onbevoegde toegang en blokkering van legitieme verkeer.
wafv2:CreateRegexPatternSet , wafv2:UpdateRegexPatternSet, wafv2:DeleteRegexPatternSet
ān Aanvaller met hierdie toestemmings sou in staat wees om die regulĆŖre uitdrukking patroonstelle wat deur AWS WAF gebruik word, te manipuleer om inkomende verkeer op grond van spesifieke patrone te beheer en te filtreer.
- Die skep van nuwe regex patrone sou ān aanvaller help om skadelike inhoud toe te laat
- Deur die bestaande patrone op te dateer, sou ān aanvaller die sekuriteitsreĆ«ls kon omseil
- Die verwydering van patrone wat ontwerp is om kwaadwillige aktiwiteite te blokkeer, kan ān aanvaller in staat stel om kwaadwillige payloads te stuur en die sekuriteitsmaatreĆ«ls te omseil.
# 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>
Potensiƫle Impak: Oorskry van sekuriteitsbeheer, wat kwaadwillige inhoud toelaat en moontlik sensitiewe data blootstel of dienste en hulpbronne wat deur AWS WAF beskerm word, ontwrig.
(wavf2:PutLoggingConfiguration & iam:CreateServiceLinkedRole), wafv2:DeleteLoggingConfiguration
ān Aanvaller met die wafv2:DeleteLoggingConfiguration sou in staat wees om die logging-konfigurasie van die gespesifiseerde Web ACL te verwyder. Vervolgens, met die wavf2:PutLoggingConfiguration en iam:CreateServiceLinkedRole toestemmings, kan ān aanvaller logging-konfigurasies skep of vervang (nadat dit verwyder is) om of logging heeltemal te voorkom of logs na ongemagtigde bestemmings te herlei, soos Amazon S3-buckets, Amazon CloudWatch Logs loggroep of ān Amazon Kinesis Data Firehose onder beheer.
Tydens die skepproses stel die diens outomaties die nodige toestemmings op om te verseker dat logs na die gespesifiseerde logging-bestemming geskryf kan word:
- Amazon CloudWatch Logs: AWS WAF skep ān hulpbronbeleid op die aangewese CloudWatch Logs loggroep. Hierdie beleid verseker dat AWS WAF die toestemmings het wat nodig is om logs na die loggroep te skryf.
- Amazon S3 Bucket: AWS WAF skep ān emmerbeleid op die aangewese S3-bucket. Hierdie beleid verleen AWS WAF die nodige toestemmings om logs na die gespesifiseerde emmer op te laai.
- Amazon Kinesis Data Firehose: AWS WAF skep ān diens-gekoppelde rol spesifiek vir interaksie met Kinesis Data Firehose. Hierdie rol laat AWS WAF toe om logs na die geconfigureerde Firehose-stroom te lewer.
Note
Dit is moontlik om slegs een logging-bestemming per web ACL te definieer.
# Put logging configuration
aws wafv2 put-logging-configuration --logging-configuration <value>
# Delete logging configuration
aws wafv2 delete-logging-configuration --resource-arn <value> [--log-scope <CUSTOMER | SECURITY_LAKE>] [--log-type <value>]
Potensiƫle Impak: Obskure sigbaarheid in sekuriteitsevents, moeilikheid in die insidentresponsproses, en fasiliteer oorgenoeg kwaadwillige aktiwiteite binne AWS WAF-beskermde omgewings.
wafv2:DeleteAPIKey
ān Aanvaller met hierdie toestemmings sal in staat wees om bestaande API-sleutels te verwyder, wat die CAPTCHA ondoeltreffend maak en die funksionaliteit wat daarop staatmaak, soos vormindienings en toegangbeheer, ontwrig. Afhangende van die implementering van hierdie CAPTCHA, kan dit lei tot ān CAPTCHA-omseiling of ān DoS as die foutbestuur nie behoorlik in die hulpbron ingestel is nie.
# Delete API key
aws wafv2 delete-api-key --api-key <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
Potensiƫle Impak: Deaktiveer CAPTCHA beskermings of onderbreek toepassingsfunksionaliteit, wat lei tot sekuriteitsbreuke en potensiƫle datadiefstal.
wafv2:TagResource, wafv2:UntagResource
ān Aanvaller sal in staat wees om etikette by te voeg, te wysig of te verwyder van AWS WAFv2 hulpbronne, soos Web ACLs, reĆ«lgroepe, IP stelle, regex patroon stelle, en log konfigurasies.
# Tag
aws wafv2 tag-resource --resource-arn <value> --tags <value>
# Untag
aws wafv2 untag-resource --resource-arn <value> --tag-keys <value>
Potensiƫle Impak: Hulpbron manipulasie, inligting lekkasie, koste manipulasie en operasionele onderbreking.
Verwysings
- https://www.citrusconsulting.com/aws-web-application-firewall-waf/#:~:text=Conditions%20allow%20you%20to%20specify,user%20via%20a%20web%20application
- https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswafv2.html
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die š¬ Discord group of die telegram group of volg ons op Twitter š¦ @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

