Introduction to Vulnerability Analysis in Ethical Hacking

Read it in 10 Mins

Last updated on
11th Mar, 2021
Published
18th Nov, 2020
Views
1,590
Introduction to Vulnerability Analysis in Ethical Hacking

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:

  1. Faulty defenses – Poor defense measures pave the way for easy intrusion by hackers.  This may be due to weak authentication, authorization, and encryption.
  2. Resource management not adequate –The chances of buffer overflow and the potential to have many vulnerabilities are greater when there is inadequate resource management.
  3. Insecure connections – If the connection between the system, application and networks is insecure, there is a higher probability of many threats like SQL injection.
  4. 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:

  1. 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.
  2. Buffer Overflow
    • A process where there is more data added to the buffer and the excess data becomes corrupted and susceptible to vulnerabilities.
  3. Business logic vulnerability
    • The software code may be missing a security control like authentications, encryption, or authorization.
  4. CRLF Injection
    • Carriage Return Line Feed – Can be done by modifying the HTTP parameter of the URL.
  5. CSV Injection
    • When untrusted CSV files are embedded to the websites causing vulnerabilities.
  6. Catch Null Pointer Exception
    • When the program contains the null pointer, it is highly risky.
  7. Covert storage channel
    • This can help the attackers easily and often happens due to faulty implementation.
  8. Deserialization of untrusted data
    • Injection of malicious data into the applications to stop execution of programs.
  9. Directory Restriction Error
    • Happens due to the improper use of CHROOT.
  10. Doubly freeing memory
    • This error occurs when free() is called more than once in the memory address.
  11. Empty String Password
    • Empty string password is highly insecure.
  12. Expression Language Injection
    • Injection happens when attacker-controlled data enters an EL interpreter.
  13. 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.
  14. Heartbleed Bug
    • Catastrophic bug in OpenSSL
  15. Improper Data Validation
    • Multiple validation forms with the same name indicate that validation logic is not up-to-date.
  16. 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.
  17. 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.
  18. 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
  19. Insecure Compiler Optimization
    • Improperly scrubbing sensitive data from memory can compromise security.
  20. 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.
  21. Insecure Temporary File
    • Creating and using insecure temporary files can leave application and system data vulnerable to attacks.
  22. 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.
  23. Insecure Transport
    • The application configuration should ensure that SSL is used for all access-controlled pages.
  24. 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.
  25. Insufficient Session-ID Length
    • Session identifiers should be at least 128 bits long to prevent brute-force session guessing attacks
  26. Least Privilege Violation
    • The elevated privilege level required to perform operations such as chroot () should be dropped immediately after the operation is performed.
  27. 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.
  28. Missing Error Handling
  29. Must define a default error page for 404 errors, 500 errors
  30. Missing XML Validation
    • Failure to enable validation when parsing XML gives an attacker the opportunity to supply malicious input.
  31. Multiple admin levels
    • Multiple level admins may alter the login credentials

Other list of Vulnerabilities

  1. Null Dereference
  2. OWASP .NET Vulnerability Research
  3. Overly Permissive Regular Expression
  4. PHP File Inclusion
  5. PHP Object Injection 
  6. PRNG Seed Error
  7. Password Management Hardcoded Password
  8. Password Plaintext Storage
  9. Poor Logging Practice
  10. Portability Flaw
  11. Privacy Violation
  12. Process Control
  13. Return Inside Finally Block
  14. Session Variable Overloading
  15. String Termination Error
  16. Unchecked Error Condition
  17. Unchecked Return Value Missing Check against Null
  18. Undefined Behavior
  19. Unreleased Resource
  20. Unrestricted File Upload
  21. Unsafe JNI
  22. Unsafe Mobile Code
  23. Unsafe function call from a signal handler
  24. Unsafe use of Reflection
  25. Use of Obsolete Methods
  26. Use of hard-coded password
  27. Using a broken or risky cryptographic algorithm
  28. Using freed memory
  29. Vulnerability template
  30. 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
    • For security breaches
  • Assets that are prone to cyber attacks

Steps for the vulnerability Analysis

Steps for the vulnerability Analysis

How to check if the organization requires 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

Application Scans

To test all portals and mobile applications for vulnerabilities

Database Scans

To scan all the databases for potential vulnerabilities

Models of Vulnerability in Ethical Hacking

Firewall model

  • 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

Password model

To crack the password the hacker uses any of the following – Dictionary, Hybrid model and Brute force

Logical Bombing

This usually happens when the hacker uses a malicious code to inject the web application or the cloud infrastructure

Web Hijacking

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

Conclusion

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.

Profile

Anand V

Blog Author

Anand V is an independent consultant with more than 23 plus years of experience. He is currently working in areas of Artificial  Intelligence ,Cybersecurity, Blockchain and IoT.