# AWS - Certificate Manager (ACM) & Private Certificate Authority (PCA)

{{#include ../../../banners/hacktricks-training.md}}

## Informazioni di base

**AWS Certificate Manager (ACM)** è fornito come servizio volto a semplificare il **provisioning, la gestione e il deployment dei certificati SSL/TLS** per i servizi AWS e le risorse interne. La necessità di processi manuali, come l'acquisto, il caricamento e il rinnovo dei certificati, è **eliminata** da ACM. Questo consente agli utenti di richiedere e implementare in modo efficiente certificati su varie risorse AWS, inclusi **Elastic Load Balancers, distribuzioni Amazon CloudFront e API su API Gateway**.

Una caratteristica chiave di ACM è il **rinnovo automatico dei certificati**, che riduce significativamente il carico di gestione. Inoltre, ACM supporta la creazione e la gestione centralizzata di **certificati privati per uso interno**. Sebbene i certificati SSL/TLS per i servizi AWS integrati come Elastic Load Balancing, Amazon CloudFront e Amazon API Gateway siano forniti senza costi aggiuntivi tramite ACM, gli utenti sono responsabili dei costi associati alle risorse AWS utilizzate dalle loro applicazioni e di una tariffa mensile per ogni **Certificate Authority (CA) privata** e certificati privati utilizzati al di fuori dei servizi integrati di ACM.

**AWS Private Certificate Authority** è offerto come un **servizio CA privato gestito**, migliorando le capacità di ACM estendendo la gestione dei certificati per includere certificati privati. Questi certificati privati sono strumentali per autenticare le risorse all'interno di un'organizzazione.

## Enumerazione

### ACM
```bash
# List certificates
aws acm list-certificates

# Get certificate info
aws acm describe-certificate --certificate-arn <arn> # Check "InUseBy" to check which resources are using it

# Get certificate data
aws acm get-certificate --certificate-arn "arn:aws:acm:us-east-1:188868097724:certificate/865abced-82c9-43bf-b7d2-1f4948bf353d"

# Account configuration
aws acm get-account-configuration
```
### PCM
```bash
# List CAs
aws acm-pca list-certificate-authorities

# Get CA info
aws acm-pca describe-certificate-authority --certificate-authority-arn <arn>

# Get CA Permissions
aws acm-pca list-permissions --certificate-authority-arn <arn>

# Get CA certificate
aws acm-pca get-certificate-authority-certificate --certificate-authority-arn <arn>

# Certificate request
aws acm-pca get-certificate-authority-csr --certificate-authority-arn <arn>

# Get CA Policy (if any)
aws acm-pca get-policy --resource-arn <arn>
```
## Privesc

TODO

## Post Exploitation

TODO

{{#include ../../../banners/hacktricks-training.md}}
