🌩️ Sécurité Offensive & Défensive du Cloud

Techniques avancées pour comprendre, exploiter et sécuriser le Cloud.

1️⃣ Introduction : Pourquoi la Sécurité du Cloud est un Enjeu ?

Le Cloud est devenu un élément clé des infrastructures modernes, mais il représente aussi un **terrain de jeu idéal pour les attaquants**.

Les fournisseurs Cloud sont doublement vulnérables :

🔥 **Objectif de ce tuto :** Comprendre comment attaquer le Cloud et comment mieux se défendre, avec une approche **offensive et défensive**.

2️⃣ Reconnaissance & Cartographie des Surfaces d'Attaque

📡 2.1. Scans & OSINT sur le Cloud

**Avant d’exploiter, il faut trouver ce qui est exposé.** Un mauvais paramétrage, un stockage public, une API non protégée… autant de portes d’entrée !

🔎 Recherche des infrastructures Cloud exposées :

amass enum -d cible.com
subfinder -d cible.com -silent

📂 Scan des stockages ouverts (AWS, Azure, GCP) :

aws s3 ls s3://nom-du-bucket --no-sign-request
gcloud storage buckets list --project cible

🔍 Scan des API mal protégées :

ffuf -u https://api.cible.com/FUZZ -w wordlist.txt

3️⃣ Exploitation des Failles Cloud : Persistence & Pivoting

💀 3.1. Prise de Contrôle via IAM & API

Une des attaques Cloud les plus courantes est **l’exploitation des mauvaises configurations IAM (gestion des accès).**

**🔹 Vérification des rôles accessibles :**

aws iam list-roles

**🔹 Dump des credentials des rôles compromis :**

aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/VulnerableRole" --role-session-name attack

🔥 3.2. Exploitation d’un Bucket S3 mal configuré

Les buckets mal configurés permettent souvent d’accéder à des données sensibles :

**📂 Recherche d’objets lisibles :**

aws s3api list-objects --bucket bucket-expose --no-sign-request

**📥 Exfiltration des fichiers sensibles :**

aws s3 cp s3://bucket-expose/fichier.txt . --no-sign-request

4️⃣ Sécurisation & Application des Recommandations ANSSI

🔒 4.1. Cloisonnement et Zero Trust

L’ANSSI recommande un modèle **Zero Trust** pour le Cloud :

Implémentation d’une authentification renforcée :

aws configure set default.sso_start_url https://sso.aws.amazon.com/start
gcloud auth login --update-adc

🛠 4.2. Détection & Journalisation des Activités Suspectes

Tout bon défenseur doit **anticiper les attaques en détectant les anomalies.**

**🔍 Activation de la journalisation complète :**

aws cloudtrail create-trail --name SecureTrail --s3-bucket-name logs-bucket

**📊 Analyse des logs avec SIEM :**

grep "UnauthorizedAccess" cloudtrail-logs.json

5️⃣ Automatisation : Scripts Python pour Sécuriser & Tester un Cloud

💻 Script de Scan IAM

Ce script liste les permissions dangereuses accordées à des rôles non sécurisés.

import boto3

client = boto3.client('iam')

roles = client.list_roles()
for role in roles['Roles']:
    policies = client.list_attached_role_policies(RoleName=role['RoleName'])
    for policy in policies['AttachedPolicies']:
        print(f"🔴 {role['RoleName']} → {policy['PolicyName']} (POTENTIELLEMENT DANGEREUX)")
            

💀 Script de Vérification de Buckets Exposés

Liste et vérifie si des buckets S3 sont accessibles publiquement.

import boto3

s3 = boto3.client('s3')
buckets = s3.list_buckets()
for bucket in buckets['Buckets']:
    acl = s3.get_bucket_acl(Bucket=bucket['Name'])
    for grant in acl['Grants']:
        if 'AllUsers' in str(grant):
            print(f"⚠️ Bucket exposé : {bucket['Name']}")
            

6️⃣ Conclusion & Recommandations Finales

Le Cloud est un **terrain de jeu vulnérable** si mal configuré.

Pour une **sécurité optimale**, applique ces mesures :

🛠 **Ne jamais sous-estimer l’attaquant. Le meilleur défenseur est celui qui comprend l’attaque.**