Day 051 #FromZeroToHacker – Vulnerabilities 101

Time to familiarise ourselves with the skills, research methods and resources to exploit vulnerabilities in applications and systems.

Let’s start our daily #FromZeroToHacker challenge.

Table of contents
Introduction
What I have learnt today?
Stats
Resources

Introduction to Vulnerabilities 101

Cybersecurity is a big business nowadays. The hacks we hear almost daily in the news are from exploiting vulnerabilities.

Today, we are going to explain what a vulnerability is, the types of vulnerabilities and how we can exploit these.

What have I learnt today?

Introduction to vulnerabilities

A vulnerability is a weakness or flaw in the design, implementation and/or behaviour of a system or application that an attacker can exploit to gain access to unauthorised information or perform unauthorised actions.

Many factors contribute to this: Poor design of an application, an oversight of the intended actions of a user, etc.

We can classify vulnerabilities into five groups or categories:

Vulnerabilities five groups

Scoring Vulnerabilities (CVSS & VPR)

Vulnerability management is the process of evaluating, categorising and ultimately fixing threats within an organisation. Despite this, it is impossible to patch and fix every single vulnerability in a network or system, and sometimes is even a waste of resources as only 2% of vulnerabilities are exploited.

This is where vulnerability scoring comes to play: We create a list of risks based on their potential and impact, so we can prioritise fixing them based on this rating. The popular Common Vulnerability Scoring System (CVSS) awards points to a vulnerability based on its features, availability, and reproducibility.

This is not the only method we can use, so let’s explore both of the most used ones:

Common Vulnerability Scoring System (CVSS)

Introduced in 2005, CVSS is a very popular framework for vulnerability scoring. It is pretty simple, and the score of a vulnerability is determined by three main factors:

  1. How easy is it to exploit the vulnerability?
  2. Do exploits exist for this?
  3. How does this vulnerability interfere with the CIA triad?

Depending on its score, it may fall on one of these rating levels:

Vulnerabilities CVSS Score
CVSS pros and cons

Vulnerability Priority Rating (VPR)

The VPR framework is a much more modern framework. This framework is considered to be risk-driven: The vulnerabilities are given a score with a heavy focus on the risk a vulnerability poses to the organisation, instead of other factors such as impact (like CVSS does).

VPR scoring, instead, takes into account the relevancy of a vulnerability. If that vulnerability does not apply to the organisation, no risk is considered. VPR scoring is dynamic, and the score of a vulnerability may change periodically.

VPR, as CVSS, has a scoring rating for vulnerabilities:

Vulnerabilities VPR Score
VPR pros and cons

Vulnerability Databases

We will find different types of applications and services during our pentester life. Luckily, there are resources on the Internet that keep track of vulnerabilities. Let’s familiarise ourselves with two of those vulnerability databases:

NVD (National Vulnerability Database)

The NVD is a website that lists all categorised vulnerabilities. Vulnerabilities are classified under Common Vulnerabilities and Exposures or CVE.

CVEs use the format of CVE-<YEAR>-<IDNUMBER>.

NVD allows us to see all the CVEs confirmed and even has filters (by category, the month of submission, etc). For example:

NVD filtered by month and year

While NVD keeps track of new vulnerabilities, is not a good option when searching for vulnerabilities for a specific scenario.

Exploit-DB

Exploit-DB is a great resource for hackers. Exploit-DB contains exploits for software and applications stored under the name, author, and version of the software.

Exploit Database

An example of finding a vulnerability

Here, as an example, we are going to leverage the Version disclosure vulnerability.

Applications and software usually have a version number:

Vulnerable Apache Tomcat

With this information, go to Exploit-DB and search for Apache Tomcat 9.0.17:

Apache Tomcat in Exploit Database

Now we have 5 exploits that may be useful in this specific scenario.

Summary

In this lesson, we have been introduced to:

  • What vulnerabilities are.
  • Why they are worthy of learning about.
  • How are vulnerabilities rated.
  • Databases for vulnerabilities research.
  • A showcase of how vulnerability research works

Stats

From 82.639th to 81.508th. Still at the top 4%!

Here is also the Skill Matrix:

Skills Matrix

Resources

Path: Jr Penetration tester

Vulnerability research

TryHackMe: Vulnerabilities 101

Other resources

Common Vulnerability Scoring System Calculator
NVD Full Listing
Exploit-DB