Translated ['src/pentesting-ci-cd/cloudflare-security/cloudflare-domains

This commit is contained in:
Translator
2025-01-11 19:17:14 +00:00
parent 340b26d06a
commit fb91f3ce84
44 changed files with 1893 additions and 316 deletions

View File

@@ -31,19 +31,19 @@ Strumenti per simulare attacchi:
Per auditare un ambiente AWS è molto importante sapere: quali **servizi vengono utilizzati**, cosa è **esposto**, chi ha **accesso** a cosa e come sono connessi i servizi AWS interni e i **servizi esterni**.
Dal punto di vista di un Red Team, il **primo passo per compromettere un ambiente AWS** è riuscire a ottenere alcune **credenziali**. Ecco alcune idee su come farlo:
Dal punto di vista di un Red Team, il **primo passo per compromettere un ambiente AWS** è riuscire a ottenere alcune **credenziali**. Qui hai alcune idee su come farlo:
- **Leaks** in github (o simili) - OSINT
- **Leak** su github (o simili) - OSINT
- **Ingegneria** Sociale
- Riutilizzo della **Password** (leak di password)
- Vulnerabilità nelle Applicazioni Ospitate su AWS
- [**Server Side Request Forgery**](https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf) con accesso all'endpoint dei metadati
- Vulnerabilità nelle applicazioni ospitate su AWS
- [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) con accesso all'endpoint dei metadati
- **Lettura di File Locali**
- `/home/USERNAME/.aws/credentials`
- `C:\Users\USERNAME\.aws\credentials`
- **breach** di terze parti
- **Dipendente** Interno
- [**Cognito** ](aws-services/aws-cognito-enum/#cognito)credenziali
- [**Cognito**](aws-services/aws-cognito-enum/index.html#cognito) credenziali
Oppure compromettendo un servizio non autenticato esposto:
@@ -67,7 +67,7 @@ aws-permissions-for-a-pentest.md
Se hai trovato un SSRF in una macchina all'interno di AWS, controlla questa pagina per trucchi:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf
https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html
{{#endref}}
### Whoami
@@ -89,7 +89,7 @@ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metad
curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic/instance-identity/document
```
> [!CAUTION]
> Nota che le aziende potrebbero utilizzare **canary tokens** per identificare quando **i token vengono rubati e utilizzati**. Si consiglia di controllare se un token è un canary token o meno prima di utilizzarlo.\
> Nota che le aziende potrebbero utilizzare **canary tokens** per identificare quando **i token vengono rubati e utilizzati**. Si consiglia di verificare se un token è un canary token o meno prima di utilizzarlo.\
> Per ulteriori informazioni [**controlla questa pagina**](aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md#honeytokens-bypass).
### Org Enumeration
@@ -102,7 +102,7 @@ aws-services/aws-organizations-enum.md
Se hai abbastanza permessi, **controllare i privilegi di ciascuna entità all'interno dell'account AWS** ti aiuterà a capire cosa puoi fare e cosa possono fare altre identità e come **escalare i privilegi**.
Se non hai abbastanza permessi per enumerare IAM, puoi **rubare bruteforce** per scoprirli.\
Se non hai abbastanza permessi per enumerare IAM, puoi **rubare e forzare** per scoprirli.\
Controlla **come fare l'enumerazione e il brute-forcing** in:
{{#ref}}
@@ -110,18 +110,18 @@ aws-services/aws-iam-enum.md
{{#endref}}
> [!NOTE]
> Ora che **hai alcune informazioni sulle tue credenziali** (e se sei un red team speriamo che **non sei stato rilevato**). È tempo di scoprire quali servizi vengono utilizzati nell'ambiente.\
> Ora che **hai alcune informazioni sulle tue credenziali** (e se sei un red team, speriamo che **non sei stato rilevato**). È tempo di scoprire quali servizi vengono utilizzati nell'ambiente.\
> Nella sezione seguente puoi controllare alcuni modi per **enumerare alcuni servizi comuni.**
## Services Enumeration, Post-Exploitation & Persistence
AWS ha un numero straordinario di servizi, nella pagina seguente troverai **informazioni di base, enumerazione** cheatsheets\*\*,\*\* come **evitare il rilevamento**, ottenere **persistenza** e altri **trucchi di post-exploitation** su alcuni di essi:
AWS ha un'incredibile quantità di servizi, nella pagina seguente troverai **informazioni di base, enumerazione** cheatsheets\*\*,\*\* come **evitare il rilevamento**, ottenere **persistenza** e altri **trucchi di post-exploitation** su alcuni di essi:
{{#ref}}
aws-services/
{{#endref}}
Nota che **non** è necessario eseguire tutto il lavoro **manualmente**, qui sotto in questo post puoi trovare una **sezione su** [**strumenti automatici**](./#automated-tools).
Nota che **non** è necessario eseguire tutto il lavoro **manualmente**, qui sotto in questo post puoi trovare una **sezione su** [**strumenti automatici**](#automated-tools).
Inoltre, in questa fase potresti aver scoperto **più servizi esposti a utenti non autenticati**, potresti essere in grado di sfruttarli:
@@ -131,7 +131,7 @@ aws-unauthenticated-enum-access/
## Privilege Escalation
Se puoi **controllare almeno i tuoi permessi** su diverse risorse, potresti **controllare se sei in grado di ottenere ulteriori permessi**. Dovresti concentrarti almeno sui permessi indicati in:
Se puoi **controllare almeno i tuoi permessi** su diverse risorse, potresti **verificare se sei in grado di ottenere ulteriori permessi**. Dovresti concentrarti almeno sui permessi indicati in:
{{#ref}}
aws-privilege-escalation/
@@ -140,28 +140,28 @@ aws-privilege-escalation/
## Publicly Exposed Services
Durante l'enumerazione dei servizi AWS potresti aver trovato alcuni di essi **che espongono elementi a Internet** (porte VM/Container, database o servizi di coda, snapshot o bucket...).\
Come pentester/red teamer dovresti sempre controllare se riesci a trovare **informazioni sensibili / vulnerabilità** su di essi poiché potrebbero fornirti **ulteriore accesso all'account AWS**.
Come pentester/red teamer dovresti sempre controllare se puoi trovare **informazioni sensibili / vulnerabilità** su di essi poiché potrebbero fornirti **ulteriore accesso all'account AWS**.
In questo libro dovresti trovare **informazioni** su come trovare **servizi AWS esposti e come controllarli**. Per quanto riguarda come trovare **vulnerabilità nei servizi di rete esposti**, ti consiglio di **cercare** il **servizio** specifico in:
{{#ref}}
https://book.hacktricks.xyz/
https://book.hacktricks.wiki/
{{#endref}}
## Compromising the Organization
### From the root/management account
Quando l'account di gestione crea nuovi account nell'organizzazione, viene creata una **nuova role** nel nuovo account, chiamata per impostazione predefinita **`OrganizationAccountAccessRole`** e dando la policy **AdministratorAccess** all'**account di gestione** per accedere al nuovo account.
Quando l'account di gestione crea nuovi account nell'organizzazione, viene creata una **nuova funzione** nel nuovo account, chiamata per impostazione predefinita **`OrganizationAccountAccessRole`** e viene fornita la policy **AdministratorAccess** all'**account di gestione** per accedere al nuovo account.
<figure><img src="../../images/image (171).png" alt=""><figcaption></figcaption></figure>
Quindi, per accedere come amministratore a un account secondario, devi:
- **Compromettere** l'**account di gestione** e trovare l'**ID** degli **account secondari** e i **nomi** della **role** (OrganizationAccountAccessRole per impostazione predefinita) che consente all'account di gestione di accedere come admin.
- **Compromettere** l'**account di gestione** e trovare l'**ID** degli **account secondari** e i **nomi** della **funzione** (OrganizationAccountAccessRole per impostazione predefinita) che consente all'account di gestione di accedere come admin.
- Per trovare gli account secondari, vai alla sezione organizzazioni nella console aws o esegui `aws organizations list-accounts`
- Non puoi trovare il nome delle role direttamente, quindi controlla tutte le policy IAM personalizzate e cerca qualsiasi cosa che consenta **`sts:AssumeRole` sugli account secondari precedentemente scoperti**.
- **Compromettere** un **principale** nell'account di gestione con **`sts:AssumeRole` permesso sulla role negli account secondari** (anche se l'account consente a chiunque dell'account di gestione di impersonare, poiché è un account esterno, sono necessari permessi specifici `sts:AssumeRole`).
- Non puoi trovare il nome delle funzioni direttamente, quindi controlla tutte le policy IAM personalizzate e cerca qualsiasi cosa che consenta **`sts:AssumeRole` sugli account secondari precedentemente scoperti**.
- **Compromettere** un **principale** nell'account di gestione con **`sts:AssumeRole` permesso sulla funzione negli account secondari** (anche se l'account consente a chiunque dell'account di gestione di impersonare, poiché è un account esterno, sono necessari permessi specifici `sts:AssumeRole`).
## Automated Tools
@@ -278,7 +278,7 @@ pmapper --profile dev orgs create
pmapper --profile dev orgs display
```
- [**cloudsplaining**](https://github.com/salesforce/cloudsplaining): Cloudsplaining è uno strumento di valutazione della sicurezza AWS IAM che identifica le violazioni del principio del minimo privilegio e genera un rapporto HTML prioritizzato per rischio.\
Mostrerà i clienti **eccessivamente privilegiati**, le **policy** inline e aws e quali **principali hanno accesso a esse**. (Controlla non solo per privesc ma anche altri tipi di permessi interessanti, consigliato da usare).
Mostrerà i clienti **eccessivamente privilegiati**, le **policy** inline e aws e quali **principali hanno accesso a esse**. (Non controlla solo per privesc ma anche altri tipi di permessi interessanti, si consiglia di usarlo).
```bash
# Install
pip install cloudsplaining
@@ -296,7 +296,7 @@ cloudsplaining scan --input-file /private/tmp/cloudsplaining/dev.json --output /
### Audit
- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** CloudSploit di Aqua è un progetto open-source progettato per consentire la rilevazione di **rischi di sicurezza nelle infrastrutture cloud** degli account, inclusi: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) e GitHub (non cerca ShadowAdmins).
- [**cloudsploit**](https://github.com/aquasecurity/cloudsploit)**:** CloudSploit di Aqua è un progetto open-source progettato per consentire la rilevazione di **rischi di sicurezza negli account di infrastruttura cloud**, inclusi: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI) e GitHub (non cerca ShadowAdmins).
```bash
./index.js --csv=file.csv --console=table --config ./config.js
@@ -335,8 +335,8 @@ scout aws -p dev
### Audit Costante
- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian è un motore di regole per gestire account e risorse nel cloud pubblico. Permette agli utenti di **definire politiche per abilitare un'infrastruttura cloud ben gestita**, sicura e ottimizzata in termini di costi. Consolida molti degli script ad hoc che le organizzazioni hanno in uno strumento leggero e flessibile, con metriche e report unificati.
- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** è una piattaforma per **monitoraggio continuo della conformità, reporting della conformità e automazione della sicurezza per il clou**d. In PacBot, le politiche di sicurezza e conformità sono implementate come codice. Tutte le risorse scoperte da PacBot vengono valutate rispetto a queste politiche per misurare la conformità alle politiche. Il framework **auto-fix** di PacBot fornisce la possibilità di rispondere automaticamente alle violazioni delle politiche intraprendendo azioni predefinite.
- [**streamalert**](https://github.com/airbnb/streamalert)**:** StreamAlert è un framework di analisi dei dati **in tempo reale** senza server che ti consente di **acquisire, analizzare e allertare** sui dati provenienti da qualsiasi ambiente, **utilizzando le fonti di dati e la logica di allerta che definisci**. I team di sicurezza informatica utilizzano StreamAlert per scansionare terabyte di dati di log ogni giorno per la rilevazione e risposta agli incidenti.
- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** è una piattaforma per **monitoraggio continuo della conformità, reporting della conformità e automazione della sicurezza per il clou**d. In PacBot, le politiche di sicurezza e conformità sono implementate come codice. Tutte le risorse scoperte da PacBot vengono valutate rispetto a queste politiche per misurare la conformità. Il framework **auto-fix** di PacBot fornisce la possibilità di rispondere automaticamente alle violazioni delle politiche intraprendendo azioni predefinite.
- [**streamalert**](https://github.com/airbnb/streamalert)**:** StreamAlert è un framework di analisi dei dati **in tempo reale** senza server che ti consente di **acquisire, analizzare e allertare** sui dati provenienti da qualsiasi ambiente, **utilizzando fonti di dati e logica di allerta che definisci**. I team di sicurezza informatica utilizzano StreamAlert per scansionare terabyte di dati di log ogni giorno per la rilevazione e risposta agli incidenti.
## DEBUG: Cattura delle richieste AWS cli
```bash