Labs

The course will have (up to) eight hands-on practical sessions in the lab. In these labs, we’ll use practical tools to explore software, hosts, networks and the Web with a view to both attack and defence.


18 Jul 2025 Network security

Playing with a couple of common tools used by network defenders and attackers.

4 Jul 2025 Ransomware

An opportunity to play with practical cryptography and see how easy it is to encrypt all of a user’s files.

13 Jun 2025 Password cracking

An opportunity to play with root privilege and try out practical password cracking tools.

30 May 2025 Software exploitation

Practical exploitation of a vulnerable binary using integer arithmetic and return-oriented programming.

23 May 2025 Software (harder)

More exploration of low-level software basics: debugging in hard mode and (a very little bit of) tampering.

9 May 2025 Software (easy mode)

A reminder and exploration of low-level software basics: building and debugging (in "easy mode", i.e., with debugging symbols).

Lab reports

A guide to my expectations for lab reports that you submit in this course.