Hoppa till huvudinnehållet

EN2720 Ethical Hacking 7.5 credits

Course memo Autumn 2021-1

Version 1 – 06/30/2021, 8:41:54 AM

Course offering

Autumn 2021-1 (Start date 30/08/2021, English)

Language Of Instruction

English

Offered By

EECS/Computer Science

Course memo Autumn 2021-1

Course presentation

In this course, you will learn penetration testing, i.e.cybersecurity assessment of computer networks by offensive methods. These methods aim to find and exploit vulnerabilities in software systems. The main project of the course is rigged as a game, where you are required to explore and exploit a virtual computer network in order to exfiltrate specific pieces of data. 

While the course formally only requires the completion of an introductory programming course, it is strongly recommended that you are also comfortable with networking and operating systems. 

Content and learning outcomes

Course contents

The main activity of the course is a project where students independently attack a corporate computer network with the aim of exfiltrating specific information. The network is rigged by the course responsibles in a virtual environment. To carry out the attack, the students are free to use their imagination and tools available on Internet. Tools for network and vulnerability scanning, platforms for exploit development, command and control, passwork creacking, etc. are presented during the course, but students are free to employ methods and tools of their own choice. 

Intended learning outcomes

Ethical hackers are contracted for practical assessment of computer network security. For an effective defense against cyber attacks, a deep understanding of attackers' available range of action is required. After completed course, the student should therefore be able to

  • perform reconnaissance, identifying and selecting targets for attack, e.g. by means of network scanning
  • identify vulnerabilities in network equipment and applications
  • customize exploits for software vulnerabilities
  • deploy and execute exploits on vulnerable systems,
  • install and use remote access trojans for remote system control
  • identify password files and extract passwords
  • exfiltrate data
  • implement solutions to strengthen the information security of computer networks
  • carry out legal and ethical security testing.

Preparations before course start

Recommended prerequisites

  • Communiation networks (for example EP1100 Data communicatin and computer networks)
  • Operating systems (for example ID1206 Operating sysstems)

Literature

Learn Ethical Hacking from Scratch: Your stepping stone to penetration testing by Zaid Sabih


Students are strongly encouraged to search for information in many different sources. Nevertheless, for those that would like to start with a single book, we recommend Learn Ethical Hacking from Scratch: Your stepping stone to penetration testing by Zaid Sabih. It contains much of the information required for completing the course, but not everything. Conversely, it contains much that is not required for the course. Furthermore, all the relevant information contained in the book is also available on the public Internet. In brief, the book is not required. Therefore, it may be best viewed as a scoping of the course contents, providing ideas on what attack paths to explore. For instance, already the table of contents will give you an indication of what you might encounter in the course:


Chapter 1. Introduction
Chapter 2. Setting Up a Lab
Chapter 3: Linux Basics
Chapter 4: Network Penetration Testing
Chapter 5: Pre-Connection Attacks
Chapter 6: Network Penetration Testing – Gaining Access
Chapter 7: Post-Connection Attacks
Chapter 8: Man-in-the-Middle Attacks
Chapter 9: Network Penetration Testing, Detection, and Security
Chapter 10: Gaining Access to Computer Devices
Chapter 11: Scanning Vulnerabilities Using Tools
Chapter 12: Client-Side Attacks
Chapter 13: Client-Side Attacks - Social Engineering
Chapter 14: Attack and Detect Trojans with BeEF
Chapter 15: Attacks Outside the Local Network
Chapter 16: Post Exploitation
Chapter 17: Website Penetration Testing
Chapter 18: Website Pentesting - Information Gathering
Chapter 19: File Upload, Code Execution, and File Inclusion Vulnerabilties
Chapter 20: SQL Injection Vulnerabilities
Chapter 21: Cross-Site Scripting Vulnerabilities
Chapter 22: Discovering Vulnerabilities Automatically Using OWASP ZAP

 

Examination and completion

Grading scale

A, B, C, D, E, FX, F

Examination

  • INL2 - Home assignment, 0.5 credits, Grading scale: P, F
  • PROA - Project, 7.0 credits, Grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Grading criteria/assessment criteria

To pass the course, the following is required:

  • Submission of hacking logs each week until completing the project.
  • Valid submission of all flags in the project assignment.
  • A minimum of 10% of maximum flag points calculated as detailed below.
  • Valid submission of the quiz on Cyber Law.
  • Oral exam (unless explicitly exempted).
  • Abiding by the rules.

The final grade in the course will mainly depend on:

  • The aggregated value of captured flags. Each flag has a maximum value of 10 points, which decreases with the number of consumed hints.
  • Your operational security. 
  • A successfully completed bug bounty bonus assignment is worth 20 points.
  • An oral exam.

If hacking logs and other factors are satisfactory, we aim to grade as follows:

A: 90-100% of maximum required points

B: 70-90% of maximum required points

C: 50-70% of maximum required points

D: 30-50% of maximum required points

E: 10-30% of maximum required points

Maximum required points is computed as 10 x (number of flags). With 16 flags, the maximum required points is therefore 160. (The number of flags varies from year to year.) Because the bug bounty assignment is a bonus task, it can be used to boost your points above the maximum required points.

Teachers may request that the project assignment is presented in person. This examination consists of an individual interview where teachers will be asking the student to explain and demonstrate parts of their accomplishments during the course. The oral exam is mainly aimed at determining that the student's physical self corresponds to her digital one, so we expect the ability to explain how various flags were captured, and why the employed methods were selected. If requested by teachers, the oral exam is mandatory. The results of the oral exam can affect both examination and grading. You are allowed to use your own notes during the oral exam.

Any students that do not pass the course have to re-take the course in the next iteration. It is not possible to increase the grade of the course after the course has been completed. 

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

No information inserted

Round Facts

Offered By

EECS/Computer Science

Language Of Instruction

English

Course offering

Autumn 2021-1 (Start date 30/08/2021, English)