
Atelier pratique sur la sécurité des pipelines CI/CD avec lab Terraform, exploitation AWS, évasion Kubernetes et exercices de backdooring d'artefacts pour la formation en sécurité offensive.
Les pipelines CI/CD font de plus en plus partie de l'infrastructure standard des équipes de développement. Avec l'essor de nouvelles approches comme l'Infrastructure as Code, le niveau de sensibilité de ces pipelines augmente rapidement. En cas de compromission, ce ne sont plus seulement les applications qui sont en danger, mais les systèmes sous-jacents eux-mêmes et, bien souvent, l'ensemble du système d'information.
Nous pensons que ces infrastructures, bien que non ciblées par les attaquants pour l'instant, deviendront un point focal majeur pour les attaquants dans les années à venir. À la fois en raison des identifiants manipulés par les pipelines et du manque habituel de supervision de ces environnements.
Pendant le Hacking Summer Camp 2022, nous avons expliqué comment les attaquants commencent à exploiter ces faiblesses, à la fois pour des attaques sur la chaîne d'approvisionnement (supply chain), mais aussi pour élever leurs privilèges au sein du SI de la victime. Ce dépôt contient les supports des ateliers BSides Las Vegas 22 et DEFCON 30. Il permettra aux étudiants d'exploiter ces attaques sur un laboratoire à grande échelle.
Présenté à
Bienvenue chez DataLeek company. Après plusieurs décennies de développement en cycle en V, nous avons désormais décidé d'adopter la méthodologie « agile ». Pour ce faire, nos équipes IT ont mis en place un pipeline CI/CD reposant sur les outils les plus avancés et les plus modernes disponibles sur le marché. Cependant, pour certaines raisons, notre RSSI semble douter du niveau de sécurité de cette toute nouvelle infrastructure et insiste pour réaliser un pentest sur celle-ci.
Votre mission, si vous décidez de l'accepter, est d'évaluer le niveau de sécurité de ce pipeline CI/CD et de proposer des solutions pour corriger les problèmes identifiés.
Dans cet atelier entièrement pratique, nous vous guiderons à travers de multiples vulnérabilités que nous avons observées lors de nombreux tests d'intrusion. Vous apprendrez à :
Les exercices pratiques seront réalisés sur notre environnement de laboratoire avec une grande variété d'outils. Pour chaque attaque, nous nous concentrerons également sur la prévention, les techniques d'atténuation et les moyens potentiels de détecter les exploitations.
3 comptes AWS sont nécessaires pour déployer le laboratoire :
Étape 1. Cloner le dépôt
git clone https://github.com/wavestone-cdt/DEFCON-CICD-pipelines-workshop
Étape 2. Définir les secrets AWS dans votre fichier d'identifiants
[infra]
aws_access_key_id=AKIAXXXXXXXX
aws_secret_access_key=XXXXXXXXX
[src]
aws_access_key_id=AKIAXXXXXXXX
aws_secret_access_key=XXXXXXXXX
[dest]
aws_access_key_id=AKIAXXXXXXXX
aws_secret_access_key=XXXXXXXXX
Étape 3. Depuis le dossier 0_Terraform-init, exécutez :
terraform init
terraform apply --auto-approve
Étape 4. Suivez les instructions dans 1_Labs
Cet atelier a été créé à l'origine par Rémi ESCOURROU, Gauthier SEBAUX et Xavier GERONDEAU dans le cadre de notre travail chez @Wavestone au sein de l'équipe Offensive Security.
Un énorme merci à notre ami et maître AWS, Arnaud PETITCOL, pour son aide et ses conseils.
Ce projet est sous licence MIT - voir le fichier LICENSE.md pour plus de détails.