AWS - Datapipeline Privesc
datapipeline
Aby uzyskać więcej informacji na temat usługi datapipeline, sprawdź:
pageAWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
Użytkownicy posiadający te uprawnienia mogą eskalować uprawnienia, tworząc potok danych w celu wykonania dowolnych poleceń przy użyciu uprawnień przypisanej roli:
Po utworzeniu potoku, atakujący aktualizuje jego definicję, aby określić konkretne działania lub tworzenie zasobów:
Należy pamiętać, że rola w liniach 14, 15 i 27 musi być rolą możliwą do założenia przez datapipeline.amazonaws.com, a rola w linii 28 musi być rolą możliwą do założenia przez ec2.amazonaws.com z profilem EC2.
Ponadto, instancja EC2 będzie miała dostęp tylko do roli możliwej do założenia przez instancję EC2 (można tylko ją ukraść).
```bash aws datapipeline put-pipeline-definition --pipeline-id \ --pipeline-definition file:///pipeline/definition.json ``` **Plik definicji potoku, stworzony przez atakującego, zawiera dyrektywy do wykonania poleceń** lub utworzenia zasobów za pomocą interfejsu API AWS, wykorzystując uprawnienia roli Data Pipeline w celu potencjalnego uzyskania dodatkowych uprawnień.
Potencjalne skutki: Bezpośrednie podniesienie uprawnień do określonej roli usługi EC2.
Referencje
Last updated