Translated ['.github/pull_request_template.md', 'src/README.md', 'src/pe

This commit is contained in:
Translator
2025-01-02 00:00:08 +00:00
parent 931ae54e5f
commit 5dd38218dd
206 changed files with 1236 additions and 1254 deletions

View File

@@ -1,4 +1,4 @@
# GCP - Enumerazione e Accesso Non Autenticato
# GCP - Enumerazione e Accesso Non Autenticati
{{#include ../../../banners/hacktricks-training.md}}
@@ -10,9 +10,9 @@ Nota che altre risorse cloud potrebbero essere cercate e che a volte queste riso
## Brute-Force di Risorse Pubbliche
### Bucket, Firebase, App e Funzioni Cloud
### Bucket, Firebase, App e Cloud Functions
- [https://github.com/initstring/cloud_enum](https://github.com/initstring/cloud_enum): Questo strumento in GCP esegue brute-force su Bucket, Database Realtime di Firebase, siti Google App Engine e Funzioni Cloud
- [https://github.com/initstring/cloud_enum](https://github.com/initstring/cloud_enum): Questo strumento in GCP esegue brute-force su Bucket, Firebase Realtime Databases, siti Google App Engine e Cloud Functions
- [https://github.com/0xsha/CloudBrute](https://github.com/0xsha/CloudBrute): Questo strumento in GCP esegue brute-force su Bucket e App.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -14,7 +14,7 @@ Per ulteriori informazioni su App Engine, controlla:
Come accennato, l'URL assegnato alle pagine web di App Engine è **`<project-uniq-name>.appspot.com`** e se viene utilizzato un nome di servizio sarà: **`<servicename>-dot-<project-uniq-name>.appspot.com`**.
Poiché il **`project-uniq-name`** può essere impostato dalla persona che crea il progetto, potrebbe non essere così casuale e **il brute-forcing potrebbe trovare app web di App Engine esposte da aziende**.
Poiché il **`project-uniq-name`** può essere impostato dalla persona che crea il progetto, potrebbe non essere così casuale e **forzare questi nomi potrebbe trovare app web di App Engine esposte da aziende**.
Potresti utilizzare strumenti come quelli indicati in:

View File

@@ -12,10 +12,10 @@ Per ulteriori informazioni su Cloud Build, controlla:
### cloudbuild.yml
Se comprometti l'accesso in scrittura su un repository contenente un file chiamato **`cloudbuild.yml`**, potresti **backdoor** questo file, che specifica le **comandi che verranno eseguiti** all'interno di un Cloud Build ed esfiltrare i segreti, compromettere ciò che viene fatto e anche compromettere il **servizio account di Cloud Build.**
Se comprometti l'accesso in scrittura su un repository contenente un file chiamato **`cloudbuild.yml`**, potresti **backdoor** questo file, che specifica i **comandi che verranno eseguiti** all'interno di un Cloud Build ed esfiltrare i segreti, compromettere ciò che viene fatto e anche compromettere il **service account di Cloud Build.**
> [!NOTE]
> Nota che GCP ha l'opzione di consentire agli amministratori di controllare l'esecuzione dei sistemi di build da PR esterni tramite "Comment Control". Il Comment Control è una funzionalità in cui i collaboratori/proprietari del progetto **devono commentare “/gcbrun” per attivare il build** contro il PR e utilizzare questa funzionalità impedisce intrinsecamente a chiunque su Internet di attivare i tuoi sistemi di build.
> Nota che GCP ha l'opzione di consentire agli amministratori di controllare l'esecuzione dei sistemi di build da PR esterni tramite "Comment Control". Comment Control è una funzionalità in cui i collaboratori/proprietari del progetto **devono commentare “/gcbrun” per attivare il build** contro il PR e utilizzare questa funzionalità impedisce intrinsecamente a chiunque su Internet di attivare i tuoi sistemi di build.
Per alcune informazioni correlate, puoi controllare la pagina su come attaccare Github Actions (simile a questo):
@@ -25,7 +25,7 @@ Per alcune informazioni correlate, puoi controllare la pagina su come attaccare
### PR Approvals
Quando il trigger è PR perché **chiunque può eseguire PR su repository pubblici**, sarebbe molto pericoloso **consentire l'esecuzione del trigger con qualsiasi PR**. Pertanto, per impostazione predefinita, l'esecuzione sarà solo **automatica per i proprietari e i collaboratori**, e per eseguire il trigger con PR di altri utenti un proprietario o un collaboratore deve commentare `/gcbrun`.
Quando il trigger è PR perché **chiunque può eseguire PR su repository pubblici**, sarebbe molto pericoloso **consentire l'esecuzione del trigger con qualsiasi PR**. Pertanto, per impostazione predefinita, l'esecuzione sarà **automatica solo per i proprietari e i collaboratori**, e per eseguire il trigger con PR di altri utenti, un proprietario o un collaboratore deve commentare `/gcbrun`.
<figure><img src="../../../images/image (339).png" alt="" width="563"><figcaption></figcaption></figure>

View File

@@ -1,4 +1,4 @@
# GCP - Compute Unauthenticated Enum
# GCP - Enumerazione non autenticata di Compute
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,4 +1,4 @@
# GCP - IAM, Principali e Org Enum Non Autenticati
# GCP - IAM, Principali & Enum Unauthenticated dell'Org
{{#include ../../../banners/hacktricks-training.md}}
@@ -10,7 +10,7 @@ Per ulteriori informazioni controlla:
../gcp-services/gcp-iam-and-org-policies-enum.md
{{#endref}}
### È un dominio utilizzato in Workspace?
### È utilizzato un dominio in Workspace?
1. **Controlla i record DNS**
@@ -23,11 +23,11 @@ hacktricks.xyz. 3600 IN TXT "google-site-verification=2mWyPXMPXEEy6QqWbCfWkxFTc
hacktricks.xyz. 3600 IN TXT "google-site-verification=C19PtLcZ1EGyzUYYJTX1Tp6bOGessxzN9gqE-SVKhRA"
hacktricks.xyz. 300 IN TXT "v=spf1 include:usb._netblocks.mimecast.com include:_spf.google.com include:_spf.psm.knowbe4.com include:_spf.salesforce.com include:spf.mandrillapp.com ~all"
```
Se appare qualcosa come **`include:_spf.google.com`**, lo conferma (nota che se non appare non lo nega poiché un dominio può essere in Workspace senza utilizzare Gmail come fornitore di posta).
Se appare qualcosa come **`include:_spf.google.com`** conferma ciò (nota che se non appare non lo nega poiché un dominio può essere in Workspace senza utilizzare gmail come fornitore di posta).
2. **Prova a configurare un Workspace con quel dominio**
Un'altra opzione è provare a configurare un Workspace utilizzando il dominio; se **si lamenta che il dominio è già in uso** (come nell'immagine), sai che è già in uso!
Un'altra opzione è provare a configurare un Workspace utilizzando il dominio, se **si lamenta che il dominio è già in uso** (come nell'immagine), sai che è già in uso!
Per provare a configurare un dominio Workspace segui: [https://workspace.google.com/business/signup/welcome](https://workspace.google.com/business/signup/welcome)
@@ -39,9 +39,9 @@ Se conosci un indirizzo email valido utilizzato in quel dominio (come: admin@ema
### Enumerare email e account di servizio
È possibile **enumerare email valide di un dominio Workspace e email di SA** provando ad assegnare loro permessi e controllando i messaggi di errore. Per questo è necessario avere permessi per assegnare permessi a un progetto (che può essere solo di tua proprietà).
È possibile **enumerare email valide di un dominio Workspace e email di SA** provando ad assegnare loro permessi e controllando i messaggi di errore. Per questo è sufficiente avere permessi per assegnare permessi a un progetto (che può essere solo di tua proprietà).
Nota che per controllarli, ma anche se esistono, non concedere loro un permesso puoi usare il tipo **`serviceAccount`** quando è un **`user`** e **`user`** quando è un **`SA`**:
Nota che per controllarli ma anche se esistono non concedere loro un permesso puoi usare il tipo **`serviceAccount`** quando è un **`user`** e **`user`** quando è un **`SA`**:
```bash
# Try to assign permissions to user 'unvalid-email-34r434f@hacktricks.xyz'
# but indicating it's a service account

View File

@@ -1,10 +1,10 @@
# GCP - Enumerazione non autenticata dei repository sorgente
# GCP - Enumerazione Non Autenticata dei Repository Sorgente
{{#include ../../../banners/hacktricks-training.md}}
## Repository Sorgente
Per ulteriori informazioni sui Repository Sorgente controlla:
Per ulteriori informazioni sui Repository Sorgente, controlla:
{{#ref}}
../gcp-services/gcp-source-repositories-enum.md

View File

@@ -18,7 +18,7 @@ I seguenti strumenti possono essere utilizzati per generare variazioni del nome
- [https://github.com/RhinoSecurityLabs/GCPBucketBrute](https://github.com/RhinoSecurityLabs/GCPBucketBrute)
**Inoltre gli strumenti** menzionati in:
**Inoltre, gli strumenti** menzionati in:
{{#ref}}
../

View File

@@ -1,12 +1,12 @@
# GCP - Public Buckets Privilege Escalation
# GCP - Escalation dei Privilegi dei Bucket Pubblici
{{#include ../../../../banners/hacktricks-training.md}}
## Buckets Privilege Escalation
## Escalation dei Privilegi dei Bucket
Se la politica del bucket consentiva a allUsers o allAuthenticatedUsers di **scrivere nella loro politica del bucket** (il **permesso storage.buckets.setIamPolicy**),** allora chiunque può modificare la politica del bucket e concedersi accesso completo.
Se la politica del bucket consente a "allUsers" o "allAuthenticatedUsers" di **scrivere nella loro politica del bucket** (il permesso **storage.buckets.setIamPolicy**), allora chiunque può modificare la politica del bucket e concedersi accesso completo.
### Controlla i Permessi
### Controllare i Permessi
Ci sono 2 modi per controllare i permessi su un bucket. Il primo è richiederli facendo una richiesta a `https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam` o eseguendo `gsutil iam get gs://BUCKET_NAME`.
@@ -14,7 +14,7 @@ Tuttavia, se il tuo utente (potenzialmente appartenente a "allUsers" o "allAuthe
L'altra opzione che funzionerà sempre è utilizzare l'endpoint testPermissions del bucket per capire se hai il permesso specificato, ad esempio accedendo a: `https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam/testPermissions?permissions=storage.buckets.delete&permissions=storage.buckets.get&permissions=storage.buckets.getIamPolicy&permissions=storage.buckets.setIamPolicy&permissions=storage.buckets.update&permissions=storage.objects.create&permissions=storage.objects.delete&permissions=storage.objects.get&permissions=storage.objects.list&permissions=storage.objects.update`
### Escalating
### Escalation
Per concedere `Storage Admin` a `allAuthenticatedUsers` è possibile eseguire:
```bash