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

  • 2018-03-13 - Rétro-ingéniérie
    Présentation d'Olivier Arteau « La recherche de vulnérabilités dans les gros projets »
    Lab 8 - Reverse
  • 2018-03-20 - Rétro-ingéniérie & Corruption + Distribution du sujet TP2
    Lab 8bis - Reverse (suite)
  • 2018-03-27 - Corruption & Exploitation binaire
    Lab 9 - Pwn
  • 2018-04-03 - Shellcode & ret2libc & ROP
    Lab 10 - Peda et pwntools
  • 2018-04-10 - ASLR & PIE & canari
    Lab 11 - ROP
  • 2018-04-17 - Tas, fortify, UAF, write-what-where, got.plt, relro + Remise du TP2
    Lab 12 - Defcon
  • 2018-04-24 - Examen final
    Lab 13 - Reverse windows (matière originale)
  • 2018-04-29 - (lundi) Remise du TP Spécial

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.

Exercices

CTF

Aide et discussions slack