Guide Red TeamTests d’intrusion autorisés · Red Team · Purple Team
Domaines
Cloud AWS — tests autorisés · guide pratique V13

AWS — jetons, clés et secrets

Synthèse française et contrôlée du corpus « AWS - Access Token & Secrets ». Ce chapitre explique aws — jetons, clés et secrets dans le domaine « Cloud AWS — tests autorisés », avec une méthode de laboratoire, des commandes à faible impact, les traces attendues et un plan de correction vérifiable.

En bref

  • But : Synthèse française et contrôlée du corpus « AWS - Access Token & Secrets ». Ce chapitre explique aws — jetons, clés et secrets dans le domaine « Cloud AWS — tests autorisés », avec une méthode de laboratoire, des commandes à faible impact, les traces attendues et un plan de correction vérifiable.
  • Preuve attendue : un inventaire de permissions effectives et une correction IAM minimale
  • Limite : le résultat est valable uniquement pour les versions, rôles, chemins et conditions effectivement testés.
Schéma synthétique : AWS — jetons, clés et secrets
Vue synthétique de « AWS — jetons, clés et secrets » : les étapes affichées correspondent aux sections pratiques de cette page.

URL Services

« URL Services » est vérifié en reliant identité, rôle, politique, condition, ressource et journal d’audit. Une permission déclarée n’est pas forcément une permission effective.

Access Key ID et Secret

« Access Key ID et Secret » est vérifié en reliant identité, rôle, politique, condition, ressource et journal d’audit. Une permission déclarée n’est pas forcément une permission effective.

Regions

« Regions » est vérifié en reliant identité, rôle, politique, condition, ressource et journal d’audit. Une permission déclarée n’est pas forcément une permission effective.

Gaining AWS Console Access via API Keys

« Gaining AWS Console Access via API Keys » est vérifié en reliant identité, rôle, politique, condition, ressource et journal d’audit. Une permission déclarée n’est pas forcément une permission effective.

Contexte du compte et des identités

« Contexte du compte et des identités » est vérifié en reliant identité, rôle, politique, condition, ressource et journal d’audit. Une permission déclarée n’est pas forcément une permission effective.

Inventaire en lecture seule

« Inventaire en lecture seule » est vérifié en reliant identité, rôle, politique, condition, ressource et journal d’audit. Une permission déclarée n’est pas forcément une permission effective.

Commandes et exemples

Les exemples ci-dessous proviennent des éléments utiles de « AWS — jetons, clés et secrets ». Adaptez uniquement les valeurs du laboratoire et conservez la commande exacte avec sa sortie.

Exemples de laboratoire

# Contrôle défensif en laboratoire — référence 3bf8565e
# Exemple de laboratoire — AWS — jetons, clés et secrets
import base64
import binascii

def AWSAccount_from_AWSKeyID(AWSKeyID):
    
    trimmed_AWSKeyID = AWSKeyID[4:] #remove KeyID prefix
    x = base64.b32decode(trimmed_AWSKeyID) #base32 decode
    y = x[0:6]
    
    z = int.from_bytes(y, byteorder='big', signed=False)
    mask = int.from_bytes(binascii.unhexlify(b'7fffffffff80'), byteorder='big', signed=False)
    
    e = (z & mask)>>7
    return (e)


print ("account id:" + "{:012d}".format(AWSAccount_from_AWSKeyID("ASIAQNZGKIQY56JQ7WML")))
# Contrôle défensif en laboratoire — référence 02bc19b1
# Exemple de laboratoire — AWS — jetons, clés et secrets
$> aws_consoler -v -a AKIA[REDACTED] -s [REDACTED]
    2020-03-13 19:44:57,800 [aws_consoler.cli] INFO: Validating arguments...
    2020-03-13 19:44:57,801 [aws_consoler.cli] INFO: Calling logic.
    2020-03-13 19:44:57,820 [aws_consoler.logic] INFO: Boto3 session established.
    2020-03-13 19:44:58,193 [aws_consoler.logic] WARNING: Creds still permanent, creating federated session.
    2020-03-13 19:44:58,698 [aws_consoler.logic] INFO: New federated session established.
    2020-03-13 19:44:59,153 [aws_consoler.logic] INFO: Session valid, attempting to federate as arn:aws:sts::123456789012:federated-user/aws_consoler.
    2020-03-13 19:44:59,668 [aws_consoler.logic] INFO: URL generated!
    https://signin.aws.amazon.com/federation?Action=login&Issuer=consoler.local&Destination=https%3A%2F%2Fconsole.aws.amazon.com%2Fconsole%2Fhome%3Fregion%3Dus-east-1&SigninToken=<VALEUR_LAB>
# Contrôle défensif en laboratoire — référence f7c822b9
# AWS — jetons, clés et secrets
aws sts get-caller-identity
aws configure list
aws iam get-account-summary --output json
# Contrôle défensif en laboratoire — référence 0b76b3a8
# AWS — jetons, clés et secrets
aws ec2 describe-instances --query 'Reservations[].Instances[].{Id:InstanceId,State:State.Name,Vpc:VpcId}' --output table
aws s3api list-buckets --query 'Buckets[].Name' --output table

Lire les résultats

Pour « AWS — jetons, clés et secrets », rapprochez la réponse API des politiques, conditions et journaux natifs. Une permission déclarée peut être limitée ou étendue par une autre couche de contrôle.

Comprendre le sujet avant d’agir

Le chapitre « AWS — jetons, clés et secrets » appartient au domaine « Cloud AWS tests autorises ». Il doit permettre de comprendre le mécanisme avant d’utiliser un outil, puis de produire une preuve lisible par une autre personne. L’objectif n’est pas d’accumuler des commandes : chaque action doit répondre à une hypothèse, rester dans le périmètre et déboucher sur une conclusion vérifiable.

Dans ce contexte, l’attention porte surtout sur les identités, rôles, politiques, ressources, journaux du fournisseur et frontières de responsabilité. Une approche professionnelle commence par noter l’état initial, la version des composants et l’identité utilisée. Elle se termine par la conservation des sorties utiles, l’explication des limites et la vérification que le laboratoire a été remis dans son état prévu.

  • Point de contrôle — tenant, compte ou projet.
  • Point de contrôle — identité utilisée et type de session.
  • Point de contrôle — permission effective.
  • Point de contrôle — ressource concernée.
  • Point de contrôle — événement de journalisation associé.

Inventaire en lecture seule

La méthode suivante transforme « AWS — jetons, clés et secrets » en exercice reproductible. Elle évite de confondre la quantité de sorties avec la qualité de la preuve et permet d’arrêter le test dès que l’objectif est démontré.

  1. Définir en une phrase ce que l’exercice « AWS — jetons, clés et secrets » doit confirmer ou infirmer.
  2. Relever l’état initial du laboratoire et les versions utiles au domaine « Cloud AWS tests autorises ».
  3. Vérifier le compte, le tenant ou projet, la région et les permissions de la session courante.
  4. Exécuter une seule variation à la fois et conserver la sortie brute avec un horodatage UTC.
  5. Confirmer la permission effective avec les journaux et la configuration de la ressource concernée.
  6. Documenter l’impact, les limites, la correction proposée et le critère de retest.

Exemple guidé dans le laboratoire

Préparez un scénario réduit dans `lab.local` qui ne contient que les composants nécessaires à « AWS — jetons, clés et secrets ». Notez l’état initial, appliquez la méthode du chapitre et sauvegardez chaque sortie sous un nom horodaté.

Le cas est réussi lorsque la conclusion peut être relue et reproduite sans connaissance implicite. Les captures servent d’illustration, mais la preuve principale reste la sortie brute accompagnée de son contexte.

  • Préparation — confirmer les actifs et comptes autorisés pour « AWS — jetons, clés et secrets ».
  • Exécution — limiter l’action à une seule hypothèse et une seule variation.
  • Validation — reproduire le résultat et conserver la sortie brute.
  • Clôture — nettoyer les artefacts, documenter les limites et définir le retest.

Lecture des commandes et options

Les commandes déjà présentes dans « AWS — jetons, clés et secrets » doivent être lues comme des exemples de laboratoire. Les lignes suivantes expliquent leur rôle afin d’éviter une exécution aveugle.

  • `import base64` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `import binascii` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `def AWSAccount_from_AWSKeyID(AWSKeyID):` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `trimmed_AWSKeyID = AWSKeyID[4:] #remove KeyID prefix` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `x = base64.b32decode(trimmed_AWSKeyID) #base32 decode` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `$> aws_consoler -v -a AKIA[REDACTED] -s [REDACTED]` — interroge AWS ; vérifiez le profil, le compte et la région actifs.
  • `2020-03-13 19:44:57,800 [aws_consoler.cli] INFO: Validating arguments...` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.
  • `2020-03-13 19:44:57,801 [aws_consoler.cli] INFO: Calling logic.` — cette ligne participe à l’exercice « AWS — jetons, clés et secrets » ; vérifiez ses arguments et exécutez-la uniquement sur les données ou cibles du laboratoire.

Valider le risque dans le contexte cloud

Pour « AWS — jetons, clés et secrets », un résultat utile relie au minimum le contexte, l’action et l’observation. Une sortie d’outil isolée reste une indication : elle devient une preuve lorsque le périmètre, la version, les paramètres et la reproduction sont documentés.

La conclusion doit préciser ce qui est confirmé, ce qui reste probable et ce qui n’a pas été testé. Dans le profil « cloud », les éléments à rapprocher sont notamment : tenant, compte ou projet, identité utilisée et type de session, permission effective. Les autres éléments servent à expliquer la portée et à préparer le retest.

  • Élément à documenter — tenant, compte ou projet.
  • Élément à documenter — identité utilisée et type de session.
  • Élément à documenter — permission effective.
  • Élément à documenter — ressource concernée.
  • Élément à documenter — événement de journalisation associé.

Erreurs fréquentes et amélioration de la qualité

Les erreurs ci-dessous sont particulièrement importantes pour « AWS — jetons, clés et secrets ». Elles produisent des faux positifs, des conclusions impossibles à reproduire ou un risque inutile pour le laboratoire.

  • À éviter — raisonner uniquement sur la politique attachée.
  • À éviter — ignorer les permissions héritées ou conditionnelles.
  • À éviter — confondre configuration publique et donnée effectivement accessible.
  • À éviter — tester hors des règles du fournisseur.
  • À éviter — omettre la région, le projet ou le contexte de souscription.

Checklist avant de clôturer le chapitre

Cette checklist résume les contrôles attendus pour considérer « AWS — jetons, clés et secrets » comme terminé de manière professionnelle.

  • L’objectif et le périmètre de « AWS — jetons, clés et secrets » sont écrits.
  • La version des outils et composants est enregistrée.
  • La commande, le filtre ou la procédure exacte est conservé.
  • La sortie brute est horodatée et accompagnée de son contexte.
  • Le résultat a été confirmé par une seconde observation.
  • Les limites et les éléments non testés sont explicites.
  • Les artefacts créés ont été supprimés ou remis dans l’état convenu.
  • La recommandation et le critère de retest sont exploitables.

Références

À retenir

Pour maîtriser « AWS — jetons, clés et secrets », retenez trois idées : comprendre les identités, rôles, politiques, ressources, journaux du fournisseur et frontières de responsabilité, exécuter une méthode limitée et reproductible, puis transformer la sortie en preuve contextualisée. Le chapitre est terminé lorsque le résultat peut être confirmé, que ses limites sont explicites et que la correction peut être retestée sans réinterpréter toute la mission.

  • Savoir expliquer le mécanisme propre à « AWS — jetons, clés et secrets » sans réciter une commande.
  • Conserver au minimum tenant, compte ou projet, identité utilisée et type de session et permission effective.
  • Éviter en priorité de raisonner uniquement sur la politique attachée et de ignorer les permissions héritées ou conditionnelles.
  • Proposer une action corrective mesurable et un retest réalisable.