AWS - DynamoDB Post Exploitation
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Za više informacija proverite:
AWS - DynamoDB Enumdynamodb:BatchGetItem
Napadač sa ovim dozvolama će moći da dobije stavke iz tabela po primarnom ključu (ne možete jednostavno tražiti sve podatke iz tabele). To znači da morate znati primarne ključeve (to možete dobiti dobijanjem metapodataka tabele (describe-table
).
Potencijalni uticaj: Indirektno privesc pronalaženjem osetljivih informacija u tabeli
dynamodb:GetItem
Slično prethodnim dozvolama ova dozvola omogućava potencijalnom napadaču da pročita vrednosti iz samo 1 tabele, s obzirom na primarni ključ unosa koji treba preuzeti:
Sa ovom dozvolom je takođe moguće koristiti metodu transact-get-items
kao:
Potencijalni uticaj: Indirektni privesc lociranjem osetljivih informacija u tabeli
dynamodb:Query
Slično prethodnim dozvolama ova dozvola omogućava potencijalnom napadaču da čita vrednosti iz samo 1 tabele, s obzirom na primarni ključ unosa koji treba preuzeti. Omogućava korišćenje podskupa poređenja, ali jedino poređenje koje je dozvoljeno sa primarnim ključem (koje mora biti prisutno) je "EQ", tako da ne možete koristiti poređenje da dobijete celu DB u jednom zahtevu.
Potencijalni uticaj: Indirektno privesc lociranjem osetljivih informacija u tabeli
dynamodb:Scan
Možete koristiti ovu dozvolu da lako preuzmete celu tabelu.
Potencijalni uticaj: Indirektni privesc lociranjem osetljivih informacija u tabeli
dynamodb:PartiQLSelect
Možete koristiti ovu dozvolu da lako izvučete celu tabelu.
Ova dozvola takođe omogućava izvršavanje batch-execute-statement
kao:
ali morate da navedete primarni ključ sa vrednošću, tako da nije toliko korisno.
Potencijalni uticaj: Indirektni privesc lociranjem osetljivih informacija u tabeli
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
Ova dozvola će omogućiti napadaču da izveze celu tabelu u S3 bucket po njegovom izboru:
Napomena da za ovo da bi radilo, tabela mora imati omogućenu obnovu u tački vremena, možete proveriti da li tabela to ima sa:
Ako nije omogućeno, moraćete da omogućite to, a za to vam je potrebna dynamodb:ExportTableToPointInTime
dozvola:
Potencijalni uticaj: Indirektni privesc lociranjem osetljivih informacija u tabeli
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
Sa ovim dozvolama, napadač bi mogao da napravi novu tabelu iz rezervne kopije (ili čak da napravi rezervnu kopiju koju bi zatim obnovio u drugoj tabeli). Zatim, sa potrebnim dozvolama, mogao bi da proveri informacije iz rezervnih kopija koje više ne bi mogle biti u produkcijskoj tabeli.
Potencijalni Uticaj: Indirektno privesc lociranjem osetljivih informacija u rezervnoj kopiji tabele
dynamodb:PutItem
Ova dozvola omogućava korisnicima da dodaju novi predmet u tabelu ili zamene postojeći predmet novim predmetom. Ako predmet sa istim primarnim ključem već postoji, ceo predmet će biti zamenjen novim predmetom. Ako primarni ključ ne postoji, novi predmet sa navedenim primarnim ključem će biti kreiran.
Potencijalni uticaj: Eksploatacija daljih ranjivosti/zaobilaženja omogućavanjem dodavanja/modifikacije podataka u DynamoDB tabeli
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 specificirane atribute. Ako primarni ključ ne postoji u tabeli, operacija će napraviti novu stavku sa specificiranim primarnim ključem i postaviti atribute navedene u izrazu za ažuriranje.
Potencijalni uticaj: Iskorišćavanje daljih ranjivosti/zaobilaženja omogućavanjem dodavanja/modifikacije podataka u DynamoDB tabeli
dynamodb:DeleteTable
Napadač sa ovom dozvolom može izbrisati DynamoDB tabelu, uzrokujući gubitak podataka.
Potencijalni uticaj: Gubitak podataka i prekid usluga koje se oslanjaju na obrisanu tabelu.
dynamodb:DeleteBackup
Napadač sa ovom dozvolom može obrisati DynamoDB rezervnu kopiju, 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
TODO: Testirati da li ovo zapravo funkcioniše
Napadač sa ovim dozvolama može omogućiti stream na DynamoDB tabeli, ažurirati tabelu da započne strimovanje promena, a zatim pristupiti streamu kako bi pratio promene na tabeli u realnom vremenu. Ovo omogućava napadaču da prati i exfiltrira promene podataka, što može dovesti do curenja podataka.
Omogućiti stream na DynamoDB tabeli:
Opišite tok za dobijanje ARN-a i drugih detalja:
Dobijte shard iterator koristeći stream ARN:
Koristite shard iterator da pristupite i exfiltrirate podatke iz struje:
Potencijalni uticaj: Praćenje u realnom vremenu i curenje podataka o promenama u DynamoDB tabeli.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)