AWS - DynamoDB Post Exploitation
DynamoDB
Daha fazla bilgi için kontrol edin:
AWS - DynamoDB Enumdynamodb:BatchGetItem
dynamodb:BatchGetItem
Bu izinlere sahip bir saldırgan, birincil anahtar kullanarak tablolardan öğeleri alabilecektir (sadece tablonun tüm verilerini isteyemezsiniz). Bu, birincil anahtarları bilmeniz gerektiği anlamına gelir (tablo meta verilerini alarak bunu elde edebilirsiniz (describe-table
).
Potansiyel Etki: Tabloda hassas bilgileri bulmak suretiyle dolaylı bir ayrıcalık yükseltme
dynamodb:GetItem
dynamodb:GetItem
Önceki izinlere benzer şekilde, bu izin potansiyel bir saldırganın, alınacak girişin birincil anahtarını vererek sadece 1 tablodan değerleri okumasına olanak tanır:
Bu izinle birlikte transact-get-items
yöntemini de kullanmak mümkündür:
Potansiyel Etki: Hassas bilgilerin tabloda bulunarak dolaylı bir şekilde ayrıcalık yükseltilmesi
dynamodb:Query
dynamodb:Query
Önceki izinlere benzer şekilde, bu izin potansiyel bir saldırganın, geri almak için girişin birincil anahtarını vererek yalnızca 1 tablodan değerleri okumasına olanak tanır. Karşılaştırmaların bir alt kümesine izin verir, ancak birincil anahtarla yapılan tek izin verilen karşılaştırma "EQ" olduğundan, bir istekte tüm veritabanını almak için bir karşılaştırma kullanamazsınız.
Potansiyel Etki: Tabloda hassas bilgileri bulmak suretiyle dolaylı bir ayrıcalık yükseltme
dynamodb:Scan
dynamodb:Scan
Bu izni kullanarak tablonun tamamını kolayca dökümleyebilirsiniz.
Potansiyel Etki: Hassas bilgilerin tabloda bulunarak dolaylı bir şekilde ayrıcalık yükseltmesi yapılabilir.
dynamodb:PartiQLSelect
dynamodb:PartiQLSelect
Bu izni kullanarak tüm tabloyu kolayca dökümleyebilirsiniz.
Bu izin ayrıca batch-execute-statement
gibi işlemleri gerçekleştirmeye olanak sağlar:
Ancak bir değerle birincil anahtarı belirtmeniz gerektiğinden dolayı, bu çok kullanışlı değildir.
Potansiyel Etki: Tabloda hassas bilgileri bulmak suretiyle dolaylı bir ayrıcalık yükseltme
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
dynamodb:ExportTableToPointInTime|(dynamodb:UpdateContinuousBackups)
Bu izin, bir saldırganın tabloyu kendi seçtiği bir S3 kovasına tamamen dışa aktarmasına izin verecektir:
Bu işin çalışması için tablonun zaman içinde geri kazanım özelliğine sahip olması gerekmektedir, tablonun bunu kontrol etmek için kullanabilirsiniz:
Eğer etkinleştirilmemişse, onu etkinleştirmeniz gerekecek ve bunun için dynamodb:ExportTableToPointInTime
iznine ihtiyacınız olacak:
Potansiyel Etki: Hassas bilgileri tabloda bulunarak dolaylı bir şekilde ayrıcalık yükseltme
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
dynamodb:CreateTable
, dynamodb:RestoreTableFromBackup
, (dynamodb:CreateBackup)
Bu izinlerle, bir saldırgan bir yedekten yeni bir tablo oluşturabilir (veya hatta bir yedek oluşturup daha sonra farklı bir tabloda geri yükleyebilir). Ardından, gerekli izinlerle, üretim tablosunda artık bulunmayan yedeklerden bilgi kontrol edebilir.
Potansiyel Etki: Tablo yedeklemesinde hassas bilgilerin bulunarak dolaylı bir ayrıcalık yükselmesi
dynamodb:PutItem
dynamodb:PutItem
Bu izin, kullanıcıların tabloya yeni bir öğe eklemesine veya mevcut bir öğeyi yeni bir öğeyle değiştirmesine izin verir. Aynı birincil anahtara sahip bir öğe zaten varsa, tüm öğe yeni öğeyle değiştirilecektir. Birincil anahtar mevcut değilse, belirtilen birincil anahtara sahip yeni bir öğe oluşturulur.
Potansiyel Etki: Bir DynamoDB tablosunda veri ekleyerek veya değiştirerek daha fazla zafiyet/bypassın sömürülmesi
dynamodb:UpdateItem
dynamodb:UpdateItem
Bu izin, kullanıcıların bir öğenin mevcut özniteliklerini değiştirmesine veya bir öğeye yeni öznitelikler eklemesine olanak tanır. Tüm öğeyi değiştirmez, yalnızca belirtilen öznitelikleri günceller. Eğer birincil anahtar tabloda mevcut değilse, işlem belirtilen birincil anahtara sahip yeni bir öğe oluşturacak ve güncelleme ifadesinde belirtilen öznitelikleri ayarlayacaktır.
Potansiyel Etki: Bir saldırgan, bir DynamoDB tablosunu silebilir ve böylece veri kaybına neden olabilir.
dynamodb:DeleteTable
dynamodb:DeleteTable
Bu izne sahip bir saldırgan, bir DynamoDB tablosunu silebilir ve böylece veri kaybına neden olabilir.
Potansiyel etki: Silinen tabloya dayanan hizmetlerin veri kaybı ve kesintiye uğraması.
dynamodb:DeleteBackup
dynamodb:DeleteBackup
Bu izne sahip bir saldırgan, bir DynamoDB yedeklemesini silebilir ve böylece bir felaket kurtarma senaryosunda veri kaybına neden olabilir.
Potansiyel etki: Veri kaybı ve felaket kurtarma senaryosunda yedekten geri dönme yeteneğinin kaybedilmesi.
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
dynamodb:StreamSpecification
, dynamodb:UpdateTable
, dynamodb:DescribeStream
, dynamodb:GetShardIterator
, dynamodb:GetRecords
TODO: Bu gerçekten çalışıyor mu diye test edin
Bu izinlere sahip bir saldırgan, bir DynamoDB tablosunda bir akışı etkinleştirebilir, tabloyu güncellemek için akışı başlatabilir ve ardından tablodaki değişiklikleri izlemek için akışa erişebilir. Bu, saldırganın veri değişikliklerini izlemesine ve potansiyel olarak veri sızıntısına yol açabilecek veri değişikliklerini dışarıya aktarmasına olanak tanır.
Bir DynamoDB tablosunda bir akışı etkinleştirin:
ARN ve diğer ayrıntıları elde etmek için akışı açıklayın:
Akış ARN'sini kullanarak parçacık yineleyicisini alın:
Akıştan veriye erişmek ve veriyi dışarı çıkarmak için parçacık işaretçisini kullanın:
Potansiyel etki: DynamoDB tablosunun değişikliklerinin gerçek zamanlı izlenmesi ve veri sızdırılması.
Last updated