Département d'informatique Jean Privat

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

Autres liens