What is Penetration Testing and Its Types | Devstringx Technologies

A penetration test tells whether the existing defensive measures employed on the system are strong enough to prevent any security break. Penetration test reports also suggest the countermeasures that can be taken to reduce the security risk of the system being hacked.

Causes Of Vulnerabilities

Why Penetration Testing?

You must have listened about the WannaCry ransomware attack that started in May 2017. It locked more than 2 lakh computers around the world and demanded random payments in the Bitcoin cryptocurrency. This attack has affected many big organizations around the world.

With such dangerous cyber-attacks happening nowadays, it has become unavoidable to do penetration testing at regular intervals to secure the information systems against security breaches.

So, Penetration Testing is mainly required for:

Any organization needs to identify security flaws present in the internal network and computers. Using this information organization can plan a security defense against any hacking attempt. User privacy and data security are the biggest concerns these days.

Suppose if any hacker manages to get user details of social networking sites like Facebook. The organization can face legal issues due to small security issues left in a software system. Hence, big organizations are looking for PCI (Payment Card Industry) or any other payment compliance certifications before doing any business with third-party clients.

What Should Be Tested?

Penetration Testing Types

#1) Social Engineering Test: In Social Engineering Test, attempts are being made to make a person reveal sensitive information like user password, any business-critical data, etc. These tests are mostly done by phone or internet and it targets certain helpdesks, employees & processes.

Human errors are the main causes of security breaches. Security standards and policies should be followed by all members to avoid social engineering penetration attempts. An example of these standards does not mention any sensitive information in the email or phone communication. Security audits can be conducted to identify and correct security process flaws.

#2) Web Application Test: Using the software methods any one can verify if the application is exposed to security vulnerabilities. It checks the security flaws of web apps and software programs positioned in the target environment.

#3) Physical Penetration Test: Strong physical security methods are generally applied to protect sensitive data. This is commonly used in military and government facilities. All physical network devices and access points are tested for the possibilities of any security flaws. This test is not much related to the scope of software testing.

#4) Network Services Test: It is one of the most commonly performed penetration tests where the openings in the network are identified by which entry is being made in the systems on the network to check what kind of security issues are there.

#5) Client-side Test: It reaches to search and exploit vulnerabilities in client-side software programs.

#6) Remote dial-up war dial: It searches for modems in the environment and tries to log in to the systems connected through these modems by password guessing or brute-forcing.

#7) Wireless Security Test: It searches the open, unauthorized access and less secured hotspots or Wi-Fi networks and connects through them.

The above all categories we have seen are one way of categorizing the types of pen tests. We can also organize the types of penetration testing into below three parts as seen below:

Let’s discuss this testing approaches one by one:

Pen Testing Techniques

The third process is more common to identify all kinds of security vulnerabilities.

Manual Penetration Test

It’s difficult to find all vulnerabilities using automation tools. There are some security vulnerabilities that can be identified by manual scan only. Penetration testers can attack applications based on their logics, skills and knowledge of the system being penetrated.

The methods like social engineering can be done by humans only which is manual testing. Manual testing includes design, business logic as well as code verification.

Penetration Test Process:

Now let’s discuss the actual process followed by test agencies or penetration testers. Finding security breaches present in the system is the first important step in this process. Corrective actions are taken on this vulnerability and the same penetration tests are repeated until the system is negative to all those tests.

We can categorize this process in the following methods:

#1) Data collection: Different methods including Google search are used to get target system data. One of them also uses the web page source code analysis technique to get more info about the system, software and plugin versions.

There are various free tools and services available in the market which can give you information like database or table names, DB versions, software versions, the hardware used and various third-party plugins used in the target system.

#2) Vulnerability Assessment: Based on the data collected in the first step one can find the security flaws in the target system. This helps out penetration testers to launch attacks using identified entry points in the system.

#3) Actual Exploit: This is a crucial step. It requires special skills and penetration testing techniques to launch an attack on the target system. Experienced penetration testers can use their logics and skills to launch an attack on the system.

#4) Result in analysis and report preparation: After finishing the penetration tests, detailed reports are prepared for taking corrective actions. All identified security vulnerabilities and recommended corrective methods are listed in these reports. You can customize vulnerability report format (HTML, XML, MS Word or PDF) as per your organization’s needs.

Penetration Testing Sample Test Cases (Test Scenarios)

Remember penetration testing is not functional testing. In this test your goal is to find security holes in the system. Below are some common test cases and not necessarily applicable to all applications:

These are just the basic test scenarios to get started with Penetration testing. There are hundreds of advanced penetration methods which can be done either manually or with the help of any automation tools.

Conclusion

Finally, as a penetration tester, I need to collect and log all vulnerabilities in the system. Don’t avoid any scenario considering that it won’t be executed by end-users.

Originally published at https://www.devstringx.com on June 19, 2020.

Devstringx Technologies is highly recommended IT company for custom software development, mobile app development and automation testing services