AWS - RDS Privesc
RDS - Huduma ya Hifadhidata ya Uhusiano
Kwa habari zaidi kuhusu RDS angalia:
pageAWS - Relational Database (RDS) Enumrds:ModifyDBInstance
rds:ModifyDBInstance
Kwa idhini hiyo, muhusika anaweza kurekebisha nenosiri la mtumiaji mkuu, na kuingia ndani ya hifadhidata:
Utahitaji kuweza kuwasiliana na database (kawaida wanapatikana tu kutoka ndani ya mitandao).
Athari Inayowezekana: Pata habari nyeti ndani ya mabadiliko.
rds-db:unganisha
Kulingana na nyaraka mtumiaji mwenye idhini hii anaweza kuunganisha kwenye kifaa cha DB.
Tumia Vibali vya Jukumu la RDS IAM
Postgresql (Aurora)
Ikiwa unakimbia SELECT datname FROM pg_database;
na ukapata database inayoitwa rdsadmin
unajua uko ndani ya database ya AWS postgresql.
Kwanza unaweza kuangalia ikiwa database hii imekuwa ikitumika kupata huduma yoyote ya AWS nyingine. Unaweza kuangalia hili ukitazama upanuzi uliofungwa:
Ikiwa unapata kitu kama aws_s3
unaweza kudhani hii database ina aina fulani ya ufikiaji juu ya S3 (kuna nyongeza nyingine kama vile aws_ml
na aws_lambda
).
Pia, ikiwa una ruhusa ya kukimbia aws rds describe-db-clusters
unaweza kuona ikiwa kituo kina jukumu la IAM limeambatishwa katika uga wa AssociatedRoles
. Ikiwa lipo, unaweza kudhani kwamba database ilikuwa imeandaliwa kupata huduma zingine za AWS. Kulingana na jina la jukumu (au ikiwa unaweza kupata ruhusa za jukumu) unaweza kudhani ufikiaji wa ziada ambao database ina.
Sasa, ili kusoma faili ndani ya ndoo unahitaji kujua njia kamili. Unaweza kuisoma na:
Ikiwa ungekuwa na mamlaka ya moja kwa moja ya AWS ungeweza pia kuzitumia kufikia data ya S3 na:
Postgresql haina haja ya kubadilisha kipengele chochote cha kikundi cha parameta ili kuweza kupata upatikanaji wa S3.
Mysql (Aurora)
Ndani ya mysql, ikiwa unakimbia swali SELECT User, Host FROM mysql.user;
na kuna mtumiaji anayeitwa rdsadmin
, unaweza kudhani uko ndani ya AWS RDS mysql db.
Ndani ya mysql kikimbia onyesha parameta;
na ikiwa parameta kama aws_default_s3_role
, aurora_load_from_s3_role
, aurora_select_into_s3_role
, zina thamani, unaweza kudhani kuwa database imeandaliwa kupata data za S3.
Pia, ikiwa una ruhusa ya kukimbia aws rds describe-db-clusters
unaweza kuangalia ikiwa kikundi kina jukumu lililohusishwa, ambalo kawaida lina maana ya kupata huduma za AWS).
Sasa, ili kusoma faili ndani ya ndoo unahitaji kujua njia kamili. Unaweza kuisoma kwa:
rds:AddRoleToDBCluster
, iam:PassRole
rds:AddRoleToDBCluster
, iam:PassRole
Mshambuliaji mwenye ruhusa za rds:AddRoleToDBCluster
na iam:PassRole
anaweza kuongeza jukumu lililoteuliwa kwa kifaa cha RDS kilichopo. Hii inaweza kuruhusu mshambuliaji kupata data nyeti au kuhariri data ndani ya kifaa hicho.
Athari Kubwa: Upatikanaji wa data nyeti au mabadiliko yasiyoruhusiwa kwenye data katika kifaa cha RDS. Tafadhali kumbuka kuwa baadhi ya DBs inahitaji mipangilio ya ziada kama vile Mysql, ambayo inahitaji kufafanua jukumu la ARN katika vikundi vya aprameter pia.
rds:CreateDBInstance
rds:CreateDBInstance
Kwa ruhusa hii pekee, mshambuliaji anaweza kuunda kifaa kipya ndani ya kikundi kilichopo tayari na kina jukumu la IAM limeambatishwa. Hataweza kubadilisha nenosiri la mtumiaji mkuu, lakini anaweza kufichua kifaa kipya cha database kwa mtandao:
rds:CreateDBInstance
, iam:PassRole
rds:CreateDBInstance
, iam:PassRole
TODO: Jaribio
Mshambuliaji mwenye ruhusa za rds:CreateDBInstance
na iam:PassRole
anaweza kuunda kipengee kipya cha RDS kilichounganishwa na jukumu lililoteuliwa. Mshambuliaji anaweza kisha kupata data nyeti au kuhariri data ndani ya kipengee.
Baadhi ya mahitaji ya jukumu/mtindo wa kipengee cha kuunganisha (kutoka hapa):
Jukumu linapaswa kuwepo kwenye akaunti yako.
Jukumu linapaswa kuwa na jukumu la IAM ambalo Amazon EC2 ina ruhusa ya kudai.
Jina la mtindo wa kipengee na jina la jukumu la IAM lililohusishwa lazima lianze na kipimo cha
AWSRDSCustom
.
Athari Inayowezekana: Kupata ufikivu wa data nyeti au mabadiliko yasiyoruhusiwa kwenye data katika kifaa cha RDS.
rds:AddRoleToDBInstance
, iam:PassRole
rds:AddRoleToDBInstance
, iam:PassRole
Mshambuliaji mwenye ruhusa za rds:AddRoleToDBInstance
na iam:PassRole
anaweza kuongeza jukumu lililoteuliwa kwenye kifaa cha RDS kilichopo. Hii inaweza kuruhusu mshambuliaji kupata ufikivu wa data nyeti au kubadilisha data ndani ya kifaa hicho.
Kifaa cha DB lazima kiwe nje ya kikundi kwa hili
Athari Inayowezekana: Upatikanaji wa data nyeti au mabadiliko yasiyoruhusiwa kwenye data katika kifaa cha RDS.
Last updated