AWS - Datapipeline Privesc
datapipeline
Aby uzyskać więcej informacji na temat Data Pipeline, sprawdź:
AWS - DataPipeline, CodePipeline & CodeCommit Enumiam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
iam:PassRole
, datapipeline:CreatePipeline
, datappipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
Użytkownicy z tymi uprawnieniami mogą eskalować uprawnienia, tworząc Data Pipeline do wykonywania 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ą do przyjęcia przez datapipeline.amazonaws.com, a rola w linii 28 musi być rolą do przyjęcia przez ec2.amazonaws.com z profilem EC2 instance.
Co więcej, instancja EC2 będzie miała dostęp tylko do roli do przyjęcia przez instancję EC2 (więc można ukraść tylko tę).
Plik definicji potoku, stworzony przez atakującego, zawiera dyrektywy do wykonania poleceń lub tworzenia zasobów za pośrednictwem interfejsu API AWS, wykorzystując uprawnienia roli Data Pipeline do potencjalnego uzyskania dodatkowych uprawnień.
Potencjalny wpływ: Bezpośrednie podniesienie uprawnień do roli usługi ec2 określonej.
Referencje
Last updated