# AWS - CloudFormation & Codestar Enum

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

## CloudFormation

AWS CloudFormation est un service conçu pour **simplifier la gestion des ressources AWS**. Il permet aux utilisateurs de se concentrer davantage sur leurs applications fonctionnant dans AWS en **réduisant le temps consacré à la gestion des ressources**. La fonctionnalité principale de ce service est le **modèle**—un modèle descriptif des ressources AWS souhaitées. Une fois ce modèle fourni, CloudFormation est responsable de **l'approvisionnement et de la configuration** des ressources spécifiées. Cette automatisation facilite une gestion plus efficace et sans erreur de l'infrastructure AWS.

### Enumeration
```bash
# Stacks
aws cloudformation list-stacks
aws cloudformation describe-stacks # You could find sensitive information here
aws cloudformation list-stack-resources --stack-name <name>
aws cloudformation get-template --stack-name cloudformationStack
aws cloudformation describe-stack-events --stack-name cloudformationStack

## Show params and outputs
aws cloudformation describe-stacks | jq ".Stacks[] | .StackId, .StackName, .Parameters, .Outputs"

# Export
aws cloudformation list-exports
aws cloudformation list-imports --export-name <x_name>

# Stack Sets
aws cloudformation list-stack-sets
aws cloudformation describe-stack-set --stack-set-name <name>
aws cloudformation list-stack-instances --stack-set-name <name>
aws cloudformation list-stack-set-operations --stack-set-name <name>
aws cloudformation list-stack-set-operation-results --stack-set-name <name> --operation-id <id>
```
### Privesc

Dans la page suivante, vous pouvez vérifier comment **abuser des permissions cloudformation pour escalader les privilèges** :

{{#ref}}
../aws-privilege-escalation/aws-cloudformation-privesc/
{{#endref}}

### Post-Exploitation

Vérifiez les **secrets** ou les informations sensibles dans le **template, les paramètres et la sortie** de chaque CloudFormation

## Codestar

AWS CodeStar est un service pour créer, gérer et travailler sur des projets de développement logiciel sur AWS. Vous pouvez rapidement développer, construire et déployer des applications sur AWS avec un projet AWS CodeStar. Un projet AWS CodeStar crée et **intègre des services AWS** pour votre chaîne d'outils de développement de projet. Selon votre choix de modèle de projet AWS CodeStar, cette chaîne d'outils peut inclure le contrôle de version, la construction, le déploiement, des serveurs virtuels ou des ressources sans serveur, et plus encore. AWS CodeStar **gère également les permissions requises pour les utilisateurs du projet** (appelés membres de l'équipe).

### Enumeration
```bash
# Get projects information
aws codestar list-projects
aws codestar describe-project --id <project_id>
aws codestar list-resources --project-id <project_id>
aws codestar list-team-members --project-id <project_id>

aws codestar list-user-profiles
aws codestar describe-user-profile --user-arn <arn>
```
### Privesc

Dans la page suivante, vous pouvez vérifier comment **abuser des permissions codestar pour élever les privilèges** :

{{#ref}}
../aws-privilege-escalation/aws-codestar-privesc/
{{#endref}}

## Références

- [https://docs.aws.amazon.com/cloudformation/](https://docs.aws.amazon.com/cloudformation/)

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