Pen Testing Assignment
Pen Testing Assignment
Penetration testing, often abbreviated as "pen testing," is a proactive and systematic approach to
evaluating the security of an information system, network, or application by simulating real-world
attacks. The primary goal of penetration testing is to identify security vulnerabilities, weaknesses,
and potential entry points that malicious attackers could exploit to compromise the
confidentiality, integrity, or availability of the system or data.
Objective:
The objective of this assignment is to provide practical experience in conducting virtual
penetration testing in a simulated and/or real environment. Students will learn to identify, exploit,
and mitigate security vulnerabilities using virtual machines and/or online platforms.
Assignment Overview:
Students will work in teams of 5 members to perform a virtual penetration testing project. They
will create a virtual lab environment or utilize online platforms to conduct penetration tests on
simulated systems and applications. The goal is to identify security vulnerabilities, exploit them,
and recommend mitigations.
Tasks:
1. Preparation Phase:
• Define the scope and objectives of the penetration testing project.
• Develop a detailed plan outlining the methodologies, tools, and techniques to be
used during the assessment.
• Obtain necessary approvals and permissions from the target organization for
conducting the penetration tests.
2. Virtual Lab Setup (if required):
• Create a virtual lab environment using VirtualBox, VMware, or similar software.
• Set up multiple virtual machines, including vulnerable operating systems and
applications.
• Configure networking to simulate a realistic network environment with different
subnets, firewalls, and network services.
3. Information Gathering:
• Perform reconnaissance to gather information about the target (virtual or real)
organization's network infrastructure, including IP addresses, domain names, and
system configurations.
• Identify potential entry points and attack vectors, such as open ports, services,
and vulnerabilities, etc.
4. Vulnerability Analysis:
• Conduct vulnerability scans using automated tools (e.g., Nessus, OpenVAS, or
automated scripts etc.) to identify known vulnerabilities within the target
environment.
• Manually verify the identified vulnerabilities to assess their severity and
exploitability.
5. Exploitation:
• Exploit the identified vulnerabilities to gain unauthorized access to the target
systems.
• Document the steps taken to exploit each vulnerability, including any tools or
scripts used.
6. Post-Exploitation:
• Maintain access to the compromised systems and escalate privileges where
possible.
• Conduct further reconnaissance to gather sensitive information, such as user
credentials and confidential data.
7. Reporting:
• Prepare a comprehensive penetration testing report documenting the findings,
including:
• Executive summary highlighting key findings and recommendations.
• Technical details of vulnerabilities discovered, including proof-of-concept
exploits.
• Risk assessment and prioritization of vulnerabilities based on severity.
• Recommendations for remediation and mitigating controls.
Deliverables:
• Penetration testing plan outlining the scope, objectives, and methodologies.
• Virtual lab setup documentation detailing the configuration of virtual machines and
networking.
• Penetration testing report documenting the findings, recommendations, and
remediation steps.
• Presentation slides summarizing the key findings and presenting recommendations to
stakeholders.
Assessment Criteria:
• Effectiveness in setting up a virtual lab environment and simulating a realistic network.
• Thoroughness and accuracy in identifying and exploiting security vulnerabilities.
• Quality and clarity of the penetration testing report and presentation.
• Demonstration of teamwork (if applicable), collaboration, and professionalism
throughout the project.
Note:
• Students are expected to adhere to ethical guidelines and legal regulations throughout
the penetration testing project.
• Any unauthorized actions or activities that may cause harm to the virtual lab
environment or compromise its integrity are strictly prohibited.
• It is recommended that students seek guidance from instructors or industry
professionals with experience in penetration testing to ensure the integrity and legality
of their action
• If you don't have access to a real organization for penetration testing, you can still gain
valuable experience and practice your skills using alternative methods and
environments. Here are some suggestions:
• Create a Virtual Lab:
• Set up a virtual lab environment using software such as VirtualBox or
VMware.
• Install vulnerable operating systems and applications, such as intentionally
vulnerable Linux distributions like OWASP's WebGoat or Damn Vulnerable
Web Application (DVWA).
• Configure networking within the virtual lab to simulate a real-world network
environment.
• Online Capture the Flag (CTF) Platforms:
• Participate in online Capture the Flag competitions on platforms like Hack The
Box, TryHackMe, or OverTheWire.
• These platforms offer a variety of challenges, ranging from beginner to
advanced levels, covering different aspects of penetration testing, such as
web exploitation, reverse engineering, cryptography, and more.
• Practice with Vulnerable Web Applications:
• Explore and test vulnerabilities in vulnerable web applications available on
the internet.
• Websites like OWASP Juice Shop provide a deliberately insecure web
application for practicing security testing techniques.
• Use Vulnerable Virtual Machines (VMs):
• Download and deploy intentionally vulnerable VMs, such as Metasploitable
or OWASP Broken Web Applications Project, to practice penetration testing
techniques.
• These VMs contain a range of vulnerabilities and misconfigurations for you to
discover and exploit.
• Conduct Simulated Scenarios:
• Create simulated scenarios or environments where you can role-play as
attackers and defenders.
• Set up scenarios such as phishing attacks, social engineering exercises, or
simulated network intrusions to test your detection and response skills.
• Contribute to Open Source Projects:
• Contribute to open-source security projects, such as vulnerability scanners,
penetration testing frameworks, or security research tools.
• Contributing to these projects can provide hands-on experience with real-
world security challenges and foster collaboration within the security
community.
• Simulate Penetration Testing Projects:
• Design and simulate penetration testing projects based on hypothetical
scenarios or case studies.
• Create detailed project briefs with objectives, scope, and target systems for
you to assess and test.