Ethical Hacking Course Assignment Guide
Ethical Hacking Course Assignment Guide
VM hardening is not allowed to ensure that vulnerabilities remain accessible for testing and exploitation, aligning with the learning objectives of understanding and addressing real-world security flaws. Allowing hardening would complicate or potentially negate the vulnerability discovery process, thus undermining the educational goal of developing skills in identifying and exploiting vulnerabilities using precision techniques .
The ethical hacking assignment consists of two main phases. Phase 1 involves designing and configuring a vulnerable virtual machine (VM). Objectives of this phase include identifying vulnerabilities within various services that allow penetration testers to obtain remote access and escalate privileges to gain root access. The task requires a written report outlining the vulnerabilities and the expected attack path scenarios . Phase 2 involves penetration testing a randomly assigned VM designed by another group. The objective here is to identify and exploit vulnerabilities to gain local and root access, followed by reporting these efforts .
Originality in designing attack paths is significant as it reflects the thought process behind creating meaningful and challenging scenarios that mimic real-world vulnerabilities. This is assessed based on how unique and thought-out the designed vulnerabilities and attack paths are, with more creative and sophisticated paths receiving a higher grade. The evaluation seeks originality to ensure that the task promotes learning of diverse exploitation techniques .
Participants might classify access paths based on the complexity and skill required to exploit the vulnerability or escalate privileges. Easy paths may involve well-documented vulnerabilities with simple exploits, intermediate paths might require knowledge of multiple steps or less common tools, and hard paths could involve rare exploits or complex multi-phase attacks. This classification is significant as it ensures a comprehensive challenge that tests and develops a range of skills from basic to advanced levels, reflecting a real-world learning curve .
The evaluation of the ethical hacking assignment is equally split between the VM setup and penetration testing phases, each contributing 50% to the final grade. For the VM setup, key evaluation criteria include the quality of the report, the difficulty of exploiting the VM, and the originality of the designed attack paths. The more vulnerabilities found by others, the lower the grade in this aspect . For penetration testing, evaluation is based on the number of attack paths discovered, the comprehensiveness of the report explaining the vulnerabilities and exploits, and how well the group maintained persistent access and cleaned up their traces .
Hiding a root password in a random image on a web server is considered unrealistic because it does not reflect how vulnerabilities typically manifest in real-world scenarios. Such a method would likely be an intentional trap rather than an inadvertent lapse in security, unlike unintended misconfigurations or software vulnerabilities that could arise naturally due to oversight or errors .
Realistic vulnerabilities that could be introduced into a virtual machine for this assignment include using outdated versions of services with known exploits, poorly configured services, weak service credentials, and web applications vulnerable to XSS or SQL injection. Local privilege escalation could involve outdated programs with known exploits, poor system configurations, weak root passwords, or vulnerabilities in user-written programs . Such vulnerabilities reflect real system weaknesses that could occur in genuine IT environments .
Ethical hackers might use backdoors, compromised accounts with higher privileges, or modified system services to maintain persistent access after gaining root privileges. This ensures they can still access the system even if initial vulnerabilities are patched. It's important to maintain access to continuously monitor, explore, or control the system without needing to re-exploit the initial vulnerabilities .
For effective reporting in both phases, reports should be concise, clearly detailing the designed vulnerabilities, expected attack paths in Phase 1, and the discovered vulnerabilities and exploits in Phase 2. Key details must include explanations of why vulnerabilities are realistic, descriptions of the attack paths, the methods used to exploit them, and a discussion on maintaining access and trace cleanup. The reports must include group identifiers like group number and names .
A vulnerable program must meet several criteria: source code must be accessible as a non-root user, lack obfuscation, be written in C, and include comments explaining parts of the code. Additionally, exploit vulnerabilities such as buffer overflows must have protections permanently disabled to ensure they are exploitable. These criteria are crucial because they ensure transparency, facilitate understanding and safe exploitation, and emulate realistic conditions where vulnerabilities can be tested and validated .