Translated ['src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp

This commit is contained in:
Translator
2025-09-29 21:17:28 +00:00
parent aa433fe0e5
commit 316e172c80
5 changed files with 268 additions and 49 deletions

View File

@@ -4,41 +4,41 @@
<figure><img src="../images/CLOUD-logo-letters.svg" alt=""><figcaption></figcaption></figure>
## Basic Methodology
## Basiese Metodologie
Elke wolk het sy eie eienaardighede, maar oor die algemeen is daar 'n paar **gemeenskaplike dinge wat 'n pentester moet nagaan** wanneer 'n wolkomgewing getoets word:
Elke cloud het sy eie eienaardighede maar oor die algemeen is daar 'n paar **gemeenskaplike dinge wat 'n pentester moet nagaan** wanneer 'n cloud-omgewing getoets word:
- **Benchmark kontroles**
- Dit sal jou help om **die grootte** van die omgewing en **dienste wat gebruik word** te **begryp**.
- Dit sal jou ook toelaat om 'n paar **vinnige miskonfigurasies** te vind, aangesien jy die meeste van hierdie toetse met **geoutomatiseerde gereedskap** kan uitvoer.
- **Dienste Enumerasie**
- Jy sal waarskynlik nie veel meer miskonfigurasies hier vind as jy die benchmark toetse korrek uitgevoer het nie, maar jy mag dalk sommige vind wat nie in die benchmark toets gesoek is nie.
- Dit sal jou toelaat om te weet **wat presies gebruik word** in die wolkomgewing.
- Dit sal baie help in die volgende stappe.
- **Kontroleer blootgestelde bates**
- Dit kan gedoen word tydens die vorige afdeling, jy moet **uitvind alles wat potensieel blootgestel is** aan die Internet op een of ander manier en hoe dit toegang kan verkry.
- Hier neem ek **handmatig blootgestelde infrastruktuur** soos instansies met webbladsye of ander poorte wat blootgestel word, en ook oor ander **wolkkontroleerde dienste wat geconfigureer kan word** om blootgestel te word (soos DB's of emmers).
- Dan moet jy nagaan **of daardie hulpbron blootgestel kan word of nie** (vertroulike inligting? kwesbaarhede? miskonfigurasies in die blootgestelde diens?).
- **Kontroleer toestemmings**
- Hier moet jy **alle toestemmings van elke rol/gebruiker** binne die wolk uitvind en hoe dit gebruik word.
- Te **veel hoogs bevoorregte** (beheer alles) rekeninge? Gekreëerde sleutels wat nie gebruik word?... Die meeste van hierdie kontroles moes reeds in die benchmark toetse gedoen gewees het.
- As die kliënt OpenID of SAML of ander **federasie** gebruik, mag jy hulle moet vra vir verdere **inligting** oor **hoe elke rol toegeken word** (dit is nie dieselfde as om die admin rol aan 1 gebruiker of aan 100 toe te ken nie).
- Dit is **nie genoeg om te vind** watter gebruikers **admin** toestemmings het "\*:\*". Daar is baie **ander toestemmings** wat, afhangende van die dienste wat gebruik word, baie **sensitief** kan wees.
- Boonop is daar **potensiële privesc** maniere om te volg deur toestemmings te misbruik. Al hierdie dinge moet in ag geneem word en **so veel privesc paaie as moontlik** moet gerapporteer word.
- Dit sal jou help om die **grootte van die omgewing** en die **gebruikte dienste** te verstaan
- Dit sal jou ook toelaat om 'n paar **vinnige miskonfigurasies** te vind aangesien jy die meeste van hierdie toetse met **geoutomatiseerde gereedskap** kan uitvoer
- **Services Enumeration**
- Jy sal waarskynlik nie baie meer miskonfigurasies hier vind as jy die benchmark-toetse korrek uitgevoer het nie, maar jy kan dalk sommige vind wat nie in die benchmark-toets nagegaan is nie.
- Dit sal jou toelaat om te weet **wat presies in die cloud-omgewing gebruik word**
- Dit sal baie help in die volgende stappe
- **Kontroleer blootgestelde assets**
- Dit kan gedoen word tydens die vorige afdeling; jy moet **uitvind alles wat potensieel blootgestel is** aan die Internet op een of ander manier en hoe dit benader kan word.
- Hier bedoel ek **manueel blootgestelde infrastruktuur** soos instances met webblaaie of ander poorte wat blootgestel is, en ook ander **cloud managed services wat gekonfigureer kan word** om blootgestel te word (soos DBs of buckets)
- Dan moet jy nagaan **of daardie hulpbron blootgestel kan word of nie** (konfidensiële inligting? vulnerabilities? miskonfigurasies in die blootgestelde diens?)
- **Kontroleer permissies**
- Hier moet jy **uitvind al die permissies van elke rol/gebruiker** binne die cloud en hoe dit gebruik word
- Te **baie hoogs geprivilegieerde** (beheer alles) rekeninge? Gegenereerde sleutels nie gebruik nie? ... Die meeste van hierdie kontroles behoort reeds in die benchmark-toetse gedoen te wees
- As die kliënt OpenID of SAML of ander **federation** gebruik, moet jy hulle dalk vra vir verdere **inligting** oor **hoe elke rol toegewys word** (dit is nie dieselfde dat die admin-rol aan 1 gebruiker of aan 100 toegeken is nie)
- Dit is **nie genoeg om te vind** watter gebruikers **admin** permissies "*:*" het nie. Daar is baie **ander permissies** wat, afhangende van die dienste wat gebruik word, baie **sensitief** kan wees.
- Boonop is daar **potensiële privesc** maniere om te volg deur permissies te misbruik. Al hierdie dinge moet in ag geneem word en **soveel privesc-paaie as moontlik** moet gerapporteer word.
- **Kontroleer Integrasies**
- Dit is hoogs waarskynlik dat **integrasies met ander wolke of SaaS** binne die wolkomgewing gebruik word.
- Vir **integrasies van die wolk wat jy oudit** met ander platforms moet jy **ken wie toegang het tot (mis)bruik daardie integrasie** en jy moet vra **hoe sensitief** die aksie wat uitgevoer word is.\
Byvoorbeeld, wie kan skryf in 'n AWS-emmer waar GCP data van ontvang (vra hoe sensitief die aksie in GCP is wat daardie data hanteer).
- Vir **integrasies binne die wolk wat jy oudit** van eksterne platforms, moet jy vra **wie toegang het van buite om (mis)bruik te maak van daardie integrasie** en nagaan hoe daardie data gebruik word.\
Byvoorbeeld, as 'n diens 'n Docker-beeld gebruik wat in GCR gehos is, moet jy vra wie toegang het om dit te wysig en watter sensitiewe inligting en toegang daardie beeld sal kry wanneer dit binne 'n AWS-wolk uitgevoer word.
- Dit is hoogs waarskynlik dat **integrasies met ander clouds of SaaS** binne die cloud-omgewing gebruik word.
- Vir **integrations of the cloud you are auditing** met ander platform, moet jy kennis gee wie toegang het om daardie integrasie te (ab)use en jy moet vra hoe **sensitief** die aksie is wat uitgevoer word.\
Byvoorbeeld, wie kan skryf in 'n AWS bucket waar GCP data vandaan kry (vra hoe sensitief die aksie is in GCP wanneer daardie data verwerk word).
- Vir **integrations inside the cloud you are auditing** vanaf eksterne platforms, moet jy vra **wie ekstern toegang het om daardie integrasie te (ab)use** en nagaan hoe daardie data gebruik word.\
Byvoorbeeld, as 'n diens 'n Docker image gebruik wat in GCR gehuisves is, moet jy vra wie toegang het om dit te wysig en watter sensitiewe inligting en toegang daardie image sal kry wanneer dit binne 'n AWS cloud uitgevoer word.
## Multi-Cloud tools
## Multi-Cloud gereedskap
Daar is verskeie gereedskap wat gebruik kan word om verskillende wolkomgewings te toets. Die installasietappe en skakels sal in hierdie afdeling aangedui word.
Daar is verskeie gereedskap wat gebruik kan word om verskillende cloud-omgewings te toets. Die installasiestappe en skakels sal in hierdie afdeling aangedui word.
### [PurplePanda](https://github.com/carlospolop/purplepanda)
'n Gereedskap om **slegte konfigurasies en privesc paaie in wolke en oor wolke/SaaS te identifiseer.**
A tool to **identify bad configurations and privesc path in clouds and across clouds/SaaS.**
{{#tabs }}
{{#tab name="Install" }}
@@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env
### [Prowler](https://github.com/prowler-cloud/prowler)
Dit ondersteun **AWS, GCP & Azure**. Kyk hoe om elke verskaffer te konfigureer in [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
Dit ondersteun **AWS, GCP & Azure**. Kyk hoe om elke provider te konfigureer by [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
```bash
# Install
pip install prowler
@@ -91,7 +91,7 @@ prowler <provider> --list-services
AWS, Azure, Github, Google, Oracle, Alibaba
{{#tabs }}
{{#tab name="Installeer" }}
{{#tab name="Install" }}
```bash
# Install
git clone https://github.com/aquasecurity/cloudsploit.git
@@ -115,7 +115,7 @@ npm install
AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure
{{#tabs }}
{{#tab name="Installeer" }}
{{#tab name="Install" }}
```bash
mkdir scout; cd scout
virtualenv -p python3 venv
@@ -145,7 +145,7 @@ done
### [Steampipe](https://github.com/turbot)
{{#tabs }}
{{#tab name="Installeer" }}
{{#tab name="Install" }}
Laai Steampipe af en installeer dit ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Of gebruik Brew:
```
brew tap turbot/tap
@@ -170,7 +170,7 @@ steampipe check all
<summary>Kontroleer alle Projekte</summary>
Om al die projekte te kontroleer, moet jy die `gcp.spc` lêer genereer wat al die projekte aandui wat getoets moet word. Jy kan net die aanduidings van die volgende skrif volg.
Om al die projekte te kontroleer, moet jy die `gcp.spc`-lêer genereer wat al die projekte aandui wat getoets moet word. Jy kan net die instruksies van die volgende script volg
```bash
FILEPATH="/tmp/gcp.spc"
rm -rf "$FILEPATH" 2>/dev/null
@@ -194,11 +194,11 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate
```
</details>
Om **ander GCP insigte** te kontroleer (nuttig vir die opspoor van dienste) gebruik: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
Om **ander GCP-insigte** te kontroleer (nuttig vir die enumerering van dienste) gebruik: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
Om Terraform GCP kode te kontroleer: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
Om Terraform GCP code te kontroleer: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
Meer GCP plugins van Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
Meer GCP-plugins van Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
{{#endtab }}
{{#tab name="AWS" }}
@@ -225,9 +225,9 @@ cd steampipe-mod-aws-compliance
steampipe dashboard # To see results in browser
steampipe check all --export=/tmp/output4.json
```
Om Terraform AWS kode te kontroleer: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
To check Terraform AWS code: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance)
Meer AWS-inproppe van Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
More AWS plugins of Steampipe: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws)
{{#endtab }}
{{#endtabs }}
@@ -238,11 +238,11 @@ Dit vereis python2.7 en lyk ononderhou.
### Nessus
Nessus het 'n _**Audit Cloud Infrastructure**_ skandering wat ondersteun: AWS, Azure, Office 365, Rackspace, Salesforce. Sommige ekstra konfigurasies in **Azure** is nodig om 'n **Client Id** te verkry.
Nessus het 'n _**Audit Cloud Infrastructure**_ scan wat ondersteun: AWS, Azure, Office 365, Rackspace, Salesforce. Sommige ekstra konfigurasies in **Azure** is nodig om 'n **Client Id** te bekom.
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
Cloudlist is 'n **multi-cloud hulpmiddel om Bate** (Gasname, IP Adresse) van Cloud Verskaffers te verkry.
Cloudlist is 'n **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) vanaf Cloud Providers.
{{#tabs }}
{{#tab name="Cloudlist" }}
@@ -265,7 +265,7 @@ cloudlist -config </path/to/config>
### [**cartography**](https://github.com/lyft/cartography)
Cartography is 'n Python-gereedskap wat infrastruktuur bates en die verhoudings tussen hulle in 'n intuïtiewe grafiekweergave saamvoeg, aangedryf deur 'n Neo4j-databasis.
Cartography is 'n Python-hulpmiddel wat infrastruktuur-bates en die verhoudings tussen hulle konsolideer in 'n intuïtiewe grafiese aansig wat deur 'n Neo4j-databasis aangedryf word.
{{#tabs }}
{{#tab name="Install" }}
@@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \
### [**starbase**](https://github.com/JupiterOne/starbase)
Starbase versamel bates en verhoudings van dienste en stelsels, insluitend wolkinfrastruktuur, SaaS-toepassings, sekuriteitsbeheer, en meer in 'n intuïtiewe grafiekweergave wat deur die Neo4j-databasis ondersteun word.
Starbase versamel bates en verhoudings van dienste en stelsels, insluitend cloud infrastruktuur, SaaS-toepassings, sekuriteitskontroles en meer, in 'n intuïtiewe grafiek-uitsig wat deur die Neo4j-databasis ondersteun word.
{{#tabs }}
{{#tab name="Install" }}
@@ -361,7 +361,7 @@ uri: bolt://localhost:7687
### [**SkyArk**](https://github.com/cyberark/SkyArk)
Ontdek die mees bevoorregte gebruikers in die gescande AWS of Azure omgewing, insluitend die AWS Shadow Admins. Dit gebruik powershell.
Ontdek die gebruikers met die hoogste voorregte in die gescande AWS- of Azure-omgewing, insluitend die AWS Shadow Admins. Dit gebruik powershell.
```bash
Import-Module .\SkyArk.ps1 -force
Start-AzureStealth
@@ -372,15 +372,15 @@ Scan-AzureAdmins
```
### [Cloud Brute](https://github.com/0xsha/CloudBrute)
'n Gereedskap om 'n maatskappy (teiken) infrastruktuur, lêers en toepassings op die top wolkverskaffers (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) te vind.
'n gereedskap om 'n maatskappy (teiken) se infrastruktuur, lêers en apps op die top cloud-aanbieders (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) te vind.
### [CloudFox](https://github.com/BishopFox/cloudfox)
- CloudFox is 'n gereedskap om uitbuitbare aanvalspaaie in wolkinfrastruktuur te vind (huidiglik slegs AWS & Azure ondersteun met GCP wat kom).
- Dit is 'n enumerasie-gereedskap wat bedoel is om handmatige pentesting aan te vul.
- Dit skep of wysig nie enige data binne die wolkomgewing nie.
- CloudFox is 'n gereedskap om exploitable attack paths in cloud infrastructure te vind (tans slegs AWS & Azure ondersteun met GCP binnekort).
- Dit is 'n enumeration tool wat bedoel is om manuele pentesting aan te vul.
- Dit skep of wysig geen data binne die cloud-omgewing nie.
### Meer lyste van wolk sekuriteitsgereedskap
### More lists of cloud security tools
- [https://github.com/RyanJarv/awesome-cloud-sec](https://github.com/RyanJarv/awesome-cloud-sec)
@@ -410,12 +410,12 @@ aws-security/
azure-security/
{{#endref}}
### Aanval Grafiek
### Attack Graph
[**Stormspotter** ](https://github.com/Azure/Stormspotter) skep 'n “aanval grafiek” van die hulpbronne in 'n Azure intekening. Dit stel rooi span en pentesters in staat om die aanvaloppervlak en draaipunte binne 'n huurder te visualiseer, en versterk jou verdedigers om vinnig te oriënteer en prioriteit te gee aan insidentresponswerk.
[**Stormspotter** ](https://github.com/Azure/Stormspotter) skep 'n “attack graph” van die resources in 'n Azure subscription. Dit stel red teams en pentesters in staat om die attack surface en pivot opportunities binne 'n tenant te visualiseer, en gee jou defenders 'n reuse hupstoot om vinnig te oriënteer en incident response werk te prioritiseer.
### Office365
Jy het **Global Admin** of ten minste **Global Admin Reader** nodig (maar let daarop dat Global Admin Reader 'n bietjie beperk is). Hierdie beperkings verskyn egter in sommige PS-modules en kan omseil word deur toegang te verkry tot die funksies **via die webtoepassing**.
Jy het **Global Admin** of ten minste **Global Admin Reader** nodig (maar let wel dat Global Admin Reader ietwat beperk is). Hierdie beperkings verskyn egter in sommige PS modules en kan omseil word deur die funksies via die webtoepassing te gebruik.
{{#include ../banners/hacktricks-training.md}}