AWS - DynamoDB Enum
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
DynamoDB
Basic Information
Amazon DynamoDB inawasilishwa na AWS kama hifadhidata ya NoSQL isiyo na seva, inayosimamiwa kikamilifu, ya funguo-thamani, iliyoundwa kwa ajili ya kuendesha programu zenye utendaji wa juu bila kujali ukubwa wao. Huduma hii inahakikisha vipengele thabiti ikiwa ni pamoja na hatua za usalama zilizojengwa ndani, nakala za usalama zisizokatizwa, ureplication wa kiotomatiki katika maeneo mbalimbali, uhifadhi wa data wa ndani uliounganishwa, na zana rahisi za kusafirisha data.
Katika muktadha wa DynamoDB, badala ya kuunda hifadhidata ya jadi, meza zinaundwa. Kila meza inahitaji kufafanua funguo ya sehemu kama sehemu muhimu ya funguo kuu ya meza. Funguo hii ya sehemu, ambayo kimsingi ni thamani ya hash, ina jukumu muhimu katika upatikanaji wa vitu na usambazaji wa data kati ya wenyeji mbalimbali. Usambazaji huu ni muhimu kwa kudumisha upanuzi na upatikanaji wa hifadhidata. Aidha, kuna chaguo la kuingiza funguo ya kupanga ili kuboresha zaidi shirika la data.
Encryption
Kwa kawaida, DynamoDB inatumia funguo ya KMS ambayo ni ya Amazon DynamoDB, si funguo inayosimamiwa na AWS ambayo angalau inamilikiwa na akaunti yako.
Backups & Export to S3
Inawezekana kuandaa uzalishaji wa nakala za meza au kuziunda kwa mahitaji. Aidha, inawezekana pia kuwezesha Urejeleaji wa wakati (PITR) kwa meza. Urejeleaji wa wakati unatoa nakala za data zako za DynamoDB kwa siku 35 ili kukusaidia kulinda dhidi ya shughuli za kuandika au kufuta zisizokusudiwa.
Pia inawezekana kusafirisha data ya meza kwenda S3, lakini meza inahitaji kuwa na PITR iliyoanzishwa.
GUI
Kuna GUI kwa huduma za Dynamo za ndani kama DynamoDB Local, dynalite, localstack, nk, ambazo zinaweza kuwa na manufaa: https://github.com/aaronshaf/dynamodb-admin
Enumeration
Upatikanaji Usioidhinishwa
AWS - DynamoDB Unauthenticated AccessPrivesc
AWS - DynamoDB PrivescBaada ya Kutekeleza
AWS - DynamoDB Post ExploitationKudumu
AWS - DynamoDB PersistenceDynamoDB Injection
SQL Injection
Kuna njia za kufikia data za DynamoDB kwa kutumia sintaksia ya SQL, hivyo basi, injections za SQL za kawaida pia zinaweza.
NoSQL Injection
Katika DynamoDB masharti tofauti yanaweza kutumika kupata data, kama katika NoSQL Injection ya kawaida ikiwa inawezekana kuunganisha masharti zaidi ili kupata data unaweza kupata data iliyofichwa (au kupakua jedwali lote). Unaweza kupata hapa masharti yanayoungwa mkono na DynamoDB: https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html
Kumbuka kwamba masharti tofauti yanayoungwa mkono ikiwa data inafikiwa kupitia query
au kupitia scan
.
Kwa kweli, hatua za Query zinahitaji kubainisha sharti "EQ" (sawa) katika funguo za msingi ili kufanya kazi, na kufanya iwe hatarishi kidogo kwa NoSQL injections (na pia kufanya operesheni hiyo kuwa na mipaka sana).
Ikiwa unaweza kubadilisha kulinganisha kunakofanywa au kuongeza mpya, unaweza kupata data zaidi.
Raw Json injection
Uthibitisho huu unategemea dynamodb Scan Filter ambayo sasa imeondolewa!
DynamoDB inakubali Json vitu ili kutafuta data ndani ya DB. Ikiwa unapata kuwa unaweza kuandika katika kitu cha json kilichotumwa kutafuta, unaweza kufanya DB dump, maudhui yote.
Kwa mfano, kuingiza katika ombi kama:
mshambuliaji anaweza kuingiza kitu kama:
1000"}],"ComparisonOperator": "GT","AttributeValueList": [{"N": "0
sahihisha hali ya "EQ" ikitafuta ID 1000 na kisha kutafuta data zote zikiwa na mfuatano wa Id kubwa zaidi ya 0, ambayo ni yote.
Mfano mwingine ulio hatarini ukitumia kuingia unaweza kuwa:
Hii itakuwa na hatari ya:
:property Injection
Baadhi ya SDKs zinaruhusu kutumia mfuatano unaoashiria uchujaji utakaofanywa kama:
Unahitaji kujua kwamba kutafuta katika DynamoDB kwa kubadilisha thamani ya sifa katika maelezo ya filtr wakati wa kusoma vitu, tokeni zinapaswa kuanza na herufi ya :
. Tokeni kama hizo zitakuwa zinabadilishwa na thamani halisi ya sifa wakati wa wakati wa kutekeleza.
Hivyo, kuingia kama ile ya awali inaweza kupuuziliwa mbali na kitu kama:
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)
Last updated