AWS - DynamoDB Post Exploitation
DynamoDB
Kwa habari zaidi angalia:
pageAWS - DynamoDB Enumdynamodb:BatchGetItem
dynamodb:BatchGetItem
Mshambuliaji mwenye ruhusa hii ataweza kupata vitu kutoka kwenye meza kwa msingi wa msingi (hauwezi tu kuuliza data yote ya meza). Hii inamaanisha kuwa unahitaji kujua funguo za msingi (unaweza kupata hii kwa kupata metadata ya meza (describe-table
).
Matokeo Yanayowezekana: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye meza
dynamodb:GetItem
dynamodb:GetItem
Kama ruhusa zilizotangulia hii inaruhusu mshambuliaji wa uwezekano kusoma thamani kutoka kwenye meza 1 tu kwa kutoa ufunguo wa msingi wa kuingiza:
Kwa idhini hii, pia ni rahisi kutumia njia ya transact-get-items
kama:
Athari Inayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye meza
dynamodb:Query
dynamodb:Query
Kama ruhusa zilizotangulia hii inaruhusu mshambuliaji wa uwezekano kusoma thamani kutoka kwenye meza 1 kwa kutoa funguo ya msingi ya kuingiza. Inaruhusu kutumia kifupi cha mlinganisho, lakini mlinganisho pekee unaoruhusiwa na funguo ya msingi (ambao lazima waonekane) ni "EQ", hivyo huwezi kutumia mlinganisho kupata DB nzima katika ombi.
Athari Inayowezekana: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye meza
dynamodb:Scan
dynamodb:Scan
Unaweza kutumia ruhusa hii kwa kudump meza nzima kwa urahisi.
Athari Inayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye meza
dynamodb:PartiQLSelect
dynamodb:PartiQLSelect
Unaweza kutumia ruhusa hii kwa kudondosha meza nzima kwa urahisi.
Ruhusa hii pia inaruhusu kutekeleza batch-execute-statement
kama:
lakini unahitaji kufafanua funguo ya msingi na thamani, hivyo haifai sana.
Athari Inayowezekana: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye meza
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
Ruhusa hii itamruhusu mshambuliaji kupeleka meza nzima kwenye kisanduku cha S3 cha uchaguzi wake:
Tafadhali kumbuka kwamba ili hii ifanye kazi, meza inahitaji kuwa na urejeshaji wa wakati wa pointi uliowezeshwa, unaweza kuangalia ikiwa meza ina hilo kwa:
Ikiwa haijashawishiwa, utahitaji kuwezesha na kwa hilo unahitaji ruhusa ya dynamodb:ExportTableToPointInTime
:
Athari Inayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti kwenye meza
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
Kwa ruhusa hizi, mshambuliaji angekuwa na uwezo wa kuunda meza mpya kutoka kwa nakala rudufu (au hata kuunda nakala rudufu kisha kuirudisha kwenye meza tofauti). Kisha, akiwa na ruhusa zinazohitajika, angekuwa na uwezo wa kuangalia habari kutoka kwa nakala rudufu ambazo zisingekuwepo tena kwenye meza ya uzalishaji.
Athari Inayoweza Kutokea: Privesc isiyo ya moja kwa moja kwa kutambua habari nyeti katika chelezo la meza
dynamodb:PutItem
dynamodb:PutItem
Ruhusa hii inaruhusu watumiaji kuongeza kipengee kipya kwenye meza au kuchukua nafasi ya kipengee kilichopo na kipengee kipya. Ikiwa kipengee chenye msingi wa msingi sawa tayari ipo, kipengee kizima kitachukuliwa na kipengee kipya. Ikiwa msingi wa msingi hauipo, kipengee kipya na msingi wa msingi uliowekwa utaundwa.
Athari Inayowezekana: Kutumia udhaifu/mipito zaidi kwa kuweza kuongeza/kurekebisha data katika meza ya DynamoDB
dynamodb:UpdateItem
dynamodb:UpdateItem
Ruhusa hii inaruhusu watumiaji kurekebisha sifa zilizopo za kipengee au kuongeza sifa mpya kwa kipengee. Haibadilishi kipengee kizima; inasasisha tu sifa zilizotajwa. Ikiwa funguo kuu haipo katika meza, operesheni ita unda kipengee kipya na kuweka sifa zilizotajwa katika kielezo cha sasisho.
Athari Inayowezekana: Kutumia udhaifu/mipito zaidi kwa kuweza kuongeza/kurekebisha data katika meza ya DynamoDB
dynamodb:DeleteTable
dynamodb:DeleteTable
Mshambuliaji mwenye ruhusa hii anaweza kufuta meza ya DynamoDB, kusababisha upotevu wa data.
Athari za uwezekano: Upotevu wa data na kuvurugika kwa huduma zinazoitegemea meza iliyofutwa.
dynamodb:DeleteBackup
dynamodb:DeleteBackup
Mshambuliaji mwenye ruhusa hii anaweza kufuta nakala ya kuhifadhi ya DynamoDB, ikisababisha upotevu wa data katika kesi ya tukio la kurejesha baada ya janga.
Athari inayowezekana: Upotezaji wa data na uwezo wa kurejesha kutoka kwa chelezo wakati wa tukio la kupona kutokana na janga.
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
TODO: Jaribu kama hii kweli inafanya kazi
Mshambuliaji mwenye ruhusa hizi anaweza kuwezesha mtiririko kwenye meza ya DynamoDB, kusasisha meza ili kuanza kutiririsha mabadiliko, na kisha kupata mtiririko huo ili kufuatilia mabadiliko kwenye meza kwa wakati halisi. Hii inamruhusu mshambuliaji kufuatilia na kuchukua data zilizobadilishwa, ikisababisha upotezaji wa data.
Wezesha mtiririko kwenye meza ya DynamoDB:
Eleza mchakato wa kupata ARN na maelezo mengine:
Pata mshika itaratibu kwa kutumia ARN ya mtiririko:
Tumia mchakato wa shard kufikia na kuchukua data kutoka kwenye mtiririko:
Athari inayowezekana: Ufuatiliaji wa wakati halisi na upitishaji wa data wa mabadiliko kwenye meza ya DynamoDB.
Last updated