INF600C - Sécurité des logiciels et exploitation de vulnérabilités - Hiver 2019
Informations importantes
Échéancier
Note: les dates ci-dessous ne sont qu'indicatives
Partie 0x31: exploitation générale
Partie 0x32: exploitation binaire
Les binaires utilisés en cours sont disponible.
- 2018-03-13 - Exploitation Web 0x33 Attaque des clients
Présentation d'Olivier Arteau « La recherche de vulnérabilités dans les gros projets »
Lab 6 - XSS
- 2018-03-20 - Rétro-ingéniérie (notes et diapos)
Lab 8 - Reverse
- 2018-03-27 - Corruption de mémoire (notes et diapos)
Lab 9 - Corruption mémoire
- 2018-04-03 - Pwn classiques (notes et diapos)
Lab 10 - Pwn
- 2018-04-10 - Pwn modernes (notes et diapos)
Lab 11 - Peda et pwntools
- 2018-04-17 - Contre-mesures modernes
Lab 12 - ROP
- 2018-04-24 - Examen final
La salle dépend de votre code permanent (la même qu'à l'intra)
Lab 13 - Reverse windows (matière originale) Remise du TP2
- 2018-04-29 - (lundi) Remise du TP Spécial
Examen intra et final
La salle dépend de votre code permanent:
- de AAAA à LAFA: salle PK-1630
- de LAFB à ZZZZ: salle PK-1705
Support et contacts
Laboratoires
Les laboratoires ont lieu dans un environnement dédié. Comme nous allons attaquer des services qui sont déployés à l'intérieur de l'UQAM, il est important que tout le monde signe l'entente disponible ici.
De façon optionnelle, vous pouvez créer un compte anonyme sur le scoreboard afin de mesurer votre progression dans les exercices. Votre score dans le scoreboard n'a aucune incidence sur votre évaluation dans le cadre du cours.
La connexion à l'environnement se fait via ssh grâce au login et mot de passe qui vous a été envoyé par courriel
$ ssh -D 2223 LOGIN@workspace.inf600c.uqam.ca
Pour les services web, l'accès se fait de préférence via le proxy SOCKS5 créé par ssh via l'option -D 2223.
Un fichier d'auto-configuration inf600c.pac est disponible pour la majorité des navigateurs.
- Pour curl, l'option
-x socks5h://localhost:2223
fait le travail.
Exemple:
curl -x socks5h://localhost:2223 http://workspace.kaa/
- Chomium utilise la configuration du système. On peut toutefois utiliser l'option
--proxy-pac-url
.
Exemple:
chromium --proxy-pac-url=http://info.uqam.ca/~privat/INF600C/inf600c.pac "http://workspace.kaa"
- Pour Firefox, la configuration est rangée dans: menu > préférences > avancé > réseau > configurer la façon dont Firefox se connecte à Internet > adresse de configuration automatique du proxy > mettre
http://info.uqam.ca/~privat/INF600C/inf600c.pac
dans le champ ; cocher également utiliser un DNS distant lorsque SOCKS v5 est actif
Ressources
Livres
- J ERICKSON -- Hacking, The Art of Exploitation (2e édition) -- No Starch Press, 2008.
- D STUTTARD, M. PINTO -- The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws (2e édition) -- Wiley, 2011.
- B SCHNEIER -- Applied Cryptography: protocols, algorithms, and source code in C (2e édition) -- John Wiley & Sons, Inc. New York, NY, USA, 1995.
- B DANG, A. GAZET, E. BACHAALANY, S. JOSSE -- Practical Reverse Engineering: x86, x64 ARM, Windows Kernel, Reversing Tools, and Obfuscation -- Wiley, 2011.
- M SIKORSKI, A. HONIG -- Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software -- No Starch Press, 2012.
- T KLEIN -- Bug Hunter’s Diary: A Guided Tour Through the Wilds of Software Security - No Starch Press, 2011.
- C ANLEY, J. HEASMAN, F. LINDNER, G. RICHARTE -- The Shellcoder’s Handbook: Discovering and Exploiting Security Holes (2e édition) -- Wiley, 2007.
- B NIKKEL -- Practical Forensic Imaging, Securing Digital Evidence with Linux Tools --
No Starch Press, 2016.
Ils sont à la bibliothèque des sciences de l'UQAM et certains sont à la BANQ.
Anciens examens
Exercices
CTF
Aide et discussions slack
- #INF600C - chan du cours
- #ctf - aide pour le CTF de l'AGEEI
- #securite - discussion et nouvelles sur la sécurité informatique en général
Autres liens