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

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

## Informations de base

**AWS Certificate Manager (ACM)** est fourni en tant que service visant à simplifier la **provision, la gestion et le déploiement des certificats SSL/TLS** pour les services AWS et les ressources internes. La nécessité de processus manuels, tels que l'achat, le téléchargement et le renouvellement des certificats, est **éliminée** par ACM. Cela permet aux utilisateurs de demander et de mettre en œuvre efficacement des certificats sur diverses ressources AWS, y compris **Elastic Load Balancers, les distributions Amazon CloudFront et les API sur API Gateway**.

Une caractéristique clé d'ACM est le **renouvellement automatique des certificats**, réduisant considérablement la charge de gestion. De plus, ACM prend en charge la création et la gestion centralisée de **certificats privés pour un usage interne**. Bien que les certificats SSL/TLS pour les services AWS intégrés comme Elastic Load Balancing, Amazon CloudFront et Amazon API Gateway soient fournis sans coût supplémentaire via ACM, les utilisateurs sont responsables des coûts associés aux ressources AWS utilisées par leurs applications et d'un frais mensuel pour chaque **Certificate Authority (CA) privée** et certificats privés utilisés en dehors des services ACM intégrés.

**AWS Private Certificate Authority** est proposé en tant que **service CA privé géré**, améliorant les capacités d'ACM en étendant la gestion des certificats pour inclure des certificats privés. Ces certificats privés sont essentiels pour authentifier les ressources au sein d'une organisation.

## Énumération

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