Vulnerabilities 101
Understand the flaws of an application and apply your researching skills on some vulnerability databases
Introduction to Vulnerability
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.
Vulnerability | Description |
---|---|
Operating System | These types of vulnerabilities are found within Operating Systems (OSs) and often result in privilege escalation. |
(Mis)Configuration-based | These types of vulnerabilities stem from an incorrectly configured application or service. For example, a website exposing customer details. |
Weak or Default Credentials | Applications and services that have an element of authentication will come with default credentials when installed. For example, an administrator dashboard may have the username and password of "admin". These are easy to guess by an attacker. |
Application Logic | These vulnerabilities are a result of poorly designed applications. For example, poorly implemented authentication mechanisms that may result in an attacker being able to impersonate a user. |
Human-Factor | Human-Factor vulnerabilities are vulnerabilities that leverage human behaviour. For example, phishing emails are designed to trick humans into believing they are legitimate. |
Scoring Vulnerabilities (CVSS & VPR)
Vulnerability management is the process of evaluating, categorising and ultimately remediating threats (vulnerabilities) faced by an organisation. It is arguably impossible to patch and remedy every single vulnerability in a network or computer system and sometimes a waste of resources.
Common Vulnerability Scoring System
CVSS's common factors to determine a vunlerability
- How easy is it to exploit vulnerability?
- Do exploits exists or not?
- How does this vulnerability interfere with the
CIA
triad?
Severity Rating Scale and their score ranges
Rating | Score |
---|---|
None | 0 |
Low | 0.1 - 3.9 |
Medium | 4.0 - 6.9 |
High | 7.0 - 8.9 |
Critical | 9.0 - 10.0 |
However, CVSS is not a magic bullet. Let's analyse some of the advantages and disadvantages of CVSS in the table below:
Vulnerability Priority Rating (VPR)
Unlike CVSS, VPR scoring takes into account the relevancy of a vulnerability. For example, no risk is considered regarding a vulnerability if that vulnerability does not apply to the organisation (i.e. they do not use the software that is vulnerable). VPR is also considerably dynamic in its scoring, where the risk that a vulnerability may pose can change almost daily as it ages.
VPR uses a similar scoring range as CVSS, which I have also put into the table below. However, two notable differences are that VPR does not have a "None/Informational" category, and because VPR uses a different scoring method, the same vulnerability will have a different score using VPR than when using CVSS.
Rating | Score |
---|---|
Low | 0.0 - 3.9 |
Medium | 4.0 - 6.9 |
High | 7.0 - 8.9 |
Critical | 9.0 - 10.0 |
Vulnerability Databases
Common terms to remember..
Term | Definition |
---|---|
Vulnerability | A vulnerability is defined as a weakness or flaw in the design, implementation, or behaviours of a system or application. |
Exploit | An exploit is something such as an action or behaviour that utilises a vulnerability on a system or application. |
Proof of Concept (PoC) | A PoC is a technique or tool that often demonstrates the exploitation of a vulnerability. |
NVD – National Vulnerability Database
The National Vulnerability Database is a website that lists all publically categorised vulnerabilities. In cybersecurity, vulnerabilities are classified under “Common Vulnerabilities and Exposures” (Or CVE for short).
Exploit-DB
Exploit-DB is a resource that we, as hackers, will find much more helpful during an assessment. Exploit-DB retains exploits for software and applications stored under the name, author and version of the software or application.