CEH Module 5
CEH Module 5
1 Vulnerability Scans
VULNERABILITY Vulnerability Scanning Tools
Buffer overflows
Not patching against known code weaknesses
Unpatched systems
Not applying security updates from the vendor
Design flaws
Software that had a hurried development process with insufficient built-in security
OS flaws
Vulnerabilities discovered in the operating system
Application flaws
Vulnerabilities discovered in an application, or services that ship with an OS
Open services
Services that freely permit client connections with no authentication or security controls
User-based vulnerabilities
User susceptibility to social engineering, lack of training or awareness
Process-based vulnerabilities
Security gaps in a business process that might allow exploitation by an attacker
You can scan for vulnerabilities and/or compliance
Should include both physical and virtual systems (VMs, containers)
Tools are typically automated and include host discovery and port scanning as part of
the scan
Some tools only “rattle the door knob” to see if the vulnerability exists
They do not attempt to actually exploit the vulnerability
Some tools also attempt to exploit the vulnerability and provide proof
Such as a stolen file, obtaining a shell (command prompt), etc.
Active scanning
Send probes and specially crafted requests to targets
Host discovery – see what hosts are live
Port scan and service enumeration – see what open ports, services, and versions exist on the hosts
“Rattle the doorknob”
See if the OS or service responds in a way that suggests it is susceptible to a specific attack
Need not include actually launching the attack and compromising the device
That is usually done in a penetration test
Credentialed scans
You provide the scanner with authentication credentials for the various systems it will scan
The scanner logs into the systems to retrieve their configuration information and log data
Uncredentialed scans are generally unable to detect many vulnerabilities on a device
The rely on external resources for configuration settings that can be altered or incorrect
Host-based Cloud-based
OS Comprehensive solutions
Services Emulated attacks
Apps Good for DevSecOps
Versions Often use AI for advanced analysis
Patch levels
Depth assessment
Defaults and misconfigurations
Fuzzers
Network-based Look for previously unknown vulnerabilities
Protocols
Ports
ACLs / firewall rules / IDS/IPS
Follows an inference-based approach Can be automated
Assess vulnerabilities depending on the
Signature database regularly updated
inventory of protocols in the environment
Supports different network/host types
Inventories protocols
Suggests proper remedies and workarounds
Detects open ports
Imitates outside attackers
Identifies services behind the ports
Creates actionable, customizable reports
Checks for vulnerabilities
Includes trends and categorizes by severity
Validates vulnerabilities
Just a start
Only one part of a larger penetration test
if __name__ == '__main__':
target = input('Enter the host to be scanned: ')
t_IP = gethostbyname(target)
print ('Starting scan on host: ', t_IP)
True Negative
The scanner does not detect a vulnerability
The vulnerability really does not exist on the scanned system
This is our preferred result!
False Positive
The scanner detects a vulnerability
But the vulnerability does not actually exist on the scanned system
Too many of these can be annoying!
False Negative
The scanner does not detect a vulnerability
But the vulnerability actually exists on the scanned system
This is the worst result!
Executive Summary Vulnerability Classification
Major findings Typically includes CVE references
VULNERABILITY CVSS
CVE
ASSESSMENT Vulnerability Research
A comprehensive assessment of a system’s ability to withstand attack
Includes the use of automated vulnerability scanning tools
Part of the overall security audit
Network (N)
Vulnerabilities with this rating are remotely exploitable, from one or more hops away, up to,
and including, remote exploitation over the Internet
Adjacent (A)
A vulnerability with this rating requires network adjacency for exploitation
The attack must be launched from the same physical or logical network
The attacker must have access to the local network that the system is connected to
Local (L)
Vulnerabilities with this rating are not exploitable over a network
The attacker must access the system locally, remotely (via protocol like SSH or RDP)
Or requires use of social engineering or other techniques to trick an unsuspecting user to help
initiate the exploit
Physical (P)
In this type of attack, the adversary must physically interact with the target system
The Attack Complexity metric indicates conditions beyond the attacker’s control
These conditions must exist in order to exploit the vulnerability
Most commonly, this refers to either required user interaction, or specific configurations
of the target system
The Attack Complexity metric is scored as either Low or High:
Low (L)
There are no specific pre-conditions required for exploitation
High (H)
There are conditions beyond the attackers control for successful attack
For this type of attack, the attacker must complete some number of preparatory steps in order to
get access
This might include gather reconnaissance data, overcoming mitigations, or becoming a man-in-
the-middle
This metric is exactly as it sounds, describing the level of privileges, or access, an
attacker must have before successful exploit
Privileges requires falls under three ratings:
None (N)
There is no privilege or special access required to conduct the attack
Low (L)
The attacker requires basic, “user” level privileges to leverage the exploit
High (H)
Administrative or similar access privileges are required for successful attack
ETHICAL
(people, processes)
A vulnerability assessment should produce an actionable report
HACKING
Common Vulnerability Scoring System (CVSS) ranks vulnerability severity on a scale
of 1-10
CVSSREVIEW
identifies four attack vectors: network, adjacent, local, physical