AWS - S3 Privesc
S3
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
s3:PutBucketNotification
, s3:PutObject
, s3:GetObject
Atakujący z tymi uprawnieniami do interesujących bucketów może być w stanie przejąć zasoby i eskalować uprawnienia.
Na przykład, atakujący z tymi uprawnieniami do bucketu cloudformation o nazwie "cf-templates-nohnwfax6a6i-us-east-1" będzie w stanie przejąć wdrożenie. Dostęp można przyznać za pomocą następującej polityki:
I przejęcie jest możliwe, ponieważ istnieje mały przedział czasowy od momentu przesłania szablonu do koszyka do momentu, gdy szablon jest wdrażany. Napastnik może po prostu stworzyć funkcję lambda w swoim koncie, która uruchomi się, gdy zostanie wysłane powiadomienie z koszyka, i przejmie zawartość tego koszyka.
Moduł Pacu cfn__resouce_injection
może być użyty do zautomatyzowania tego ataku.
Aby uzyskać więcej informacji, sprawdź oryginalne badania: https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/
s3:PutObject
, s3:GetObject
s3:PutObject
, s3:GetObject
To są uprawnienia do pobierania i przesyłania obiektów do S3. Kilka usług w AWS (i poza nim) używa przechowywania S3 do przechowywania plików konfiguracyjnych. Napastnik z dostępem do odczytu do nich może znaleźć wrażliwe informacje w nich. Napastnik z dostępem do zapisu do nich mógłby zmodyfikować dane, aby nadużyć jakiejś usługi i spróbować podnieść uprawnienia. Oto kilka przykładów:
Jeśli instancja EC2 przechowuje dane użytkownika w koszyku S3, napastnik mógłby je zmodyfikować, aby wykonać dowolny kod wewnątrz instancji EC2.
s3:PutBucketPolicy
s3:PutBucketPolicy
Napastnik, który musi być z tego samego konta, w przeciwnym razie wystąpi błąd The specified method is not allowed
, z tym uprawnieniem będzie mógł przyznać sobie więcej uprawnień do koszyka(ów), co pozwoli mu na odczyt, zapis, modyfikację, usunięcie i ujawnienie koszyków.
s3:GetBucketAcl
, s3:PutBucketAcl
s3:GetBucketAcl
, s3:PutBucketAcl
Napastnik mógłby nadużyć tych uprawnień, aby przyznać sobie więcej dostępu do konkretnych koszy. Należy zauważyć, że napastnik nie musi pochodzić z tego samego konta. Co więcej, dostęp do zapisu
s3:GetObjectAcl
, s3:PutObjectAcl
s3:GetObjectAcl
, s3:PutObjectAcl
Napastnik mógłby nadużyć tych uprawnień, aby przyznać sobie większy dostęp do konkretnych obiektów w obrębie kubełków.
s3:GetObjectAcl
, s3:PutObjectVersionAcl
s3:GetObjectAcl
, s3:PutObjectVersionAcl
Atakujący z tymi uprawnieniami powinien być w stanie ustawić Acl dla konkretnej wersji obiektu.
Last updated