AWS - DynamoDB Post Exploitation
DynamoDB
Za više informacija pogledajte:
AWS - DynamoDB Enumdynamodb:BatchGetItem
dynamodb:BatchGetItem
Napadač sa ovim dozvolama će moći da dobije stavke iz tabela preko primarnog ključa (ne možete jednostavno tražiti sve podatke iz tabele). To znači da morate znati primarne ključeve (možete ih dobiti dobijanjem metapodataka tabele (describe-table
).
Potencijalni uticaj: Indirektno povećanje privilegija lociranjem osetljivih informacija u tabeli
dynamodb:GetItem
dynamodb:GetItem
Slično prethodnim dozvolama, ova dozvola omogućava potencijalnom napadaču da čita vrednosti iz samo 1 tabele dajući primarni ključ unosa za povrat:
Sa ovom dozvolom takođe je moguće koristiti transact-get-items
metod kao:
Potencijalni uticaj: Indirektno podizanje privilegija lociranjem osetljivih informacija u tabeli
dynamodb:Query
dynamodb:Query
Slično kao i prethodne dozvole, ova dozvola omogućava potencijalnom napadaču da čita vrednosti samo iz 1 tabele uz dat primarni ključ unosa za povrat. Omogućava korišćenje podskupa poređenja, ali jedino poređenje dozvoljeno sa primarnim ključem (koji mora biti prisutan) je "EQ", tako da ne možete koristiti poređenje da biste dobili celu bazu podataka u zahtevu.
Potencijalni uticaj: Indirektno povećanje privilegija lociranjem osetljivih informacija u tabeli
dynamodb:Scan
dynamodb:Scan
Možete koristiti ovu dozvolu da lako izvučete celu tabelu.
Potencijalni uticaj: Indirektno povećanje privilegija lociranjem osetljivih informacija u tabeli
dynamodb:PartiQLSelect
dynamodb:PartiQLSelect
Možete koristiti ovu dozvolu da lako izvučete celu tabelu.
Ovo ovlašćenje takođe omogućava izvršavanje batch-execute-statement
kao što je:
ali morate specificirati primarni ključ sa vrednošću, pa nije toliko korisno.
Potencijalni uticaj: Indirektno privesciranje lociranjem osetljivih informacija u tabeli
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
Ova dozvola će omogućiti napadaču da izveze celu tabelu u S3 bucket po njegovom izboru:
Napomena da bi ovo funkcionisalo, tabela mora imati omogućeno vraćanje tačke u vremenu, možete proveriti da li tabela to ima sa:
Ako nije omogućeno, moraćete omogućiti i za to vam je potrebna dozvola dynamodb:ExportTableToPointInTime
:
Potencijalni uticaj: Indirektno povećanje privilegija pronalaženjem osetljivih informacija u tabeli
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
Sa ovim dozvolama, napadač bi bio u mogućnosti da kreira novu tabelu iz rezervne kopije (ili čak da napravi rezervnu kopiju kako bi je zatim vratio u drugu tabelu). Zatim, sa neophodnim dozvolama, bio bi u mogućnosti da proveri informacije iz rezervnih kopija koje više ne bi mogle biti u produkcionoj tabeli.
Potencijalni uticaj: Indirektno povećanje privilegija lociranjem osetljivih informacija u rezervnoj kopiji tabele
dynamodb:PutItem
dynamodb:PutItem
Ova dozvola omogućava korisnicima da dodaju novu stavku u tabelu ili zamene postojeću stavku novom stavkom. Ako stavka sa istim primarnim ključem već postoji, cela stavka će biti zamenjena novom stavkom. Ako primarni ključ ne postoji, biće kreirana nova stavka sa navedenim primarnim ključem.
Potencijalni uticaj: Iskorišćavanje dodatnih ranjivosti/bypass-ova omogućavanjem dodavanja/modifikacije podataka u DynamoDB tabelu
dynamodb:UpdateItem
dynamodb:UpdateItem
Ova dozvola omogućava korisnicima da modifikuju postojeće atribute stavke ili dodaju nove atribute stavci. Ona ne zamenjuje celu stavku; samo ažurira navedene atribute. Ako primarni ključ ne postoji u tabeli, operacija će kreirati novu stavku sa navedenim primarnim ključem i postaviti atribute navedene u izrazu za ažuriranje.
Potencijalni uticaj: Iskorišćavanje dodatnih ranjivosti/bypass-ova omogućavanjem dodavanja/modifikovanja podataka u tabeli DynamoDB
dynamodb:DeleteTable
dynamodb:DeleteTable
Napadač sa ovlašćenjem može obrisati tabelu DynamoDB, uzrokujući gubitak podataka.
Potencijalni uticaj: Gubitak podataka i poremećaj usluga koje se oslanjaju na obrisani sto.
dynamodb:DeleteBackup
dynamodb:DeleteBackup
Napadač sa ovlašćenjem može obrisati rezervnu kopiju DynamoDB, potencijalno uzrokujući gubitak podataka u slučaju scenarija oporavka od katastrofe.
Potencijalni uticaj: Gubitak podataka i nemogućnost oporavka iz rezervne kopije tokom scenarija oporavka od katastrofe.
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
TODO: Testirati da li ovo zapravo funkcioniše
Napadač sa ovim dozvolama može omogućiti strim na tabeli DynamoDB, ažurirati tabelu da počne sa strimovanjem promena, a zatim pristupiti strimu kako bi pratio promene na tabeli u realnom vremenu. Ovo omogućava napadaču da prati i eksfiltrira promene podataka, što potencijalno može dovesti do curenja podataka.
Omogućiti strim na tabeli DynamoDB:
Opisati tok za dobijanje ARN i ostalih detalja:
Dobijanje iteratora šarže korišćenjem ARN-a toka:
Koristite iterator šardova da pristupite i eksfiltrirate podatke sa strima:
Potencijalni uticaj: Praćenje u realnom vremenu i curenje podataka o promenama u tabeli DynamoDB.
Last updated