AWS - RDS Privesc
RDS - Relaciona baza podataka
Za više informacija o RDS-u pogledajte:
AWS - Relational Database (RDS) Enumrds:ModifyDBInstance
rds:ModifyDBInstance
Sa tom dozvolom napadač može modifikovati lozinku glavnog korisnika, i prijaviti se unutar baze podataka:
Bićete u mogućnosti da kontaktirate bazu podataka (obično su dostupne samo iz unutrašnjih mreža).
Potencijalni uticaj: Pronalaženje osetljivih informacija unutar baza podataka.
rds-db:connect
Prema dokumentaciji korisnik sa ovlašćenjem može se povezati sa instancom baze podataka.
Zloupotreba RDS Role IAM ovlašćenja
Postgresql (Aurora)
Ako prilikom izvršavanja SELECT datname FROM pg_database;
pronađete bazu podataka nazvanu rdsadmin
znate da se nalazite unutar AWS postgresql baze podataka.
Prvo možete proveriti da li je ova baza podataka korišćena za pristup nekoj drugoj AWS usluzi. To možete proveriti posmatrajući instalirane ekstenzije:
Ako pronađete nešto poput aws_s3
možete pretpostaviti da ova baza podataka ima neku vrstu pristupa nad S3 (postoje i druge ekstenzije poput aws_ml
i aws_lambda
).
Takođe, ako imate dozvole da pokrenete aws rds describe-db-clusters
možete videti da li klaster ima bilo koji IAM Role priložen u polju AssociatedRoles
. Ako ima, možete pretpostaviti da je baza podataka pripremljena za pristup drugim AWS uslugama. Na osnovu imenovanja uloge (ili ako možete dobiti dozvole uloge) možete pretpostaviti kakav dodatni pristup baza podataka ima.
Sada, da biste pročitali fajl unutar kante morate znati punu putanju. Možete je pročitati sa:
Ako biste imali sirove AWS akreditive takođe biste ih mogli koristiti za pristupanje S3 podacima sa:
Postgresql ne mora da menja bilo koji parametar grupe da bi mogao da pristupi S3.
Mysql (Aurora)
Unutar mysql-a, ako pokrenete upit SELECT User, Host FROM mysql.user;
i postoji korisnik pod imenom rdsadmin
, možete pretpostaviti da se nalazite unutar AWS RDS mysql baze podataka.
Unutar mysql-a pokrenite show variables;
i ako promenljive poput aws_default_s3_role
, aurora_load_from_s3_role
, aurora_select_into_s3_role
imaju vrednosti, možete pretpostaviti da je baza podataka spremna za pristup S3 podacima.
Takođe, ako imate dozvole da pokrenete aws rds describe-db-clusters
možete proveriti da li klaster ima bilo koji povezani role, što obično znači pristup AWS uslugama).
Sada, da biste pročitali fajl unutar bucket-a morate znati punu putanju. Možete ga pročitati sa:
rds:AddRoleToDBCluster
, iam:PassRole
rds:AddRoleToDBCluster
, iam:PassRole
Napadač sa dozvolama rds:AddRoleToDBCluster
i iam:PassRole
može dodati određenu ulogu postojećem RDS instanci. Ovo bi moglo omogućiti napadaču da pristupi osetljivim podacima ili modifikuje podatke unutar instance.
Potencijalni uticaj: Pristup osetljivim podacima ili neovlašćene izmene podataka u RDS instanci. Imajte na umu da neki DB-ovi zahtevaju dodatne konfiguracije, kao što je Mysql, koji mora navesti ARN uloge u grupama parametara takođe.
rds:CreateDBInstance
rds:CreateDBInstance
Samo sa ovlašćenjem, napadač bi mogao da kreira novu instancu unutar klastera koja već postoji i ima priloženu IAM ulogu. Neće moći da promeni lozinku glavnog korisnika, ali bi mogao da izloži novu bazu podataka internetu:
rds:CreateDBInstance
, iam:PassRole
rds:CreateDBInstance
, iam:PassRole
TODO: Test
Napadač sa dozvolama rds:CreateDBInstance
i iam:PassRole
može kreirati novu RDS instancu sa određenom ulogom pridruženom. Napadač tada može potencijalno pristupiti osetljivim podacima ili izmeniti podatke unutar instance.
Neophodni zahtevi uloge/instance profila za pridruživanje (od ovde):
Profil mora postojati u vašem nalogu.
Profil mora imati IAM ulogu koju Amazon EC2 može pretpostaviti dozvole.
Ime instance profila i povezano ime IAM uloge moraju početi sa prefiksom
AWSRDSCustom
.
Potencijalni uticaj: Pristup osetljivim podacima ili neovlašćene modifikacije podataka u RDS instanci.
rds:AddRoleToDBInstance
, iam:PassRole
rds:AddRoleToDBInstance
, iam:PassRole
Napadač sa dozvolama rds:AddRoleToDBInstance
i iam:PassRole
može dodati određenu ulogu postojećoj RDS instanci. Ovo bi moglo omogućiti napadaču da pristupi osetljivim podacima ili modifikuje podatke unutar instance.
DB instanca mora biti van klastera za ovo
Potencijalni uticaj: Pristup osetljivim podacima ili neovlašćene izmene podataka u RDS instanci.
Last updated