AWS - WAF Enum

AWS - WAF Enum

HackTricksのサポート

AWS WAF

AWS WAFは、WebアプリケーションやAPIをさまざまなWeb攻撃から保護するために設計されたWebアプリケーションファイアウォールです。これにより、ユーザーはSQLインジェクションやクロスサイトスクリプティングなどの典型的な攻撃ベクトルを緩和するセキュリティルールを設定することで、着信トラフィックを制御できます。

主要な概念

Web ACL(アクセス制御リスト)

Web ACLは、WebアプリケーションやAPIに適用できるルールのコレクションです。Web ACLをリソースに関連付けると、AWS WAFはWeb ACLで定義されたルールに基づいて着信リクエストを検査し、指定されたアクションを実行します。

ルールグループ

ルールグループは、複数のWeb ACLに適用できる再利用可能なルールのコレクションです。ルールグループは、異なるWebアプリケーションやAPI間で一貫したルールセットを管理および維持するのに役立ちます。

各ルールグループには、実行リソースの使用量を計算および制御するための容量が関連付けられています。作成時にその値が設定されると、後から変更することはできません。

ルール

ルールは、AWS WAFが着信Webリクエストを検査するために使用する条件のセットを定義します。主なルールの種類は次のとおりです。

  1. 通常のルール: このルールタイプは、指定された条件を使用してWebリクエストを許可、ブロック、またはカウントするかどうかを決定します。

  2. レートベースのルール: 特定のIPアドレスからのリクエストを5分間でカウントします。ここでは、ユーザーはしきい値を定義し、IPからのリクエスト数がこの制限を5分以内に超えると、そのIPからの後続のリクエストはしきい値を下回るまでブロックされます。レートベースのルールの最小しきい値は2000リクエストです。

管理されたルール

AWS WAFは、AWSおよびAWS Marketplaceの販売業者によって維持される事前構成済みの管理されたルールセットを提供しています。これらのルールセットは一般的な脅威に対する保護を提供し、新しい脆弱性に対処するために定期的に更新されます。

IPセット

IPセットは、許可またはブロックしたいIPアドレスまたはIPアドレス範囲のリストです。IPセットを使用すると、IPベースのルールの管理を簡素化できます。

正規表現パターンセット

正規表現パターンセットには、Webリクエストで検索するパターンを定義する1つ以上の正規表現(regex)が含まれています。これは、特定の文字列のシーケンスをフィルタリングするなど、より複雑な一致シナリオに役立ちます。

ロックトークン

ロックトークンは、WAFリソースを更新する際の同時実行制御に使用されます。これにより、同時に同じリソースを更新しようとする複数のユーザーやプロセスによって変更が誤って上書きされることが防がれます。

APIキー

AWS WAFのAPIキーは、特定のAPI操作へのリクエストを認証するために使用されます。これらのキーは暗号化され、安全に管理され、WAF構成への変更を行う権限を制御し、認証されたユーザーのみが変更を行えるようにします。

  • : CAPTCHA APIの統合。

権限ポリシー

権限ポリシーは、AWS WAFリソースでアクションを実行できるユーザーを指定するIAMポリシーです。権限を定義することで、WAFリソースへのアクセスを制御し、認証されたユーザーのみが構成を作成、更新、または削除できるようにします。

スコープ

AWS WAFのスコープパラメータは、WAFルールと構成がリージョナルアプリケーションまたはAmazon CloudFrontディストリビューションに適用されるかを指定します。

  • REGIONAL: Application Load Balancers(ALB)、Amazon API Gateway REST API、AWS AppSync GraphQL API、Amazon Cognitoユーザープール、AWS App Runnerサービス、AWS Verified Accessインスタンスなどのリージョナルサービスに適用されます。これらのリソースが配置されているAWSリージョンを指定します。

  • CLOUDFRONT: グローバルであるAmazon CloudFrontディストリビューションに適用されます。CloudFrontのWAF構成は、コンテンツが提供される場所に関係なく、us-east-1リージョンを介して管理されます。

主な機能

監視基準(条件)

条件は、AWS WAFが監視する着信HTTP/HTTPSリクエストの要素を指定します。これにはXSS、地理的位置(GEO)、IPアドレス、サイズ制約、SQLインジェクション、パターン(文字列および正規表現一致)が含まれます。重要な点として、国に基づいてCloudFrontレベルで制限されたリクエストはWAFに到達しないことに注意してください。

各AWSアカウントは次のように構成できます。

  • 各タイプごとに100の条件(ただし、正規表現の場合は10の条件のみ許可されますが、この制限は増やすことができます)。

  • 100のルールおよび50のWeb ACL

  • 最大5つのレートベースのルール

  • アプリケーションロードバランサーでWAFが実装されている場合の1秒あたりのリクエスト数は10,000です。

ルールアクション

アクションは各ルールに割り当てられ、オプションは次のとおりです。

  • Allow: リクエストは適切なCloudFrontディストリビューションまたはApplication Load Balancerに転送されます。

  • Block: リクエストは即座に終了されます。

  • Count: ルールの条件を満たすリクエストを集計します。これは、ルールの正確性を確認するためのルールテストや、AllowまたはBlockに設定する前の確認に役立ちます。

  • CAPTCHAとChallenge: CAPTCHAパズルやサイレントチャレンジを使用して、リクエストがボットからではないことを検証します。

Web ACL内のいずれのルールにも一致しないリクエストは、デフォルトアクション(AllowまたはBlock)に従います。Web ACL内で定義されたルールの実行順序は重要であり、通常、次のシーケンスに従います。

  1. ホワイトリストされたIPを許可します。

  2. ブラックリストされたIPをブロックします。

  3. 有害な署名に一致するリクエストをブロックします。

CloudWatch統合

AWS WAFは、監視のためにCloudWatchと統合されており、AllowedRequests、BlockedRequests、CountedRequests、PassedRequestsなどのメトリクスを提供します。これらのメトリクスはデフォルトで1分ごとに報告され、2週間の期間保持されます。

列挙

CloudFrontディストリビューションとやり取りするためには、リージョンUS East(N. Virginia)を指定する必要があります。

  • CLI - CloudFrontスコープを使用する場合は、リージョンUS Eastを指定します: --scope CLOUDFRONT --region=us-east-1

  • APIおよびSDK - すべての呼び出しについて、リージョンエンドポイントus-east-1を使用します。

リージョナルサービスとやり取りするためには、リージョンを指定する必要があります。

  • リージョンEurope(Spain)の例: --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>

ポストエクスプロイテーション / バイパス

攻撃者の視点からは、このサービスは攻撃者がWAF保護とネットワーク露出を特定し、他のWebを侵害するのに役立つ可能性があります。

ただし、攻撃者はこのサービスを妨害して、WebがWAFによって保護されないようにすることにも興味を持つかもしれません。

削除および更新操作の多くでは、ロックトークンを提供する必要があります。このトークンは、リソース上の同時に更新しようとする複数のユーザーまたはプロセスによって変更が誤って上書きされないようにするための並行制御に使用されます。このトークンを取得するには、特定のリソースに対して対応するリストまたは取得操作を実行することができます。

wafv2:CreateRuleGroupwafv2:UpdateRuleGroupwafv2:DeleteRuleGroup

攻撃者は、次のような方法で影響を受けるリソースのセキュリティを危険にさらすことができます:

  • 例えば、合法的なIPアドレスからの合法的なトラフィックをブロックする可能性があるルールグループを作成し、サービスを拒否することができます。

  • ルールグループを更新し、例えばブロックから許可にアクションを変更することができます。

  • 重要なセキュリティ対策を提供するルールグループを削除します。

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

以下は、特定のIPアドレスからの正当なトラフィックをブロックするルールグループを示す例です:

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

rule.jsonファイルは次のようになります:

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

潜在的影響: 不正なアクセス、データ漏洩、およびDoS攻撃の可能性。

wafv2:CreateWebACL, wafv2:UpdateWebACL, wafv2:DeleteWebACL

これらの権限を持つ攻撃者は次のことができます:

  • 新しいWeb ACLを作成し、悪意のあるトラフィックを通過させるか正当なトラフィックをブロックするルールを導入することで、WAFを無効にするか、サービスの拒否を引き起こすことができます。

  • 既存のWeb ACLを更新し、以前にブロックされていたSQLインジェクションやクロスサイトスクリプティングなどの攻撃を許可するルールを変更したり、正当なリクエストをブロックすることで通常のトラフィックフローを妨害することができます。

  • Web ACLを削除し、影響を受けるリソースを完全に保護されていない状態にし、幅広いWeb攻撃にさらすことができます。

指定されたWebACLは、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>

元の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"
}

Update Web ACL

Web ACLを更新するコマンド:

aws waf update-web-acl --web-acl-id <value> --updates <value>
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

rule.jsonファイルは次のようになります:

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

潜在的影響: 不正なアクセス、データ漏洩、およびDoS攻撃の可能性。

wafv2:AssociateWebACLwafv2:DisassociateWebACL

**wafv2:AssociateWebACL権限を持つ攻撃者は、Web ACL(アクセス制御リスト)をリソースに関連付けることができ、セキュリティコントロールをバイパスし、認可されていないトラフィックがアプリケーションに到達することを可能にし、SQLインジェクションやクロスサイトスクリプティング(XSS)などの脆弱性を悪用する可能性があります。逆に、wafv2:DisassociateWebACL**権限を持つ攻撃者は、一時的にセキュリティ保護を無効にし、リソースを検出されずに脆弱性にさらすことができます。

保護されるリソースの種類に応じて、追加の権限が必要となります:

  • 関連付け

    • apigateway:SetWebACL

    • apprunner:AssociateWebAcl

    • appsync:SetWebACL

    • cognito-idp:AssociateWebACL

    • ec2:AssociateVerifiedAccessInstanceWebAcl

    • elasticloadbalancing:SetWebAcl

  • 関連解除

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

潜在的影響: AWS WAF によって保護されている AWS 環境内でのリソースセキュリティの侵害、悪用リスクの増加、および潜在的なサービスの中断。

wafv2:CreateIPSetwafv2:UpdateIPSetwafv2:DeleteIPSet

攻撃者は、AWS WAF によって管理されている IP セットを作成、更新、削除することができます。これは危険であり、悪意のあるトラフィックを許可するために新しい IP セットを作成したり、正当なトラフィックをブロックするために IP セットを変更したり、既存の IP セットを更新して悪意のある IP アドレスを含めたり、信頼された IP アドレスを削除したり、重要なリソースを保護するために作成された重要な IP セットを削除したりする可能性があります。

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

以下の例は、既存のIPセットを望ましいIPセットで上書きする方法を示しています:

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

潜在的影響: 不正なアクセスと合法的なトラフィックのブロック。

wafv2:CreateRegexPatternSetwafv2:UpdateRegexPatternSetwafv2:DeleteRegexPatternSet

これらの権限を持つ攻撃者は、AWS WAFが特定のパターンに基づいて着信トラフィックを制御およびフィルタリングするために使用する正規表現パターンセットを操作できるようになります。

  • 新しい正規表現パターンを作成することで、攻撃者は有害なコンテンツを許可できるようになります

  • 既存のパターンを更新することで、攻撃者はセキュリティルールをバイパスできる可能性があります

  • 悪意のある活動をブロックするために設計されたパターンを削除することで、攻撃者は悪意のあるペイロードを送信し、セキュリティ対策をバイパスする可能性があります

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

潜在的影響: セキュリティコントロールをバイパスし、悪意のあるコンテンツを許可し、AWS WAF で保護されているサービスやリソースを乱用することで機密データを露出させたり、サービスを妨害する可能性があります。

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

wafv2:DeleteLoggingConfiguration 権限を持つ攻撃者は、指定された Web ACL からログ構成を削除できます。その後、wavf2:PutLoggingConfigurationiam:CreateServiceLinkedRole の権限を持つ攻撃者は、ログ構成を作成または置換できます(削除した後)ログを一切記録しないようにしたり、Amazon S3 バケット、Amazon CloudWatch Logs ロググループ、または Amazon Kinesis Data Firehose のような認可されていない宛先にログをリダイレクトすることができます。

作成プロセス中、サービスは指定されたログ宛先にログを書き込むために必要な権限を自動的に設定します:

  • Amazon CloudWatch Logs: AWS WAF は指定された CloudWatch Logs ロググループにリソースポリシーを作成します。このポリシーにより、AWS WAF がログをロググループに書き込むために必要な権限を持つことが保証されます。

  • Amazon S3 バケット: AWS WAF は指定された S3 バケットにバケットポリシーを作成します。このポリシーにより、AWS WAF が指定されたバケットにログをアップロードするために必要な権限が与えられます。

  • Amazon Kinesis Data Firehose: AWS WAF は Kinesis Data Firehose とやり取りするためのサービスリンクドロールを作成します。このロールにより、AWS WAF が構成された Firehose ストリームにログを配信することができます。

Web ACL ごとにログの宛先を1つだけ定義することができます。

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

潜在的影響: セキュリティイベントへの視認性を隠す、インシデント対応プロセスを困難にする、および AWS WAF で保護された環境内での隠れた悪意ある活動を容易にする。

wafv2:DeleteAPIKey

この権限を持つ攻撃者は既存の API キーを削除でき、CAPTCHA を無効にし、フォームの送信やアクセス制御などに依存する機能を妨害することができます。この CAPTCHA の実装によっては、CAPTCHA のバイパスまたはリソースで適切にエラー管理が設定されていない場合に DoS につながる可能性があります。

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

潜在的影響: CAPTCHA保護を無効にしたり、アプリケーションの機能を妨害して、セキュリティ侵害やデータの盗難が発生する可能性があります。

wafv2:TagResource, wafv2:UntagResource

攻撃者は、Web ACL、ルールグループ、IPセット、正規表現パターンセット、およびログ構成などのAWS WAFv2リソースからタグを追加、変更、または削除することができます。

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

潜在的影響: リソースの改ざん、情報漏えい、コスト操作、運用の混乱。

参考文献

HackTricksのサポート

Last updated