In this article we will discuss the various aspects of Vulnerability analysis in ethical hacking. We will walk you through common examples of vulnerability, various lists and models to prevent them. The models we will be discussing are firewall, password, logical bombing and web hijacking, and in this article, we will talk about the methods to protect systems from these vulnerabilities.
What is Vulnerability?
Vulnerability can be defined as an issue in the software code that a hacker can exploit to harm the systems. It can be a gap in the implementation of cybersecurity procedures or a weakness in the controls.
What is an example of vulnerability?
Examples of vulnerabilities exist in every industry. These include:
- Unauthorized network access by Hackers due to a weak Firewall
- Cracking of Wi-Fi Passwords
- Exposure of sensitive data due to lack of application security
- Credit card data, Health Records
- Security misconfiguration
- Misconfiguration of passwords
- Insecure cryptographic storage
What are the 4 main types of vulnerabilities?
The 4 main types of vulnerabilities are:
- Faulty defenses – Poor defense measures pave the way for easy intrusion by hackers. This may be due to weak authentication, authorization, and encryption.
- Resource management not adequate –The chances of buffer overflow and the potential to have many vulnerabilities are greater when there is inadequate resource management.
- Insecure connections – If the connection between the system, application and networks is insecure, there is a higher probability of many threats like SQL injection.
- End user errors and misuse – In many cases, the errors are caused by humans and misuse of the systems.
What are vulnerability lists?
Below are the various types of Vulnerability lists as per OWASP. There are around 60 in number at present, and the list is growing:
- Allowing Domains or Accounts to Expire
- When domain names have expired, the hacker may buy them and set up a mail server. The hacker can find out the incoming mails and get to know the details.
- Buffer Overflow
- A process where there is more data added to the buffer and the excess data becomes corrupted and susceptible to vulnerabilities.
- Business logic vulnerability
- The software code may be missing a security control like authentications, encryption, or authorization.
- CRLF Injection
- Carriage Return Line Feed – Can be done by modifying the HTTP parameter of the URL.
- CSV Injection
- When untrusted CSV files are embedded to the websites causing vulnerabilities.
- Catch Null Pointer Exception
- When the program contains the null pointer, it is highly risky.
- Covert storage channel
- This can help the attackers easily and often happens due to faulty implementation.
- Deserialization of untrusted data
- Injection of malicious data into the applications to stop execution of programs.
- Directory Restriction Error
- Happens due to the improper use of CHROOT.
- Doubly freeing memory
- This error occurs when free() is called more than once in the memory address.
- Empty String Password
- Empty string password is highly insecure.
- Expression Language Injection
- Injection happens when attacker-controlled data enters an EL interpreter.
- Full Trust CLR Verification issue Exploiting Passing Reference Types by Reference
- Create a file called by ValueTypeTest.cs and compile it using csc by Value Type Test.csc.
- Heartbleed Bug
- Catastrophic bug in OpenSSL
- Improper Data Validation
- Multiple validation forms with the same name indicate that validation logic is not up-to-date.
- Improper pointer subtraction
- The subtraction of one pointer from another to determine the size is dependent on the assumption that both pointers exist in the same memory chunk.
- Information exposure through query strings in url
- Information exposure through query strings in URL is when sensitive data is passed to parameters in the URL.
- Injection problem
- The basic form of this flaw involves the injection of control-plane data into the data-plane in order to alter the control flow of the process.
- Insecure Compiler Optimization
- Improperly scrubbing sensitive data from memory can compromise security.
- Insecure Randomness
- Insecure randomness errors occur when a function that can produce predictable values is used as a source of randomness in security-sensitive context.
- Insecure Temporary File
- Creating and using insecure temporary files can leave application and system data vulnerable to attacks.
- Insecure Third-Party Domain Access
- Occurs when an application contains content provided from a 3rd party resource that is delivered without any type of content scrub.
- Insecure Transport
- The application configuration should ensure that SSL is used for all access-controlled pages.
- Insufficient Entropy
- Pseudo Random Number Generators are susceptible to suffering from insufficient entropy when they are initialized, because entropy data may not be available to them yet.
- Insufficient Session-ID Length
- Session identifiers should be at least 128 bits long to prevent brute-force session guessing attacks.
- Least Privilege Violation
- The elevated privilege level required to perform operations such as chroot () should be dropped immediately after the operation is performed.
- Memory leak
- A memory leak is an unintentional form of memory consumption whereby the developer fails to free an allocated block of memory when no longer needed.
- Missing Error Handling.
- Must define a default error page for 404 errors, 500 errors.
- Missing XML Validation
- Failure to enable validation when parsing XML gives an attacker the opportunity to supply malicious input.
- Multiple admin levels
- Multiple level admins may alter the login credentials.
Other list of Vulnerabilities
- Null Dereference
- OWASP .NET Vulnerability Research
- Overly Permissive Regular Expression
- PHP File Inclusion
- PHP Object Injection
- PRNG Seed Error
- Password Management Hardcoded Password
- Password Plaintext Storage
- Poor Logging Practice
- Portability Flaw
- Privacy Violation
- Process Control
- Return Inside Finally Block
- Session Variable Overloading
- String Termination Error
- Unchecked Error Condition
- Unchecked Return Value Missing Check against Null
- Undefined Behavior
- Unreleased Resource
- Unrestricted File Upload
- Unsafe JNI
- Unsafe Mobile Code
- Unsafe function call from a signal handler
- Unsafe use of Reflection
- Use of Obsolete Methods
- Use of hard-coded password
- Using a broken or risky cryptographic algorithm
- Using freed memory
- Vulnerability template
- XML External Entity (XXE) Processing
What is Vulnerability Analysis?
Vulnerability analysis is a procedure to check all the vulnerabilities in the systems, computers and other ecosystem tools. The vulnerability analysis helps in the analyzing, recognizing and ranking of the vulnerabilities as per the severity. It helps with the identification and assessment of threat details, enabling us to keep a resolution to protect them from hackers. The analysis can be done for every industry from Healthcare to Retail to IT.
Objectives of the Vulnerability analysis
- To identify vulnerabilities – Configuration, system, Design, Code, Process.
- Documenting the vulnerabilities.
- Preparation of guidance to mitigate the vulnerabilities.
Importance of Vulnerability Analysis
- Deep dive insights of the security issues.
- Helps us understand the risks associated with the entire ecosystem.
- Assets that are prone to cyber attacks.
Steps for the vulnerability Analysis
How to check if the organization requires Vulnerability Analysis
Types of Vulnerability Assessment
Network Based Scans
To identify network vulnerabilities. This scan helps to find the vulnerable systems in the wired and wireless networks.
Host Based Scans
This scan is to identify vulnerabilities in the ports, configuration, server workstations, other hosts and patch history.
Wireless Network Scans
Complete scan on wireless networks to find the vulnerabilities.
To test all portals and mobile applications for vulnerabilities.
To scan all the databases for potential vulnerabilities.
Models of Vulnerability in Ethical Hacking
- Insider attacks - A Perimeter firewall should be decided and this can take care of the external attacks
- Missed security patches
- When the patch management of firewall has not happened
- Configuration issues
- If there are faults in the configuration of firewall
- DDOS attacks
- Only allow legitimate traffic to avoid these attacks
To crack the password the hacker uses any of the following – Dictionary, Hybrid model and Brute force
This usually happens when the hacker uses a malicious code to inject the web application or the cloud infrastructure
This happens when an unauthorized user tries to access the application bypassing the authorization mechanism
Protection from Hacking
We need to follow some simple steps to prevent hacking
- Updating of Operating systems
- Installation of the proper firewall to prevent intrusion
- Destroying all personal information from all the web sources
- No use of Open Wi-Fi
- Password – Strong password which is not easy to find out
- Smart emailing – Avoid opening of phishing mails
- Keep the sensitive data in the protected environment
- Ignore spam
- Shut down the systems after use
- Secure the network
- Back up the data
In this article we have discussed the various vulnerabilities that hackers can exploit to gain unauthorized access to a system. Best practices and techniques on how to find the vulnerabilities are also discussed. We have discussed the analysis of vulnerabilities and how it helps in preventing the system from being hacked. Finally, we have discussed models of vulnerabilities in ethical hacking and the ways to keep ourselves protected from hacking.