Introduction to Vulnerability Management and Exploitation
We covered exploiting vulnerabilities and vulnerability capstone rooms as part of TryHackMe Junior Penetration Tester pathway.
Cybersecurity is big business in the modern-day world. The hacks that we hear about in newspapers are from exploiting vulnerabilities. In this room, we’re going to explain exactly what a vulnerability is, the types of vulnerabilities and how we can exploit these for success in our penetration testing endeavours.
An enormous part of penetration testing is knowing the skills and resources for whatever situation you face. This room is going to introduce you to some resources that are essential when researching vulnerabilities, specifically, you are going to be introduced to:
- What vulnerabilities are
- Why they’re worthy of learning about
- How are vulnerabilities rated
- Databases for vulnerability research
- A showcase of how vulnerability research is used on ACKme’s engagement
A vulnerability in cybersecurity is defined as a weakness or flaw in the design, implementation or behaviours of a system or application. An attacker can exploit these weaknesses to gain access to unauthorised information or perform unauthorised actions. The term “vulnerability” has many definitions by cybersecurity bodies. However, there is minimal variation between them all.
For example, NIST defines a vulnerability as “weakness in an information system, system security procedures, internal controls, or implementation that could be exploited or triggered by a threat source”.
Vulnerabilities can originate from many factors, including a poor design of an application or an oversight of the intended actions from a user.
Manual scanning for vulnerabilities is often the weapon of choice by a penetration tester when testing individual applications or programs. In fact, manual scanning will involve searching for the same vulnerabilities and uses similar techniques as automated scanning.
Task Breifing
- Objective: Identify and exploit a vulnerability on an “online bookstore” web application.
- Steps Taken:
- Identifying the Version: The application shows “Online Bookstore v1.0,” which helps narrow down potential exploits.
- Finding Exploits: Using Google or
searchsploit
, an unauthenticated remote code execution (RCE) exploit is identified. - Testing the Exploit: After downloading and examining the exploit code, commands like
whoami
are tested, confirming RCE on the target. The exploit is then modified to execute a reverse shell, connecting back to the attacker’s machine.
Vulnerability Capstone Room:
- Objective: Exploit a vulnerability in the Fuel CMS web application, version 1.4.
- Steps Taken:
- Finding the Vulnerability: Similar to the first room,
searchsploit
is used to locate an RCE exploit for Fuel CMS. - Setting Up the Exploit: The exploit is modified by updating the target’s URL and removing unnecessary proxy configurations.
- Execution and Shell Access: After executing commands successfully, a reverse shell is set up for persistent access. Finally, the flag is retrieved from the specified directory on the vulnerable machine.
- Finding the Vulnerability: Similar to the first room,
Answers | TryHackMe Vulnerability Research
You manage to bypass a login panel using cookies to authenticate. What type of vulnerability is this?
If you wanted to assess vulnerability based on the risk it poses to an organisation, what framework would you use?
Note: We are looking for the acronym here.
If you wanted to use a framework that was free and open-source, what framework would that be?
Note: We are looking for the acronym here.
You are testing a web application and find that you are able to input and retrieve data in a database. What vulnerability is this?
You manage to impersonate another user. What vulnerability is this?
You are performing a penetration test at a site with no internet connection. What tool could you use to find exploits to use?
Use this exploit against the vulnerable machine. What is the value of the flag located in a web directory?
What is the name of the application running on the vulnerable machine?
What is the version number of this application?
What is the number of the CVE that allows an attacker to remotely execute code on this application?
Format: CVE-XXXX-XXXXX
Use the resources & skills learnt throughout this module to find and use a relevant exploit to exploit this vulnerability.
Note: There are numerous exploits out there that can be used for this vulnerability (some more useful than others!)
What is the value of the flag located on this vulnerable machine? This is located in /home/ubuntu on the vulnerable machine.
Video Walk-through