Retour sur l'examen
Nous passerons à travers l'examen 2 pour donner un correctif à l'oral.
Vous pourrez ensuite demander à revoir votre copie pendant la partie pratique.
Sécuriser une application
Nous allons explorer l'application fournie pour le cours:
- l'application se trouve dans le repo du cours https://github.com/departement-info-cem/3U4-cybersec
- trouve la section "Releases"
- tu devrais trouver un fichier vers consoleApp.exe
Dans les 4 prochaines semaines, nous allons voir comment on peut attaquer un système puis le défendre sur 3 aspects:
- le cassage d'un mot de passe sur une BD fuitée
- le cassage d'une encryption sur une BD fuitée
- l'injection SQL sur l'application (sans BD fuitée)
Exercice / activité: se familiariser avec l'application
- Télécharge le repo du cours ici
- Lancez l'application et utilisez là.
- créer un compte
- se connecter / déconnecter
- quitter puis la redémarrer
- essentiellement tester toutes possibilités de l'application
- N'hésite pas à poser des questions sur l'utilisation de l'application.
Exercice: bouger l'application
- Lancer l'application
- Créer un compte et s'y connecter
- Fermer l'application
- Déplacer le .exe dans un dossier différent
- Relancer l'application
- Essayer de se connecter
- Qu'est-ce qui se passe?
Exercice sur le commande strings
Chaque application contient potentiellement des strings qui peuvent être intéressantes pour un attaquant.
Ce type de commandes peut permettre de comprendre quelle
- Télécharge https://learn.microsoft.com/fr-ca/sysinternals/downloads/strings
- Il s'agit d'une application qui cherche toutes les potentielles chaînes UTF-8 ou ASCII dans un exécutable
- Crée toi un fichier texte avec les chaines trouvées dans une application.
- Essaie de voir si tu peux trouver des chaines utiles
- Si ce n'est pas le cas, on peut essayer de chercher des options pour avoir un meilleur résultat:
strings -n 8 consoleApp.exe
pour chercher des chaines de 8 caractères ou plus- si tu cherches une requête SQL, tu peux essayer de filtrer le résultat en filtrant sur
SELECT
ouINSERT
- etc.
Tu peux tester cette technique sur quelques applications pour voir si tu trouves des informations intéressantes.
Exercice de décompilation
Un outil important pour attaquer ou valider la sécurité d'une application est le décompilateur ou déassembleur.
Pour pouvoir décompiler une application, il faut d'abord réussir à savoir avec quelle plateforme elle a été compilée.
- Dans notre cas, nous pensons que ça a été fait avec .Net
- On va utiliser dotPeek pour décompiler l'application
- Télécharge dotPeek
- Essaie de décompiler l'application fournie
- Familiarise toi avec l'interface de dotPeek
- Essaie de retrouver le code important de l'application
Partir ton TP
Pour ce TP, tu vas devoir:
- effectuer des attaques sur l'application
- modifier le code pour sécuriser l'application
Pour cela, aujourd'hui tu vas devoir:
- Créer ton repo en utilisant le lien envoyé par ton prof
- Créer ton fichier rapport.md où tu documenteras les attaques
- Copier le projet de l'application dans ton repo. C'est là que tu mettras les correctifs.
- Tu trouveras le projet de l'application ici
- Cherche un peu et tu devrais trouver le projet consoleApp
- Si tu ne trouves pas, demande à ton prof