# AWS - SQS 永続化

{{#include ../../../../banners/hacktricks-training.md}}

## SQS

詳細は次を参照してください:

{{#ref}}
../../aws-services/aws-sqs-and-sns-enum.md
{{#endref}}

### リソースポリシーの使用

SQSでは、IAM policyで**誰が読み書きできるか**を指定する必要があります。外部アカウントやロールのARN、または**"*"**を指定することも可能です。\
次のポリシーは、AWS内の全員に対して、**MyTestQueue**というキュー内のすべてへのアクセスを許可します:
```json
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__owner_statement",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": ["SQS:*"],
"Resource": "arn:aws:sqs:us-east-1:123123123123:MyTestQueue"
}
]
}
```
> [!NOTE]
> キューに新しいメッセージが投入されるたびに、**attacker's account 内の Lambda をトリガーすることもできます**（再度 re-put する必要があります）。これを行うには次の手順に従ってください: [https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs-cross-account-example.html)

### その他の SQS 永続化テクニック

{{#ref}}
aws-sqs-dlq-backdoor-persistence.md
{{#endref}}

{{#ref}}
aws-sqs-orgid-policy-backdoor.md
{{#endref}}

{{#include ../../../../banners/hacktricks-training.md}}
