COMPUTER SECURITY AND LABORATORY
Module LABORATORY

Academic Year 2024/2025 - Teacher: SERGIO ESPOSITO

Expected Learning Outcomes

  1. Knowledge and understanding. Students will get to grips with "frontier" security issues such as non-repudiation, penetration testing and formal analysis.
  2. Applying knowledge and understanding. Students will complete their fundamental security knowledge with the practical applications of the tools for penetration testing and formal analysis.
  3. Making judgements. Students will become expert players of the "security game", and in particular of the tools to play actively and successfully in a Capture The Flag in the style brought forward by Professor Giovanni Vigna and his team.
  4. Communication skills. Students will familiarise with advanced cyber security terms, building their capacity to conjugate penetration testing and formal analysis towards the deployment of secure systems.
  5. Learning skills. Students will get the critical attitude and competences to tackle and solve advanced security problems are they arise in various forms.

Course Structure

During each lesson, slides will be projected to support upfront teaching. The course is designed to be highly interactive between students and the lecturer, due to the extremely practical nature of the covered topics.

Required Prerequisites

Basic skill set in computer networks, computer architectures, operating systems, and web programming.

Attendance of Lessons

Attending the course is highly encouraged due to the practical nature of the covered topics.

Detailed Course Content

The Computer Security Lab is designed to provide students with practical skills in vulnerability analysis and the use of advanced cybersecurity tools. The module begins by exploring vulnerability and weakness databases, such as CVE (Common Vulnerabilities and Exposures), NVD (National Vulnerability Database), MSB (Microsoft Security Bulletins), and CWE (Common Weakness Enumeration), which provide information on known vulnerabilities and common weaknesses in computer systems.

Next, the lab introduces the use of the Metasploit Framework, one of the most widely used platforms for penetration testing. Students set up their own virtual testing lab, using and configuring vulnerable virtual machines to learn how to manage the basics of Metasploit, such as executing exploits, payloads, and attacks against these systems. The different types of shells that are used in this context are then explained, with particular focus on Meterpreter, a shell that offers many remote control and post-exploitation capabilities.

The course also covers specific operational modes of Meterpreter, such as the stageless mode, which allows exploits to be executed without intermediate stages, and silent shells, which are used to maintain stealthy access to compromised systems. Meterpreter migration to other processes, a technique that helps avoid detection and maintain control over a system even after the original process has been terminated, is also examined.

Finally, the lab focuses on post-exploitation techniques with Metasploit, covering activities that can be performed after gaining access to a system, such as credential theft, gathering of sensitive data, and privilege escalation.

Textbook Information

  • Lecture notes offered by the lecturer
  • William Stallings: Sicurezza delle reti. Applicazioni e standard
  • Bruce Schneier: Sicurezza digitale. Miti da sfatare, strategie da adottare

Course Planning

 SubjectsText References
1Vulnerability and weakness databasesEducational material given by the lecturer, online resources and aforementioned textbooks
2Metasploit basicsEducational material given by the lecturer, online resources and aforementioned textbooks
3Metasploit modulesEducational material given by the lecturer, online resources and aforementioned textbooks
4Shell typesEducational material given by the lecturer, online resources and aforementioned textbooks
5MeterpreterEducational material given by the lecturer, online resources and aforementioned textbooks
6Stageless ModeEducational material given by the lecturer, online resources and aforementioned textbooks
7Silent shellEducational material given by the lecturer, online resources and aforementioned textbooks
8Meterpreter migrationEducational material given by the lecturer, online resources and aforementioned textbooks
9Post-exploitation with MetasploitEducational material given by the lecturer, online resources and aforementioned textbooks

Learning Assessment

Learning Assessment Procedures

  1. Optional mid-term tests, with lab activities aiming to solve real-world problems.
  2. Implementation project.
  3. Oral examination.

Examinations may take place remotely, if required by the circumstances.

Examples of frequently asked questions and / or exercises

  • Mid-term test: exploit a vulnerability using Metasploit, within a testing environment.
  • Implementation project: develop a Metasploit module that exploits a known CVE for which there is no public exploit available.
  • Oral examination: describe how the Meterpreter migration from one process to another happens, and what are the advantages of executing this operation.