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

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

## Osnovne informacije

**AWS Certificate Manager (ACM)** se pruža kao usluga koja ima za cilj pojednostavljenje **provisioning-a, upravljanja i implementacije SSL/TLS sertifikata** za AWS usluge i interne resurse. Potreba za ručnim procesima, kao što su kupovina, otpremanje i obnavljanje sertifikata, je **eliminisana** od strane ACM-a. Ovo omogućava korisnicima da efikasno traže i implementiraju sertifikate na raznim AWS resursima uključujući **Elastic Load Balancers, Amazon CloudFront distribucije i API-e na API Gateway-u**.

Ključna karakteristika ACM-a je **automatsko obnavljanje sertifikata**, što značajno smanjuje troškove upravljanja. Pored toga, ACM podržava kreiranje i centralizovano upravljanje **privatnim sertifikatima za internu upotrebu**. Iako se SSL/TLS sertifikati za integrisane AWS usluge kao što su Elastic Load Balancing, Amazon CloudFront i Amazon API Gateway pružaju bez dodatnih troškova putem ACM-a, korisnici su odgovorni za troškove povezane sa AWS resursima koje koriste njihove aplikacije i mesečnu naknadu za svaku **privatnu Certificate Authority (CA)** i privatne sertifikate korišćene van integrisanih ACM usluga.

**AWS Private Certificate Authority** se nudi kao **upravljana privatna CA usluga**, poboljšavajući mogućnosti ACM-a proširujući upravljanje sertifikatima da uključuje privatne sertifikate. Ovi privatni sertifikati su ključni za autentifikaciju resursa unutar organizacije.

## Enumeracija

### 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}}
