AWS - DynamoDB Post Exploitation
DynamoDB
Kwa maelezo zaidi angalia:
AWS - DynamoDB Enumdynamodb:BatchGetItem
dynamodb:BatchGetItem
Mshambulizi mwenye ruhusa hizi ataweza kupata vitu kutoka kwenye meza kwa kutumia ufunguo mkuu (huwezi kuuliza tu data zote za meza). Hii inamaanisha kuwa unahitaji kujua funguo kuu (unaweza kupata hii kwa kupata metadata ya meza (describe-table
).
Potential Impact: Privesc isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye jedwali
dynamodb:GetItem
dynamodb:GetItem
Sawa na ruhusa za awali hii inaruhusu mshambuliaji kusoma maadili kutoka kwenye jedwali moja tu kwa kupewa ufunguo mkuu wa kiingilio cha kurejesha:
Kwa ruhusa hii pia inawezekana kutumia njia ya transact-get-items
kama:
Athari Zinazowezekana: Privesc isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye jedwali
dynamodb:Query
dynamodb:Query
Sawa na ruhusa za awali hii inaruhusu mshambuliaji kusoma maadili kutoka kwenye jedwali moja tu kwa kupewa ufunguo mkuu wa ingizo la kurejesha. Inaruhusu kutumia kikundi cha kulinganisha, lakini kulinganisha pekee kunakokubalika na ufunguo mkuu (ambao lazima uwepo) ni "EQ", kwa hivyo huwezi kutumia kulinganisha kupata DB yote katika ombi moja.
Potential Impact: Privesc isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye jedwali
dynamodb:Scan
dynamodb:Scan
Unaweza kutumia ruhusa hii kudump jedwali lote kwa urahisi.
Athari Zinawezekana: Privesc isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye jedwali
dynamodb:PartiQLSelect
dynamodb:PartiQLSelect
Unaweza kutumia ruhusa hii kudump jedwali lote kwa urahisi.
lakini unahitaji kubainisha ufunguo mkuu na thamani, kwa hivyo siyo muhimu sana.
Athari Zingine: Kuongezeka kwa upendeleo kwa njia isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye jedwali
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
Ruhusa hii itamruhusu mshambuliaji kusafirisha jedwali lote kwenda kwenye S3 bucket ya uchaguzi wake:
Kumbuka kuwa ili hii ifanye kazi, jedwali linahitaji kuwa na point-in-time-recovery imewezeshwa, unaweza kuangalia kama jedwali lina hiyo kwa:
Ikiwa haijawezeshwa, utahitaji kuwezesha na kwa hilo unahitaji ruhusa ya dynamodb:ExportTableToPointInTime
:
Potential Impact: Privesc isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye jedwali
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
Kwa ruhusa hizi, mshambuliaji ataweza kuunda jedwali jipya kutoka kwenye nakala rudufu (au hata kuunda nakala rudufu kisha kuirejesha kwenye jedwali tofauti). Kisha, akiwa na ruhusa zinazohitajika, ataweza kuangalia taarifa kutoka kwenye nakala rudufu ambazo huenda hazipo tena kwenye jedwali la uzalishaji.
Potential Impact: Privesc isiyo ya moja kwa moja kwa kupata taarifa nyeti kwenye nakala ya jedwali
dynamodb:PutItem
dynamodb:PutItem
Ruhusa hii inaruhusu watumiaji kuongeza kipengee kipya kwenye jedwali au kubadilisha kipengee kilichopo na kipya. Ikiwa kipengee chenye ufunguo mkuu sawa tayari kipo, kipengee chote kitabadilishwa na kipya. Ikiwa ufunguo mkuu haupo, kipengee kipya chenye ufunguo mkuu uliobainishwa kitakuwa kimeundwa.
Athari Zinawezekana: Udhulumu wa udhaifu zaidi/kupita kwa kuwa na uwezo wa kuongeza/kubadilisha data katika jedwali la DynamoDB
dynamodb:UpdateItem
dynamodb:UpdateItem
Ruhusa hii inaruhusu watumiaji kubadilisha sifa zilizopo za kipengee au kuongeza sifa mpya kwa kipengee. Haibadilishi kipengee chote; inasasisha tu sifa zilizotajwa. Ikiwa ufunguo mkuu haupo kwenye jedwali, operesheni itaunda kipengee kipya na ufunguo mkuu uliotajwa na kuweka sifa zilizotajwa katika usemi wa sasisho.
Athari Zingine: Udhulumu wa udhaifu zaidi/kupita kwa kuwa na uwezo wa kuongeza/kubadilisha data katika jedwali la DynamoDB
dynamodb:DeleteTable
dynamodb:DeleteTable
Mshambulizi mwenye ruhusa hii anaweza kufuta jedwali la DynamoDB, na kusababisha upotevu wa data.
Potential impact: Upotevu wa data na usumbufu wa huduma zinazotegemea jedwali lililofutwa.
dynamodb:DeleteBackup
dynamodb:DeleteBackup
Mshambuliaji mwenye ruhusa hii anaweza kufuta nakala ya akiba ya DynamoDB, na kusababisha upotevu wa data endapo kutatokea hali ya kurejesha data baada ya janga.
Athari inayowezekana: Upotevu wa data na kutoweza kurejesha kutoka kwenye nakala rudufu wakati wa hali ya kurejesha maafa.
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
TODO: Jaribu kama hii inafanya kazi kweli
Mshambulizi mwenye ruhusa hizi anaweza kuwezesha mkondo kwenye jedwali la DynamoDB, kusasisha jedwali ili kuanza kutiririsha mabadiliko, na kisha kufikia mkondo ili kufuatilia mabadiliko kwenye jedwali kwa wakati halisi. Hii inamruhusu mshambulizi kufuatilia na kutoa data mabadiliko, ambayo inaweza kusababisha uvujaji wa data.
Wezesha mkondo kwenye jedwali la DynamoDB:
Eleza mkondo ili kupata ARN na maelezo mengine:
Pata shard iterator ukitumia stream ARN:
Tumia shard iterator kufikia na kutoa data kutoka kwenye stream:
Athari inayowezekana: Ufuatiliaji wa wakati halisi na uvujaji wa data wa mabadiliko ya meza ya DynamoDB.
Last updated