You have been hired as a junior security consultant and have been tasked with performing an in-house penetration test to demonstrate your readiness to support the audit of a large corporate client that has employed your firm’s services. Conducting a penetration test consists of 1) planning the test, 2) preparing your test tools, 3) performing the test, 4) analyzing the data, and 5) writing up and communicating your findings. The project will document your notional penetration test.

* Part 1 – Pre-Test: Deployment of attack tools and victim host

PROJECT SECTION 1 DETAILS: The first part of your project consists of preparing and deploying your testing tools (the attack OS) and the vulnerable host that will serve as your attack target. Instead of requiring the use of two physical machines, we will utilize one physical machine and we will leverage virtualization software to install a hypervisor (VirtualBox) along with two (2) “guest” operating systems. For those new to virtualization, we are simply using our “host OS” (Window, Mac, Linux) and installing a virtualization “software application” that then allows us to run multiple OS’es on our “host OS” very quickly and easily.

  1. Virtualization Software. VirtualBox: (Links to an external site.)
  2. Attack OS/VM. Once your virtualization software is chosen, choose an attack OS to download. You will use Kali Linux in the lab environment and would likely be the most comfortable with that. Note: It will be much easier to download a pre-built VM instead of the .iso image option. Additionally, the pre-built images are specific to the virtualization software that you are using so choose accordingly.…
  3. Vulnerable Target OS/VM. You will need a victim machine to target and exploit. Download a virtual machine that you can attack. There are many options that are designed to help students practice their skills and learn to exploit vulnerabilities in an approved, educational manner. Keep in mind that these are inherently vulnerable and designed to be relatively easy to exploit. A recommended best practice is to not allow other machines outside of your “virtual network” to be able to communicate with them. There is a “NAT” network setting within your virtualization software that helps to isolate your “lab” systems from the other devices on your local area network. Many options exist, but here are a few:
  • Metasploitable. There are a few versions out there – go with “Metasploitable2” – it can be downloaded from: (Links to an external site.) or (Links to an external site.)
  • * Part 2 – TESTING (MAPPING AND SCANNING): Mapping the target environment and conducting a vulnerability scan
  • PROJECT SECTION 2 DETAILS: The second part of your project has two parts.
    • Part A: Identifying the target system through network discovery using at least two network discovery/mapping tools (e.g., Nmap,Nessus, Netdiscover) to identify networks and targets. Identify what ports, services, and versions of software are running in the network environment.
    • Part B: Additionally, you will need to complete a vulnerability scan against your target host to identify vulnerabilities that you can then use to exploit to gain administrative/root access in the following project section

    Choose any of the tools within your chosen Attack VM (Kali) to map your network following the Part A requirements. Choose a vulnerability scanning software to download, (install and configure Nessus) complete Part B. You should be able to find free “personal/home use versions).” Configure a scan to run against your target host. If your target host is a deliberately vulnerable machine, you should find plenty of “critical/high” vulnerabilities to choose for your attack in the following project section.

  • * Part 3 – Exploitation: Gaining Access through A vulnerability identified during the vuln scan
  • PROJECT SECTION 3 DETAILS: The third part of your project requires you to exploit a vulnerability of your choosing based on the previous section’s scanning. The exploit should be through a Metasploit Module or other open-source/commercial tool or custom script/code. Select your vulnerability carefully. You should thoroughly research your vulnerability before you start to exploit it – which is the same process you would use in a professional capacity. The vulnerability MUST RESULT IN GAINING SYSTEM/ROOT ACCESS on the target host. Compromised credentials (including no password or weak password) is not a sufficient vulnerability to exploit. During the course labs, you will have completed labs that require you to exploit a vulnerability. You must choose an exploit that we have not done in class. I suggest doing a web search on “Metasploitable Walkthrough” for additional ideas on Metasploit modules that could be used (if you have selected Metasploitable as your vulnerable target), or research vulnerabilities specific to your vulnerable framework. Keep in mind that your vulnerability should have been flagged during the vulnerability scanning portion.
    Depending on your chosen vulnerable target host, you may have many more vulnerabilities to choose from. I recommend that you keep it simple and stick with a vulnerability that is well documented so there is sufficient write-ups and posts to follow. With that said, creativity and rigorous exploit research is always welcomed and appreciated.
  • * Part 4: Analysis and Reporting: Communicating findings and providing mitigation recommendationPROJECT SECTION 4 DETAILS: The fourth part of your project requires you to provide a well written report documenting your results and reporting your findings and recommendations.