Skip to main content
Till KTH:s startsida Till KTH:s startsida

EN2720 Ethical Hacking 7.5 credits

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. 

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.


For course offering

Autumn 2024 Start 26 Aug 2024 programme students

Application code


Headings with content from the Course syllabus EN2720 (Autumn 2024–) are denoted with an asterisk ( )

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

After passing the course, the student should, at an introductory level, be able to

  • establish resources to support offensive security operations
  • perform reconnaissance and discovery to plan operations
  • access credentials, such as account names, passwords and access tokens
  • achieve initial access to networks and systems
  • execute malicious code on remote devices
  • establish command and control capabilities to communicate with compromised systems
  • elevate privileges on systems to gain higher-level permissions
  • persist on networks by maintaining access across interruptions
  • move laterally, pivoting through the computing environment
  • avoid detection by network defenders
  • collect and exfiltrate data from computing environments
  • assess the security of computer systems, applications, and services
  • carry out legal and ethical security testing.

This will provide students with a practical understanding of the capabilities and possibilities of an attacker, in order to evaluate the cybersecurity of computer networks.

Literature and preparations

Specific prerequisites

Knowledge and skills in basic programming, 6 credits, corresponding to completed course DD1310-DD1319/DD1321/DD1331/DD1337/DD100N/ID1018.

Recommended prerequisites

We strongly recommend that you have some familiarity with communication networks (for example EP1100 Data communication and computer networks) and operating systems (for example ID1206 Operating systems). If you do not, please plan for significantly a higher course load than otherwise expected.


No information inserted


No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

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


  • INL2 - Home assignment, 0.5 credits, grading scale: P, F
  • PRO2 - Project assignment, 6.5 credits, grading scale: A, B, C, D, E, FX, F
  • TEN2 - Written exam, 0.5 credits, grading scale: P, 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.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


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

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

Computer Science and Engineering, Electrical Engineering

Education cycle

Second cycle

Add-on studies

No information inserted


Pontus Johnson

Transitional regulations

The earlier written assignment INL1 has been replaced by INL2.

The earlier project PROA has been replaced by PRO2 and TEN2.

Supplementary information

In this course, the EECS code of honor applies, see: