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

This commit is contained in:
Translator
2025-08-01 10:13:33 +00:00
parent a4d144f066
commit f40126626c
47 changed files with 558 additions and 371 deletions

View File

@@ -1,13 +1,15 @@
# GCP - Toestemmings vir 'n Pentest
As jy 'n GCP-omgewing wil pentest, moet jy vir genoeg toestemmings vra om **alle of die meeste van die dienste** wat in **GCP** gebruik word, te **kontroleer**. Ideaal gesproke moet jy die kliënt vra om te skep:
{{#include ../../banners/hacktricks-training.md}}
As jy 'n GCP-omgewing wil pentest, moet jy vir genoeg toelaatings vra om **alle of die meeste van die dienste** wat in **GCP** gebruik word, te **kontroleer**. Ideaal gesproke moet jy die kliënt vra om te skep:
* **Skep** 'n nuwe **projek**
* **Skep** 'n **Diensrekening** binne daardie projek (kry **json-akkrediteer** ) of skep 'n **nuwe gebruiker**.
* **Gee** die **Diensrekening** of die **gebruiker** die **rolle** wat later oor die ORGANISASIE genoem word
* **Aktiveer** die **APIs** wat later in hierdie pos in die geskepte projek genoem word
**Stel van toestemmings** om die gereedskap wat later voorgestel word, te gebruik:
**Stel van toelaatings** om die gereedskap wat later voorgestel word, te gebruik:
```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 - Volharding
{{#include ../../../banners/hacktricks-training.md}}

View File

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

View File

@@ -19,11 +19,11 @@ curl -X POST https://cloudfunctions.googleapis.com/v2/projects/{project-id}/loca
-H "Content-Type: application/json" \
-d '{}'
```
### Steel Cloud Funksie Versoeke
### Steal Cloud Function Requests
As die Cloud Funksie sensitiewe inligting bestuur wat gebruikers stuur (bv. wagwoorde of tokens), kan jy met genoeg bevoegdhede die **bronkode van die funksie wysig en** hierdie inligting **uitvoer**.
As die Cloud Function sensitiewe inligting bestuur wat gebruikers stuur (bv. wagwoorde of tokens), met genoeg regte kan jy **die bronne kode van die funksie wysig en hierdie inligting uitbring**.
Boonop gebruik Cloud Funksies wat in python loop **flask** om die webbediener bloot te stel. As jy op een of ander manier 'n kode-inspuitingskwesbaarheid binne die flaks-proses vind (soos 'n SSTI-kwesbaarheid), is dit moontlik om die **funksiehandler** te **oorskry** wat die HTTP-versoeke gaan ontvang vir 'n **kwaadwillige funksie** wat die **versoek kan uitvoer** voordat dit aan die regte handler oorgedra word.
Boonop gebruik Cloud Functions wat in python loop **flask** om die webbediener bloot te stel, as jy op een of ander manier 'n kode-inspuitingskwesbaarheid binne die flaks-proses vind (soos 'n SSTI-kwesbaarheid), is dit moontlik om die **funksiehandler te oorskry** wat die HTTP-versoeke gaan ontvang vir 'n **kwaadaardige funksie** wat kan **die versoek uitbring** voordat dit aan die regte handler oorgedra word.
Byvoorbeeld, hierdie kode implementeer die aanval:
```python
@@ -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 - Voeg Aangepaste SSH Metadata By
## GCP - Voeg Aangepaste SSH Metadata By
{{#include ../../../../banners/hacktricks-training.md}}
### Wysig die metadata <a href="#modifying-the-metadata" id="modifying-the-metadata"></a>
## Wysig die metadata <a href="#modifying-the-metadata" id="modifying-the-metadata"></a>
Metadata-wysig op 'n instansie kan lei tot **beduidende sekuriteitsrisiko's as 'n aanvaller die nodige toestemmings verkry**.
Metadata-wijziging op 'n instansie kan lei tot **beduidende sekuriteitsrisiko's as 'n aanvaller die nodige toestemmings verkry**.
#### **Inkorporering van SSH Sleutels in Aangepaste Metadata**
### **Inkorporering van SSH Sleutels in Aangepaste Metadata**
Op GCP, **Linux stelsels** voer dikwels skripte uit vanaf die [Python Linux Guest Environment for Google Compute Engine](https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts). 'n Kritieke komponent hiervan is die [accounts daemon](https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts), wat ontwerp is om **gereeld** die instansie metadata-eindpunt na te gaan vir **opdaterings van die geautoriseerde SSH publieke sleutels**.
Op GCP, **Linux stelsels** voer dikwels skripte uit vanaf die [Python Linux Guest Environment for Google Compute Engine](https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts). 'n Kritieke komponent hiervan is die [accounts daemon](https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts), wat ontwerp is om **gereeld** die instansie metadata-eindpunt na te gaan vir **opdaterings aan die geautoriseerde SSH publieke sleutels**.
Daarom, as 'n aanvaller aangepaste metadata kan wysig, kan hy die daemon laat vind 'n nuwe publieke sleutel, wat verwerk sal word en **geïntegreer sal word in die plaaslike stelsel**. Die sleutel sal bygevoeg word in die `~/.ssh/authorized_keys` lêer van 'n **bestaande gebruiker of moontlik 'n nuwe gebruiker met `sudo` toestemmings skep**, afhangende van die sleutel se formaat. En die aanvaller sal in staat wees om die gasheer te kompromitteer.
Daarom, as 'n aanvaller aangepaste metadata kan wysig, kan hy die daemon laat vind 'n nuwe publieke sleutel, wat verwerk en **geïntegreer sal word in die plaaslike stelsel**. Die sleutel sal bygevoeg word in die `~/.ssh/authorized_keys` lêer van 'n **bestaande gebruiker of moontlik 'n nuwe gebruiker met `sudo` regte skep**, afhangende van die sleutel se formaat. En die aanvaller sal in staat wees om die gasheer te kompromitteer.
#### **Voeg SSH sleutel by bestaande bevoorregte gebruiker**
### **Voeg SSH sleutel by bestaande bevoorregte gebruiker**
1. **Ondersoek Bestaande SSH Sleutels op die Instansie:**
@@ -55,9 +53,9 @@ ssh -i ./key alice@localhost
sudo id
```
#### **Skep 'n nuwe bevoorregte gebruiker en voeg 'n SSH sleutel by**
### **Skep 'n nuwe bevoorregte gebruiker en voeg 'n SSH sleutel by**
As daar geen interessante gebruiker gevind word nie, is dit moontlik om 'n nuwe een te skep wat `sudo` toestemmings gegee sal word:
As daar geen interessante gebruiker gevind word nie, is dit moontlik om 'n nuwe een te skep wat `sudo` regte gegee sal word:
```bash
# define the new account username
NEWUSER="definitelynotahacker"
@@ -75,9 +73,9 @@ gcloud compute instances add-metadata [INSTANCE_NAME] --metadata-from-file ssh-k
# ssh to the new account
ssh -i ./key "$NEWUSER"@localhost
```
#### SSH sleutels op projekvlak <a href="#sshing-around" id="sshing-around"></a>
### SSH sleutels op projekvlak <a href="#sshing-around" id="sshing-around"></a>
Dit is moontlik om die bereik van SSH-toegang na verskeie Virtuele Masjiene (VM's) in 'n wolkomgewing te verbreed deur **SSH sleutels op projekvlak toe te pas**. Hierdie benadering laat SSH-toegang toe tot enige instansie binne die projek wat nie eksplisiet projekwye SSH sleutels geblokkeer het nie. Hier is 'n samegevatte gids:
Dit is moontlik om die bereik van SSH-toegang tot verskeie Virtuele Masjiene (VM's) in 'n wolkomgewing te verbreed deur **SSH sleutels op projekvlak toe te pas**. Hierdie benadering laat SSH-toegang toe tot enige instansie binne die projek wat nie eksplisiet projekwye SSH sleutels geblokkeer het nie. Hier is 'n samegevatte gids:
1. **Pas SSH Sleutels op die Projekvlak toe:**
@@ -88,7 +86,7 @@ gcloud compute project-info add-metadata --metadata-from-file ssh-keys=meta.txt
```
2. **SSH in Instansies met Projekwye Sleutels:**
- Met projekwye SSH sleutels in plek, kan jy SSH in enige instansie binne die projek. Instansies wat nie projekwye sleutels blokkeer nie, sal die SSH sleutel aanvaar, wat toegang verleen.
- Met projekwye SSH sleutels in plek, kan jy SSH in enige instansie binne die projek. Instansies wat nie projekwye sleutels blokkeer nie, sal die SSH sleutel aanvaar en toegang verleen.
- 'n Direkte metode om in 'n instansie te SSH is deur die `gcloud compute ssh [INSTANCE]` opdrag te gebruik. Hierdie opdrag gebruik jou huidige gebruikersnaam en die SSH sleutels wat op projekvlak gestel is om toegang te probeer verkry.
## Verwysings

View File

@@ -4,9 +4,9 @@
## serviceusage
Die volgende toestemmings is nuttig om API-sleutels te skep en te steel, let op dit uit die dokumentasie: _'n API-sleutel is 'n eenvoudige versleutelde string wat **'n toepassing identifiseer sonder enige prinsiep**. Hulle is nuttig om **publieke data anoniem** te bekom, en word gebruik om **te assosieer** API-versoeke met jou projek vir kwota en **faktuur**._
Die volgende toestemmings is nuttig om API-sleutels te skep en te steel, let op dit uit die dokumentasie: _'n API-sleutel is 'n eenvoudige versleutelde string wat **'n toepassing identifiseer sonder enige prinsiep**. Hulle is nuttig om **publieke data anoniem** te bekom, en word gebruik om API-versoeke met jou projek te **assosieer** vir kwota en **faktuur**._
Daarom, met 'n API-sleutel kan jy daardie maatskappy laat betaal vir jou gebruik van die API, maar jy sal nie in staat wees om voorregte te verhoog nie.
Daarom kan jy met 'n API-sleutel daardie maatskappy laat betaal vir jou gebruik van die API, maar jy sal nie in staat wees om bevoegdhede te verhoog nie.
Om ander toestemmings en maniere om API-sleutels te genereer te leer, kyk:
@@ -16,7 +16,7 @@ gcp-apikeys-privesc.md
### `serviceusage.apiKeys.create`
'n Ondokumenteerde API is gevind wat gebruik kan word om **API-sleutels te skep:**
'n Ongedokumenteerde API is gevind wat gebruik kan word om **API-sleutels te skep:**
```bash
curl -XPOST "https://apikeys.clients6.google.com/v1/projects/<project-uniq-name>/apiKeys?access_token=$(gcloud auth print-access-token)"
```
@@ -30,24 +30,28 @@ curl "https://apikeys.clients6.google.com/v1/projects/<project-uniq-name>/apiKey
Met hierdie toestemmings kan 'n aanvaller nuwe dienste in die projek aktiveer en gebruik. Dit kan 'n **aanvaller toelaat om dienste soos admin of cloudidentity te aktiveer** om te probeer om toegang tot Workspace-inligting te verkry, of ander dienste om toegang tot interessante data te verkry.
## **Verwysings**
## **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>Ondersteun HackTricks en kry voordele!</strong></summary>
<summary><strong>Support HackTricks and get benefits!</strong></summary>
Werk jy in 'n **kubersekuriteitsmaatskappy**? Wil jy jou **maatskappy in HackTricks adverteer**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks in PDF aflaai**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
Werk jy in 'n **cybersecurity company**? Wil jy jou **company in HackTricks adverteer**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of HackTricks in PDF aflaai**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
Kry die [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
**Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** [**🐦**](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)**.**
**Deel jou hacking truuks deur PRs in te dien na die** [**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 - Dienste
{{#include ../../../banners/hacktricks-training.md}}