Penetration Testing & types
Salve👋 I’m Ankita Sinha, an Associate Anayst in Information Security field. Currently working for a product based cyber security company. You can connect with me on LinkedIn, and Github.
Now a day many websites are developed for different purposes and functionality. And it’s hard to give any proper statistics on the number of web applications developed all over the world. Hence, with the increase in the web application, risk control and assessment has become a challenge. Hence, even with continuous updating, and maintenance, the website is prone to attacks as these websites i.e., applications are continuously changed due to requirements and added functionalities. Due to this security requirements and reliabilities are overlooked and vulnerabilities are created. These vulnerabilities or weaknesses can easily be exploited by the attackers if they are able to identify them.

Penetration testing is a step that is taken while developing the web application or even after the deployment of the web application. By this, we challenge the application’s defense mechanism to see if any issues or vulnerabilities are found or not. If found then we can fix those issues and secure the web application from attacks.
Web applications still have vulnerabilities that make them easy targets for cyber-attacks despite awareness of all the vulnerabilities. As developers, we should know more about the vulnerabilities and attacks, so that we can handle them in the development phase as well. Through penetration testing, we will be finding out some of these OWASP-mentioned vulnerabilities, and solutions for protecting our Web Application from these types of attacks will be provided in this paper. The OWASP vulnerabilities are also explained with the top tools used for this testing. As such, the information covered in this paper will be helpful to developers and researchers in order to help them become aware of application security and its vulnerabilities so that their websites are secure and free from vulnerabilities.
Exploring and Analysis of Penetration Testing
In computer security, penetration testing helps identify, safely exploit and eliminate vulnerabilities across a network that are present in an organization’s computing environment. It is usually determined by the scope and the organization’s wants and requirements which type of penetration testing should be conducted.
Areas of Penetration Testing
Penetration testing comes in various forms, for instance,
1. Network Penetration Testing
2. Web Application Penetration Testing
3. Mobile Application Penetration Testing
4. Wireless Penetration testing
Network Penetration Testing
One of the most common penetration tests is network service penetration testing or infrastructure testing. This type of audit is intended to pinpoint the most vulnerable areas of an organization’s network infrastructure, such as servers, switches, printers, firewalls, workstations, routers, etc, in order to patch them before an attack occurs. A vulnerability and risk assessment of a system’s physical structure is required since this is necessary for ensuring network security. The role of the tester in the networking environment is to identify flaws in a company’s or organization’s network design, implementation, or operation. Computers, modems, and remote access devices can all be tested by a tester.
Web Application Penetration Testing
This testing requires that the logical structure of the system is examined. Through vulnerability identification and attack simulation, IT security controls are exposed and their efficacy, as well as their risks, measured. As a security system, the firewall and other monitoring systems are used to counter attacks, but sometimes, testing is needed to ensure the system is properly protected, especially when traffic passes through the firewall.
Penetration testing of web-based applications identifies weaknesses or vulnerabilities. A variety of penetration techniques and attacks are used to gain access to the web application itself, as well as its components like the database, source code, and backend network.
Mobile Application Penetration Testing
Testing mobile applications for authentication, authorization, data leakage, and session handling issues across multiple operating systems including Windows, Android, and iOS. Having known the types and versions of operating systems your testing application should run on, the number of API calls your app makes, and your current jailbreaking and root detection requirements, providers can scope their testing accordingly.
Wireless Penetration Testing
Website or custom application assessments to look for potential vulnerabilities to exploit over the internet, such as coding, design, and development. Decide how many apps as well as static and dynamic pages, as well as input fields will be tested before you engage a company to conduct testing.
An effective wireless penetration test evaluates all the devices that are connected to the business Wi-Fi network and identify and examines the connections between them. Any internet of things i.e., IoT devices such as laptops, tablets, smartphones, etc., can be used. As penetration testers need to be in the range of wireless signals in order to perform wireless penetration tests, they are typically conducted onsite.
Penetration testing can be classified into these groups based on its functionality. In addition to the types of penetration testing mentioned, there are others such as firewall, hardware, compliance, cloud, social engineering, and physical penetration testing.
Penetration Test Methodology
There are no formulas or rules for how a penetration test should be conducted. It is simply a set of guidelines for the security industry. Testers can make use of some well-established and well-regarded methodologies and standards that are available. However, since every web application demands a different type of test to be performed, testers can create their own methodologies based on the available standards.
Following are a few of the standards and methodologies used to conduct security testing:
· Open Web Application Security Project (OWASP)
· Open-Source Security Testing Methodology Manual (OSSTMM)
· Penetration Testing Framework (PTF)
· Information Systems Security Assessment Framework (ISSAF)
The Penetration Test Methodology consists of three types of approaches, namely,
1. Black Box Test
2. Grey Box Test
3. White Box Test
Black Box Test
As the tester has no knowledge or experience of the application and its underlying infrastructure, this type of test is called a ‘Black Box’ test. Therefore, this testing is called Zero-Knowledge Testing. A web application’s information is the only factor influencing the decision. Black-box tests are typically performed by automated scanners. Tests like this one are also known as external penetration testing, in which an attack from outside your organization is simulated.
Through this technique, it is possible to assess the functionality of an application without knowing its internal implementation. Similarly, it exploits vulnerabilities in an application in the same way an attacker does. By combining it with other testing tools, more vulnerabilities can be identified and remedied. This type of test case in particular is difficult to design.
White Box Test
In this type of penetration testing, a penetration tester has access to all the information about the web application, including the code, user privileges, the infrastructure diagram, and information about the server’s configuration. Static and dynamic code analyzers are used for this test. This type of test is called a full information test. Also known as Structural Testing or Transparent Box. The main disadvantage is that penetration testers require more skills. New hacking methods could also require systems to be tested more frequently.
Grey Box Test
In this case, the penetration tester is familiar with both the infrastructure and intended application. As well, the tester has access to the application’s user credentials, which can be used to test and find any potential vulnerabilities. Grey box tests can be performed by automated tools if they are configured properly. Performing a grey box test is not a natural task for an automated tool, but sometimes manual intervention and configuration are required.
During grey box testing, both the presentation layer and the code part are tested. As a result, the tester can simulate attacks more effectively than he could in Blackbox testing. While grey box testing greatly minimizes potential risks, they are not without limitations. Hackers still discover new ways to hack and exploit loopholes.