Skip to content

Instantly share code, notes, and snippets.

@Geal
Created February 6, 2017 12:18
Show Gist options
  • Save Geal/c07ae30f0784f3fa85e8c9f39bed6481 to your computer and use it in GitHub Desktop.
Save Geal/c07ae30f0784f3fa85e8c9f39bed6481 to your computer and use it in GitHub Desktop.

B3 Piratage éthique 2017 - TP développement d’exploits

Le but de ce TP est de gagner en compétences sur la recherche de failles de sécurité, en étudiant des vulnérabilités existantes et en développant des exploits pour celles-ci.

Vous travaillerez en groupe de 3 ou 4 personnes.

Vous choisirez dans la première demi-heure un logiciel à attaquer. Voici les critères recommandés:

  • Open source, pour faciliter l’étude du code contenant la faille
  • Choisissez une vulnérabilité connue et publiée dans une version dépassée du logiciel (n’allez pas chercher des failles dans les dernières versions, ça pourrait prendre trop de temps)
  • Préférez des logiciels web ou mobile, écrits dans des langages que vous maitrisez. Le développement d’exploits type buffer overflow pour des logiciels et plateformes récents risque d’être trop compliqué à faire dans un temps raisonnable
  • Une fois le logiciel choisi, venez m’en faire part pour valider le choix.

Vous aurez 2 livrables pour ce TP:

  • Un texte court, écrit comme un rapport de bug à destination de l’équipe développant le projet, indiquant:
    • Quelles versions du logiciel sont affectées
    • Quelle partie du code contient la faille
    • Une explication du fonctionnement de la faille et comment la déclencher
    • Une proposition de solution pour corriger la faille
  • Un exploit démontrant la faille. L’exploit peut se présenter de plusieurs manières:
    • Un fichier à ouvrir avec le logiciel
    • Un lien à ouvrir dans un navigateur
    • Une commande curl que l’on peut pointer sur un site
    • Un script à exécuter

Notez au passage qu’il est interdit de reprendre le code d’un exploit existant. Le but de l’exercice est d’apprendre à développer vos propres exploits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment