Translated ['.github/pull_request_template.md', 'src/pentesting-cloud/az

This commit is contained in:
Translator
2024-12-31 18:59:36 +00:00
parent 7770a50092
commit 820dd99aed
244 changed files with 8557 additions and 11405 deletions

View File

@@ -1,8 +1,8 @@
# DO - Services
# DO - Servizi
{{#include ../../../banners/hacktricks-training.md}}
DO offers a few services, here you can find how to **enumerate them:**
DO offre alcuni servizi, qui puoi trovare come **enumerarli:**
- [**Apps**](do-apps.md)
- [**Container Registry**](do-container-registry.md)
@@ -17,7 +17,3 @@ DO offers a few services, here you can find how to **enumerate them:**
- [**Volumes**](do-volumes.md)
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,18 +2,17 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
[From the docs:](https://docs.digitalocean.com/glossary/app-platform/) App Platform is a Platform-as-a-Service (PaaS) offering that allows developers to **publish code directly to DigitalOcean** servers without worrying about the underlying infrastructure.
[Dal documento:](https://docs.digitalocean.com/glossary/app-platform/) App Platform è un'offerta di Platform-as-a-Service (PaaS) che consente agli sviluppatori di **pubblicare codice direttamente sui server DigitalOcean** senza preoccuparsi dell'infrastruttura sottostante.
You can run code directly from **github**, **gitlab**, **docker hub**, **DO container registry** (or a sample app).
Puoi eseguire codice direttamente da **github**, **gitlab**, **docker hub**, **DO container registry** (o un'app di esempio).
When defining an **env var** you can set it as **encrypted**. The only way to **retreive** its value is executing **commands** inside the host runnig the app.
Quando definisci una **env var** puoi impostarla come **criptata**. L'unico modo per **recuperare** il suo valore è eseguire **comandi** all'interno dell'host che esegue l'app.
An **App URL** looks like this [https://dolphin-app-2tofz.ondigitalocean.app](https://dolphin-app-2tofz.ondigitalocean.app)
### Enumeration
Un'**App URL** appare così [https://dolphin-app-2tofz.ondigitalocean.app](https://dolphin-app-2tofz.ondigitalocean.app)
### Enumerazione
```bash
doctl apps list # You should get URLs here
doctl apps spec get <app-id> # Get yaml (including env vars, might be encrypted)
@@ -21,18 +20,13 @@ doctl apps logs <app-id> # Get HTTP logs
doctl apps list-alerts <app-id> # Get alerts
doctl apps list-regions # Get available regions and the default one
```
> [!CAUTION]
> **Apps doesn't have metadata endpoint**
> **Le app non hanno un endpoint dei metadati**
### RCE & Encrypted env vars
### RCE & variabili d'ambiente criptate
To execute code directly in the container executing the App you will need **access to the console** and go to **`https://cloud.digitalocean.com/apps/<app-id>/console/<app-name>`**.
Per eseguire codice direttamente nel container che esegue l'App, avrai bisogno di **accesso alla console** e andare su **`https://cloud.digitalocean.com/apps/<app-id>/console/<app-name>`**.
That will give you a **shell**, and just executing **`env`** you will be able to see **all the env vars** (including the ones defined as **encrypted**).
Questo ti darà una **shell**, e semplicemente eseguendo **`env`** potrai vedere **tutte le variabili d'ambiente** (incluso quelle definite come **criptate**).
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,14 +2,13 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
DigitalOcean Container Registry is a service provided by DigitalOcean that **allows you to store and manage Docker images**. It is a **private** registry, which means that the images that you store in it are only accessible to you and users that you grant access to. This allows you to securely store and manage your Docker images, and use them to deploy containers on DigitalOcean or any other environment that supports Docker.
DigitalOcean Container Registry è un servizio fornito da DigitalOcean che **ti consente di memorizzare e gestire le immagini Docker**. È un registro **privato**, il che significa che le immagini che memorizzi in esso sono accessibili solo a te e agli utenti a cui concedi accesso. Questo ti consente di memorizzare e gestire in modo sicuro le tue immagini Docker e di utilizzarle per distribuire contenitori su DigitalOcean o in qualsiasi altro ambiente che supporti Docker.
When creating a Container Registry it's possible to **create a secret with pull images access (read) over it in all the namespaces** of Kubernetes clusters.
### Connection
Quando crei un Container Registry è possibile **creare un segreto con accesso alle immagini pull (lettura) su di esso in tutti i namespace** dei cluster Kubernetes.
### Connessione
```bash
# Using doctl
doctl registry login
@@ -19,9 +18,7 @@ docker login registry.digitalocean.com
Username: <paste-api-token>
Password: <paste-api-token>
```
### Enumeration
### Enumerazione
```bash
# Get creds to access the registry from the API
doctl registry docker-config
@@ -29,9 +26,4 @@ doctl registry docker-config
# List
doctl registry repository list-v2
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,22 +2,19 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
With DigitalOcean Databases, you can easily **create and manage databases in the cloud** without having to worry about the underlying infrastructure. The service offers a variety of database options, including **MySQL**, **PostgreSQL**, **MongoDB**, and **Redis**, and provides tools for administering and monitoring your databases. DigitalOcean Databases is designed to be highly scalable, reliable, and secure, making it an ideal choice for powering modern applications and websites.
Con i Database di DigitalOcean, puoi facilmente **creare e gestire database nel cloud** senza dover preoccuparti dell'infrastruttura sottostante. Il servizio offre una varietà di opzioni di database, tra cui **MySQL**, **PostgreSQL**, **MongoDB** e **Redis**, e fornisce strumenti per amministrare e monitorare i tuoi database. I Database di DigitalOcean sono progettati per essere altamente scalabili, affidabili e sicuri, rendendoli una scelta ideale per alimentare applicazioni e siti web moderni.
### Connections details
### Dettagli delle connessioni
When creating a database you can select to configure it **accessible from a public network**, or just from inside a **VPC**. Moreover, it request you to **whitelist IPs that can access it** (your IPv4 can be one).
The **host**, **port**, **dbname**, **username**, and **password** are shown in the **console**. You can even download the AD certificate to connect securely.
Quando crei un database puoi scegliere di configurarlo **accessibile da una rete pubblica**, o solo dall'interno di una **VPC**. Inoltre, ti richiede di **whitelistare gli IP che possono accedervi** (il tuo IPv4 può essere uno).
L'**host**, **porta**, **dbname**, **username** e **password** sono mostrati nella **console**. Puoi anche scaricare il certificato AD per connetterti in modo sicuro.
```bash
sql -h db-postgresql-ams3-90864-do-user-2700959-0.b.db.ondigitalocean.com -U doadmin -d defaultdb -p 25060
```
### Enumeration
### Enumerazione
```bash
# Databse clusters
doctl databases list
@@ -39,9 +36,4 @@ doctl databases backups <db-id> # List backups of DB
# Pools
doctl databases pool list <db-id> # List pools of DB
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,47 +2,46 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
In DigitalOcean, a "droplet" is a v**irtual private server (VPS)** that can be used to host websites and applications. A droplet is a **pre-configured package of computing resources**, including a certain amount of CPU, memory, and storage, that can be quickly and easily deployed on DigitalOcean's cloud infrastructure.
In DigitalOcean, un "droplet" è un v**irtual private server (VPS)** che può essere utilizzato per ospitare siti web e applicazioni. Un droplet è un **pacchetto preconfigurato di risorse di calcolo**, che include una certa quantità di CPU, memoria e archiviazione, che può essere rapidamente e facilmente distribuito sull'infrastruttura cloud di DigitalOcean.
You can select from **common OS**, to **applications** already running (such as WordPress, cPanel, Laravel...), or even upload and use **your own images**.
Puoi scegliere tra **sistemi operativi comuni**, applicazioni già in esecuzione (come WordPress, cPanel, Laravel...), o persino caricare e utilizzare **le tue immagini**.
Droplets support **User data scripts**.
I droplet supportano **script di dati utente**.
<details>
<summary>Difference between a snapshot and a backup</summary>
<summary>Differenza tra uno snapshot e un backup</summary>
In DigitalOcean, a snapshot is a point-in-time copy of a Droplet's disk. It captures the state of the Droplet's disk at the time the snapshot was taken, including the operating system, installed applications, and all the files and data on the disk.
In DigitalOcean, uno snapshot è una copia a un determinato momento del disco di un Droplet. Cattura lo stato del disco del Droplet al momento in cui è stato effettuato lo snapshot, inclusi il sistema operativo, le applicazioni installate e tutti i file e i dati sul disco.
Snapshots can be used to create new Droplets with the same configuration as the original Droplet, or to restore a Droplet to the state it was in when the snapshot was taken. Snapshots are stored on DigitalOcean's object storage service, and they are incremental, meaning that only the changes since the last snapshot are stored. This makes them efficient to use and cost-effective to store.
Gli snapshot possono essere utilizzati per creare nuovi Droplet con la stessa configurazione del Droplet originale, o per ripristinare un Droplet allo stato in cui si trovava quando è stato effettuato lo snapshot. Gli snapshot sono memorizzati nel servizio di archiviazione a oggetti di DigitalOcean e sono incrementali, il che significa che vengono memorizzate solo le modifiche dall'ultimo snapshot. Questo li rende efficienti da utilizzare e convenienti da archiviare.
On the other hand, a backup is a complete copy of a Droplet, including the operating system, installed applications, files, and data, as well as the Droplet's settings and metadata. Backups are typically performed on a regular schedule, and they capture the entire state of a Droplet at a specific point in time.
D'altra parte, un backup è una copia completa di un Droplet, inclusi il sistema operativo, le applicazioni installate, i file e i dati, così come le impostazioni e i metadati del Droplet. I backup vengono solitamente eseguiti con una pianificazione regolare e catturano l'intero stato di un Droplet in un momento specifico.
Unlike snapshots, backups are stored in a compressed and encrypted format, and they are transferred off of DigitalOcean's infrastructure to a remote location for safekeeping. This makes backups ideal for disaster recovery, as they provide a complete copy of a Droplet that can be restored in the event of data loss or other catastrophic events.
A differenza degli snapshot, i backup sono memorizzati in un formato compresso e crittografato e vengono trasferiti al di fuori dell'infrastruttura di DigitalOcean in una posizione remota per la conservazione. Questo rende i backup ideali per il ripristino in caso di disastro, poiché forniscono una copia completa di un Droplet che può essere ripristinata in caso di perdita di dati o altri eventi catastrofici.
In summary, snapshots are point-in-time copies of a Droplet's disk, while backups are complete copies of a Droplet, including its settings and metadata. Snapshots are stored on DigitalOcean's object storage service, while backups are transferred off of DigitalOcean's infrastructure to a remote location. Both snapshots and backups can be used to restore a Droplet, but snapshots are more efficient to use and store, while backups provide a more comprehensive backup solution for disaster recovery.
In sintesi, gli snapshot sono copie a un determinato momento del disco di un Droplet, mentre i backup sono copie complete di un Droplet, inclusi le sue impostazioni e metadati. Gli snapshot sono memorizzati nel servizio di archiviazione a oggetti di DigitalOcean, mentre i backup vengono trasferiti al di fuori dell'infrastruttura di DigitalOcean in una posizione remota. Sia gli snapshot che i backup possono essere utilizzati per ripristinare un Droplet, ma gli snapshot sono più efficienti da utilizzare e archiviare, mentre i backup forniscono una soluzione di backup più completa per il ripristino in caso di disastro.
</details>
### Authentication
### Autenticazione
For authentication it's possible to **enable SSH** through username and **password** (password defined when the droplet is created). Or **select one or more of the uploaded SSH keys**.
Per l'autenticazione è possibile **abilitare SSH** tramite nome utente e **password** (password definita quando il droplet viene creato). Oppure **selezionare una o più delle chiavi SSH caricate**.
### Firewall
> [!CAUTION]
> By default **droplets are created WITHOUT A FIREWALL** (not like in oder clouds such as AWS or GCP). So if you want DO to protect the ports of the droplet (VM), you need to **create it and attach it**.
> Per impostazione predefinita **i droplet vengono creati SENZA UN FIREWALL** (non come in altre nuvole come AWS o GCP). Quindi, se desideri che DO protegga le porte del droplet (VM), devi **crearlo e allegarlo**.
More info in:
Ulteriori informazioni in:
{{#ref}}
do-networking.md
{{#endref}}
### Enumeration
### Enumerazione
```bash
# VMs
doctl compute droplet list # IPs will appear here
@@ -68,18 +67,13 @@ doctl compute certificate list
# Snapshots
doctl compute snapshot list
```
> [!CAUTION]
> **Droplets have metadata endpoints**, but in DO there **isn't IAM** or things such as role from AWS or service accounts from GCP.
> **I Droplets hanno endpoint di metadata**, ma in DO **non c'è IAM** o cose come i ruoli di AWS o gli account di servizio di GCP.
### RCE
With access to the console it's possible to **get a shell inside the droplet** accessing the URL: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**
Con accesso alla console è possibile **ottenere una shell all'interno del droplet** accedendo all'URL: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**
It's also possible to launch a **recovery console** to run commands inside the host accessing a recovery console in **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`**(but in this case you will need to know the root password).
È anche possibile avviare una **console di recupero** per eseguire comandi all'interno dell'host accedendo a una console di recupero in **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`** (ma in questo caso sarà necessario conoscere la password di root).
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,39 +2,34 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
DigitalOcean Functions, also known as "DO Functions," is a serverless computing platform that lets you **run code without having to worry about the underlying infrastructure**. With DO Functions, you can write and deploy your code as "functions" that can be **triggered** via **API**, **HTTP requests** (if enabled) or **cron**. These functions are executed in a fully managed environment, so you **don't need to worry** about scaling, security, or maintenance.
DigitalOcean Functions, conosciuto anche come "DO Functions," è una piattaforma di computing serverless che ti consente di **eseguire codice senza dover preoccuparti dell'infrastruttura sottostante**. Con DO Functions, puoi scrivere e distribuire il tuo codice come "funzioni" che possono essere **attivate** tramite **API**, **richieste HTTP** (se abilitate) o **cron**. Queste funzioni vengono eseguite in un ambiente completamente gestito, quindi **non devi preoccuparti** di scalabilità, sicurezza o manutenzione.
In DO, to create a function first you need to **create a namespace** which will be **grouping functions**.\
Inside the namespace you can then create a function.
In DO, per creare una funzione devi prima **creare uno spazio dei nomi** che sarà **un gruppo di funzioni**.\
All'interno dello spazio dei nomi puoi quindi creare una funzione.
### Triggers
The way **to trigger a function via REST API** (always enabled, it's the method the cli uses) is by triggering a request with an **authentication token** like:
### Attivatori
Il modo **per attivare una funzione tramite REST API** (sempre abilitato, è il metodo utilizzato dal cli) è attivare una richiesta con un **token di autenticazione** come:
```bash
curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="
```
To see how is the **`doctl`** cli tool getting this token (so you can replicate it), the **following command shows the complete network trace:**
Per vedere come lo strumento cli **`doctl`** ottiene questo token (in modo da poterlo replicare), il **seguente comando mostra l'intera traccia di rete:**
```bash
doctl serverless connect --trace
```
**When HTTP trigger is enabled**, a web function can be invoked through these **HTTP methods GET, POST, PUT, PATCH, DELETE, HEAD and OPTIONS**.
**Quando il trigger HTTP è abilitato**, una funzione web può essere invocata attraverso questi **metodi HTTP GET, POST, PUT, PATCH, DELETE, HEAD e OPTIONS**.
> [!CAUTION]
> In DO functions, **environment variables cannot be encrypted** (at the time of this writing).\
> I couldn't find any way to read them from the CLI but from the console it's straight forward.
> Nelle funzioni DO, **le variabili di ambiente non possono essere criptate** (al momento della scrittura di questo documento).\
> Non sono riuscito a trovare alcun modo per leggerle dalla CLI, ma dalla console è semplice.
**Functions URLs** look like this: `https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>`
### Enumeration
**Gli URL delle funzioni** sembrano così: `https://<random>.doserverless.co/api/v1/web/<namespace-id>/default/<function-name>`
### Enumerazione
```bash
# Namespace
doctl serverless namespaces list
@@ -53,12 +48,7 @@ doctl serverless activations result <activation-id> # get only the response resu
# I couldn't find any way to get the env variables form the CLI
```
> [!CAUTION]
> There **isn't metadata endpoint** from the Functions sandbox.
> Non **c'è un endpoint di metadata** dal sandbox delle Functions.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,22 +2,16 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
DigitalOcean Images are **pre-built operating system or application images** that can be used to create new Droplets (virtual machines) on DigitalOcean. They are similar to virtual machine templates, and they allow you to **quickly and easily create new Droplets with the operating system** and applications that you need.
Le immagini di DigitalOcean sono **immagini di sistema operativo o applicazione preconfigurate** che possono essere utilizzate per creare nuovi Droplet (macchine virtuali) su DigitalOcean. Sono simili ai modelli di macchine virtuali e ti consentono di **creare rapidamente e facilmente nuovi Droplet con il sistema operativo** e le applicazioni di cui hai bisogno.
DigitalOcean provides a wide range of Images, including popular operating systems such as Ubuntu, CentOS, and FreeBSD, as well as pre-configured application Images such as LAMP, MEAN, and LEMP stacks. You can also create your own custom Images, or use Images from the community.
DigitalOcean offre una vasta gamma di immagini, inclusi sistemi operativi popolari come Ubuntu, CentOS e FreeBSD, oltre a immagini di applicazioni preconfigurate come stack LAMP, MEAN e LEMP. Puoi anche creare le tue immagini personalizzate o utilizzare immagini della comunità.
When you create a new Droplet on DigitalOcean, you can choose an Image to use as the basis for the Droplet. This will automatically install the operating system and any pre-installed applications on the new Droplet, so you can start using it right away. Images can also be used to create snapshots and backups of your Droplets, so you can easily create new Droplets from the same configuration in the future.
### Enumeration
Quando crei un nuovo Droplet su DigitalOcean, puoi scegliere un'immagine da utilizzare come base per il Droplet. Questo installerà automaticamente il sistema operativo e eventuali applicazioni preinstallate sul nuovo Droplet, così puoi iniziare a usarlo immediatamente. Le immagini possono anche essere utilizzate per creare snapshot e backup dei tuoi Droplet, così puoi facilmente creare nuovi Droplet dalla stessa configurazione in futuro.
### Enumerazione
```
doctl compute image list
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,19 +2,18 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di Base
### DigitalOcean Kubernetes (DOKS)
DOKS is a managed Kubernetes service offered by DigitalOcean. The service is designed to **deploy and manage Kubernetes clusters on DigitalOcean's platform**. The key aspects of DOKS include:
DOKS è un servizio Kubernetes gestito offerto da DigitalOcean. Il servizio è progettato per **distribuire e gestire cluster Kubernetes sulla piattaforma di DigitalOcean**. Gli aspetti chiave di DOKS includono:
1. **Ease of Management**: The requirement to set up and maintain the underlying infrastructure is eliminated, simplifying the management of Kubernetes clusters.
2. **User-Friendly Interface**: It provides an intuitive interface that facilitates the creation and administration of clusters.
3. **Integration with DigitalOcean Services**: It seamlessly integrates with other services provided by DigitalOcean, such as Load Balancers and Block Storage.
4. **Automatic Updates and Upgrades**: The service includes the automatic updating and upgrading of clusters to ensure they are up-to-date.
### Connection
1. **Facilità di Gestione**: Il requisito di configurare e mantenere l'infrastruttura sottostante è eliminato, semplificando la gestione dei cluster Kubernetes.
2. **Interfaccia Intuitiva**: Fornisce un'interfaccia intuitiva che facilita la creazione e l'amministrazione dei cluster.
3. **Integrazione con i Servizi di DigitalOcean**: Si integra perfettamente con altri servizi forniti da DigitalOcean, come Load Balancers e Block Storage.
4. **Aggiornamenti e Upgrade Automatici**: Il servizio include l'aggiornamento e l'upgrade automatico dei cluster per garantire che siano aggiornati.
### Connessione
```bash
# Generate kubeconfig from doctl
doctl kubernetes cluster kubeconfig save <cluster-id>
@@ -22,9 +21,7 @@ doctl kubernetes cluster kubeconfig save <cluster-id>
# Use a kubeconfig file that you can download from the console
kubectl --kubeconfig=/<pathtodirectory>/k8s-1-25-4-do-0-ams3-1670939911166-kubeconfig.yaml get nodes
```
### Enumeration
### Enumerazione
```bash
# Get clusters
doctl kubernetes cluster list
@@ -35,9 +32,4 @@ doctl kubernetes cluster node-pool list <cluster-id>
# Get DO resources used by the cluster
doctl kubernetes cluster list-associated-resources <cluster-id>
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,48 +2,34 @@
{{#include ../../../banners/hacktricks-training.md}}
### Domains
### Domini
```bash
doctl compute domain list
doctl compute domain records list <domain>
# You can also create records
```
### Reserverd IPs
### IP riservati
```bash
doctl compute reserved-ip list
doctl compute reserved-ip-action unassign <ip>
```
### Load Balancers
### Bilanciatori di Carico
```bash
doctl compute load-balancer list
doctl compute load-balancer remove-droplets <id> --droplet-ids 12,33
doctl compute load-balancer add-forwarding-rules <id> --forwarding-rules entry_protocol:tcp,entry_port:3306,...
```
### VPC
```
doctl vpcs list
```
### Firewall
> [!CAUTION]
> By default **droplets are created WITHOUT A FIREWALL** (not like in oder clouds such as AWS or GCP). So if you want DO to protect the ports of the droplet (VM), you need to **create it and attach it**.
> Per impostazione predefinita **i droplet vengono creati SENZA UN FIREWALL** (non come in altre nuvole come AWS o GCP). Quindi, se desideri che DO protegga le porte del droplet (VM), devi **crearlo e allegarlo**.
```bash
doctl compute firewall list
doctl compute firewall list-by-droplet <droplet-id>
doctl compute firewall remove-droplets <fw-id> --droplet-ids <droplet-id>
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,27 +1,21 @@
# DO - Projects
# DO - Progetti
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di Base
> project is just a container for all the **services** (droplets, spaces, databases, kubernetes...) **running together inside of it**.\
> For more info check:
> un progetto è semplicemente un contenitore per tutti i **servizi** (droplets, spaces, databases, kubernetes...) **che funzionano insieme al suo interno**.\
> Per ulteriori informazioni controlla:
{{#ref}}
../do-basic-information.md
{{#endref}}
### Enumeration
It's possible to **enumerate all the projects a user have access to** and all the resources that are running inside a project very easily:
### Enumerazione
È possibile **enumerare tutti i progetti a cui un utente ha accesso** e tutte le risorse che stanno funzionando all'interno di un progetto molto facilmente:
```bash
doctl projects list # Get projects
doctl projects resources list <proj-id> # Get all the resources of a project
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,25 +2,24 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
DigitalOcean Spaces are **object storage services**. They allow users to **store and serve large amounts of data**, such as images and other files, in a scalable and cost-effective way. Spaces can be accessed via the DigitalOcean control panel, or using the DigitalOcean API, and are integrated with other DigitalOcean services such as Droplets (virtual private servers) and Load Balancers.
DigitalOcean Spaces sono **servizi di archiviazione oggetti**. Consentono agli utenti di **archiviare e servire grandi quantità di dati**, come immagini e altri file, in modo scalabile ed economico. Gli Spaces possono essere accessibili tramite il pannello di controllo di DigitalOcean o utilizzando l'API di DigitalOcean, e sono integrati con altri servizi di DigitalOcean come Droplets (server virtuali) e Load Balancers.
### Access
### Accesso
Spaces can be **public** (anyone can access them from the Internet) or **private** (only authorised users). To access the files from a private space outside of the Control Panel, we need to generate an **access key** and **secret**. These are a pair of random tokens that serve as a **username** and **password** to grant access to your Space.
Gli Spaces possono essere **pubblici** (chiunque può accedervi da Internet) o **privati** (solo utenti autorizzati). Per accedere ai file da uno spazio privato al di fuori del Pannello di Controllo, dobbiamo generare una **chiave di accesso** e un **segreto**. Questi sono una coppia di token casuali che fungono da **nome utente** e **password** per concedere accesso al tuo Space.
A **URL of a space** looks like this: **`https://uniqbucketname.fra1.digitaloceanspaces.com/`**\
Note the **region** as **subdomain**.
Un **URL di uno spazio** appare così: **`https://uniqbucketname.fra1.digitaloceanspaces.com/`**\
Nota la **regione** come **sottodominio**.
Even if the **space** is **public**, **files** **inside** of it can be **private** (you will be able to access them only with credentials).
Anche se lo **spazio** è **pubblico**, i **file** **al suo interno** possono essere **privati** (potrai accedervi solo con le credenziali).
However, **even** if the file is **private**, from the console it's possible to share a file with a link such as `https://fra1.digitaloceanspaces.com/uniqbucketname/filename?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=DO00PL3RA373GBV4TRF7%2F20221213%2Ffra1%2Fs3%2Faws4_request&X-Amz-Date=20221213T121017Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=6a183dbc42453a8d30d7cd2068b66aeb9ebc066123629d44a8108115def975bc` for a period of time:
Tuttavia, **anche** se il file è **privato**, dalla console è possibile condividere un file con un link come `https://fra1.digitaloceanspaces.com/uniqbucketname/filename?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=DO00PL3RA373GBV4TRF7%2F20221213%2Ffra1%2Fs3%2Faws4_request&X-Amz-Date=20221213T121017Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=6a183dbc42453a8d30d7cd2068b66aeb9ebc066123629d44a8108115def975bc` per un periodo di tempo:
<figure><img src="../../../images/image (277).png" alt=""><figcaption></figcaption></figure>
### Enumeration
### Enumerazione
```bash
# Unauthenticated
## Note how the region is specified in the endpoint
@@ -42,9 +41,4 @@ aws s3 ls --endpoint=https://fra1.digitaloceanspaces.com s3://uniqbucketname
## It's also possible to generate authorized access to buckets from the API
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -2,18 +2,12 @@
{{#include ../../../banners/hacktricks-training.md}}
## Basic Information
## Informazioni di base
DigitalOcean volumes are **block storage** devices that can be **attached to and detached from Droplets**. Volumes are useful for **storing data** that needs to **persist** independently of the Droplet itself, such as databases or file storage. They can be resized, attached to multiple Droplets, and snapshot for backups.
### Enumeration
I volumi di DigitalOcean sono dispositivi di **storage a blocchi** che possono essere **collegati e scollegati dai Droplet**. I volumi sono utili per **memorizzare dati** che devono **persistere** indipendentemente dal Droplet stesso, come database o storage di file. Possono essere ridimensionati, collegati a più Droplet e snapshot per i backup.
### Enumerazione
```
compute volume list
```
{{#include ../../../banners/hacktricks-training.md}}