Updated Project (Spring 2021) - 5
Updated Project (Spring 2021) - 5
(20 Points)
SCENARIO
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.
PROJECT OVERVIEW
Your project will be submitted in four sections. The final deliverable will include all combined sections:
SUPPORTING DETAILS
Build and deploy an attack OS (Kali Linux or other similar operating system (OS))
Configure and deploy a victim host (Metasploitable, Broken Web Apps, Mutillidae, other
exploitable OS or virtual machine (VM))
Conduct a vulnerability scan
Research a hardware or software vulnerability
Discuss how the vulnerability can be exploited
Exploit the vulnerability
Evaluate the risk posed by this vulnerability
Provide a recommended compensating control to mitigate the vulnerability
Students may choose to submit the project using one of two options - each option has pros and cons
that students should evaluate before making their decision.
A) Local Lab: Requires access to a dedicated computer in which students have sufficient:
o access (continued access to the same machine for the duration of the course)
o permissions (administrative permissions to install software)
o storage (minimum of 30 GB available to the student for VM storage)
o memory (minimum of 8 GBs)
o bandwidth (downloading large VMs can take considerable time even with high-speed
Internet connections)
B) Remote Lab: Utilizes the online lab environment used to complete the weekly course
labs
1. Virtualization Software. Choose your virtualization software (either works fine and they are both
free):
VirtualBox:
o https://www.virtualbox.org/wiki/Downloads
VMware Workstation Player:
o https://www.vmware.com/products/workstation-player/workstation-player-
evaluation.html
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.
However, you may download any “attack OS.” Other options include: Parrot OS, BackBox,
BlackArch (advanced only – save yourself the pain and skip this one), and many others. 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.
https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/
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 (also includes many of the ones below – the same as what is in the InfoSec labs).
There are a few versions out there – go with “Metasploitable2” - it can be downloaded from:
https://sourceforge.net/projects/metasploitable/files/Metasploitable2/ or
https://information.rapid7.com/download-metasploitable-2017.html
OWASP’s Broken Web Apps (includes WebGoat):
https://sourceforge.net/projects/owaspbwa/files/latest/download
DVWA (Web Application): https://github.com/ethicalhack3r/DVWA/archive/master.zip.
Bad Store (Web Application): https://www.vulnhub.com/entry/badstore-123,41/
VulnHub: Many options exist here – somewhat like a “capture the flag” with near limitless
possibilities with new ones being added all of the time (Note: I would save these for after the
class project – more for fun) https://www.vulnhub.com
4. If you need additional help installing Kali, please review Kali Linux Revealed for step-by-step
instructions. There is also a course video during Week 2 that is very helpful
https://kali.training/downloads/Kali-Linux-Revealed-1st-edition.pdf
The previous option is definitely a lot of fun and helps develop a better understanding of the
underlying architecture but, unfortunately, may not be a viable option for you depending on
your circumstances. Option 2 can be done without having to install any software and consists
of the student logging in to the InfoSec Learning labs to complete the project for the remainder
of the project sections. In lieu of downloading , installing and configuring software, Option 2
Part 1, requires research into an online cloud hosting provider and the deployment of a virtual
private server. This option also has some flexibility.
Option 2A: Research and choose a cloud hosting provider and deploy a virtual private server
that you can remotely access and configure. Install any “free” operating system on the cloud
server. Typically, any Linux OS can be freely deployed without charge. Most, if not all, of the
cloud hosting providers will require a credit card or PayPal account to verify identity and may
charge a nominal fee ($1 or more). The submission requirement for this option is to take a
screenshot of your newly created VPS with an open terminal window echoing (printing to
screen) your name and date simply to show that you created it.
Option 2B: Research three cloud hosting providers and compare and contrast their offerings in
terms of a solution that you could use if you were to conduct your penetration testing from their
cloud services. Consider costs for computing time, storage, access, security, etc. The research
paper should be 1.5 – 2 pages in length with a minimum word count of 750 words.
Choose any of the tools within your chosen Attack VM (Kali, Parrot OS, etc.) to map your network
following the Part A requirements
Choose any vulnerability scanning software to download, install and configure (Open VAS, Nessus, etc.)
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.
You may choose to complete this portion of the project using the Infosec Learning Lab “Remote
and Local Exploitation.” No software downloads are required, so just configure your tools and
complete the scans. Follow the requirements in the Project Section 2 Details.
PART 3 – EXPLOITATION: GAINING ACCESS THROUGH A VULNERABILITY
IDENTIFIED DURING THE VULN SCAN (WEEK 6)
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.
Your choices are surprisingly not limited here. There are, of course, vulnerabilities in some of the web
applications that will not show up in a vulnerability scan with a tool like Nessus due to what Nessus is
actually looking at. With that said, web application vulnerabilities are a bit more complex than some of
the other software vulnerabilities that are well documented for Metasploitable. I recommend you stick
with a well-documented vulnerability.
Risk Assessment: Use this area to discuss what the risk represents to an organization. Would it
change the risk if it were on a public-facing server as opposed to an internal server? What
happens if this exploit were successful? Assume that the vulnerable software would be installed
in a business environment, not your home lab network. Discuss the a few different risks that
would be dependent on where and how the vulnerable software would be installed across the
organization.
Mitigation and Security Control Recommendation: Discuss how you fix this vulnerability. Can
you patch it? Are there additional security controls, protections, or sensing mechanisms that
could be installed to lessen the impact of an attack?
GUIDELINES
The proposal document should be 7 to 10 pages, conforming to APA standards (double-spaced).
At least two authoritative outside references are required. These should be listed on the last
page titled "References" - which does not count toward your overall page count.
Screenshots are required for each major section - any sensitive information may be obfuscated
or redacted).
o Screenshots will be no larger than 1/4 page. The text within the screenshot should
appear readable so avoid taking “full screen” captures. Capture only the appropriate
detail. Terminal command output should be no smaller than an “equivalent” 12-point
font size (similar to the font in this document).
o Screenshots and images do not count toward the overall page count. The project may
extend into multiple pages depending on the number of screenshots
o Clear screenshots should be used. There are numerous options available to take
screenshots. Use Google, or go to https://www.take-a-screenshot.org for various
options. By no means should you take a picture with your smartphone or camera and
paste in.
Appropriate in-text citations are required.
This will be graded on quality of the research topic, technical demonstration/write-up, the
content quality, use of citations, grammar and sentence structure, and creativity.
The paper is due during Week 8 of this course.
This paper should effectively describe the vulnerability, risks and recommendation in a manner
that will allow TECHNICAL readers to understand the vulnerability, risk and mitigation. The
course material and research should provide you with the right level of technical understanding.
Format: The paper must contain clearly labeled headings for each major section: Network
Mapping, Vulnerability Scan, Vulnerability Research, etc.
REFERENCES
https://www.offensive-security.com/reports/penetration-testing-sample-report-2013.pdf (Links
to an external site.)
Note: If you’ve never used Microsoft Word’s “References” feature to manage citations, please
invest some time in learning how to do this. You’ll be glad that you did.
https://support.office.com/en-ie/article/Add-a-citation-and-create-a-bibliography-
17686589-4824-4940-9c69-342c289fa2a5?ui=en-US&rs=en-IE&ad=IE
Ensure that you cite your references in the text when you are using material from the reference.
https://owl.english.purdue.edu/owl/resource/560/18/
GRADING RUBRIC
Final Deliverable
Category Weight % Description
Detailed discussion commensurate with the
PART 1 – PRE-TEST 10% option chosen, e.g., Local Lab build-out |
Remote lab (w/Option 2A or 2B).
Appropriate discussion and screenshots to
PART 2 – MAPPING AND document the tool usage and generated
10%
SCANNING output for the network mapping and
vulnerability scan
Appropriate discussion and screenshots to
document the tool usage and generated
output for the exploitation phase.
PART 3 – EXPLOITATION 20%
Screenshots should include post-exploitation
commands run to demonstrate system/root
access
Appropriate research and discussion,
including: vulnerability research, vulnerability
analysis, vulnerability analysis, Risk
Assessment and recommendations.
Exploitation should be written so that it could
PART 4 – ANALYSIS AND
40% be re-created with supporting evidence.
REPORTING
There must be clear evidence that the
screenshots are not simply taken from an
Internet page and that they are your own
work. A technically sound and logical
recommendation is provided and supported.
Full Credit: 2,000 words or more
Word Count 10%
Partial Credit: Less than 2,000 words
Ensure your paper is professional and
Spelling, grammar and
5% technically written using appropriate
Sentence Structure
terminology as discussed in class
Documentation and Appropriate APA citations/referenced
5%
Formatting sources and formats of characters/content.
A quality paper will meet or exceed all of the
Total 100%
above requirements.