You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A penetration test, or pen test, is a simulated attack on systems and applications to identify exploitable vulnerabilities. It involves attempting to breach web and mobile applications, APIs, network devices, workstations, servers and more, uncovering issues like SQL injection, code injection, XSS and privilege escalation.
3
+
A penetration test, or pen test, is a simulated attack on systems and applications to identify exploitable vulnerabilities. It involves testing web and mobile applications, APIs, network devices, workstations, servers and more, uncovering issues like SQL injection, code injection, XSS and privilege escalation.
4
4
5
5
While penetration testers use automated tools for scanning and information gathering, most testing is conducted manually. Manual testing is crucial for detecting vulnerabilities related to business logic and other issues that automated scans might miss.
6
6
@@ -12,7 +12,7 @@ A penetration test can be approached in three ways: black-box, gray-box, or whit
12
12
13
13
-**Black-box:** Testers have no prior information about the application, except possibly an IP address or domain.
14
14
-**Gray-box:** Testers are given additional information, such as credentials for test accounts. This approach balances cost and effectiveness, providing deeper insights without the high expense of white-box testing. It should be the preferred approach most of the time.
15
-
-**White-box:** Testers have full access to all available information, including the application's source code.
15
+
-**White-box:** Testers have full access to all information about the asset being tested, including the application's source code.
16
16
17
17
Regardless of the approach, penetration testers will generally follow publicly-available and/or internal checklists and testing guides. The most popular ones are:
18
18
@@ -22,14 +22,24 @@ Regardless of the approach, penetration testers will generally follow publicly-a
22
22
-[OWASP Top 10 API](https://owasp.org/API-Security/editions/2023/en/0x11-t10/) - Most common security risks and vulnerabilities for APIs.
23
23
-[OWASP Mobile Top 10](https://owasp.org/www-project-mobile-top-10/) - A list containing the most common and impactful mobile application security vulnerabilities.
24
24
25
+
### Tools
26
+
27
+
There are several tools that can help while performing penetration test against applications. The most common are:
28
+
-[BurpSuite](https://portswigger.net/burp) - A comprehensive software tool used for web application security testing. Key features include a proxy for intercepting and modifying web traffic, a scanner for automated vulnerability detection and tools for performing manual testing, such as repeater, intruder and so forth.
29
+
-[OWASP Zed Attack Proxy (ZAP)](https://www.zaproxy.org) - An open-source web proxy similar that has features similar to BurpSuite's.
30
+
-[Postman](https://www.postman.com/) - API testing tool that allows sending various HTTP requests, manipulating headers and automating tests. It helps identify vulnerabilities like authentication issues and data exposure, integrating with other security tools for comprehensive analysis.
31
+
-[MobSF](https://github.com/MobSF/Mobile-Security-Framework-MobSF) - Automated, open-source tool for security testing and analyzing mobile applications, supporting both Android and iOS platforms.
32
+
25
33
### Process Overview
26
34
27
35
#### Assembling the team
36
+
28
37
The composition of the penetration testing team is very important. It can either consist of:
29
38
-**Internal:** cybersecurity professionals who understand the organization's systems and policies intimately.
30
-
-**External:** hired for their specialized skills and objectivity, which can bring fresh perspectives and expertise in identifying vulnerabilities that internal teams might overlook.
39
+
-**External:**third-party hired for their specialized skills and objectivity, which can bring fresh perspectives and expertise in identifying vulnerabilities that internal teams might overlook.
31
40
32
41
#### Defining a scope
42
+
33
43
After assembling the penetration testing team, the organization must meticulously define the scope of the test. This step is critical to avoid deviations from the planned objectives or unintended testing of additional assets and endpoints. Scope definition entails:
34
44
- Decide between black-box, gray-box, or white-box methodologies.
35
45
- Establish clear timelines for the testing phases.
@@ -38,42 +48,44 @@ After assembling the penetration testing team, the organization must meticulousl
38
48
- Define the requirements - e.g. testing accounts, credentials, documentation, etc.
39
49
40
50
#### Requirements
51
+
41
52
Once the scope and dates are defined, the penetration testing team will communicate their requirements to the organization. These may include testing credentials, application documentation, source code access and other necessary resources. It is crucial for the organization to promptly provide all requested information and access before testing begins to ensure a smooth and effective penetration testing process.
42
53
43
54
#### Execution
55
+
44
56
After receiving the necessary requirements, such as credentials and documentation, the penetration testing team will begin assessing the system or application. It is crucial for the penetration testing team to:
45
57
46
58
- Notify the organization immediately if their tests cause any disruption to a system, especially if it is in production, to mitigate potential impacts on business operations.
47
59
- Report any critical vulnerabilities discovered promptly to the organization, as these could have significant financial and/or reputational consequences, allowing for swift remediation and risk management.
48
-
- If the penetration testing team finds any indicators of compromise (IoC) that an incident may have happened, they must notify the organizatio immediately.
49
-
60
+
- If the penetration testing team finds any indicators of compromise (IoC) that an incident may have happened, they must notify the organization immediately.
50
61
51
62
#### Reporting
63
+
52
64
Upon completing all tests, the penetration testing team will begin compiling a comprehensive report. This report should be structured as follows:
53
65
54
66
- Cover
55
67
- Table of Contents
68
+
- Executive Summary
56
69
- General Information
57
70
- Penetration Testing Team
58
71
- Methodology
59
-
- Scope
60
-
- Executive Summary
72
+
- Scope
61
73
- Vulnerabilities
62
74
- Title
63
75
- Severity
64
76
- Description
77
+
- Proof of Concept (with screenshots)
65
78
- Impact
66
79
- Mitigation
67
80
- References
68
81
- Conclusion
69
82
70
-
### Tools
71
-
There are several tools that can help while performing penetration test against applications. The most common are:
72
-
-[BurpSuite](https://portswigger.net/burp) - A comprehensive software tool used for web application security testing. Key features include a proxy for intercepting and modifying web traffic, a scanner for automated vulnerability detection and tools for performing manual testing, such as repeater, intruder and so forth.
73
-
-[OWASP ZAP](https://www.zaproxy.org) - An open-source web proxy similar that has features similar to BurpSuite's.
74
-
-[Postman](https://www.postman.com/) - API testing tool that allows sending various HTTP requests, manipulating headers and automating tests. It helps identify vulnerabilities like authentication issues and data exposure, integrating with other security tools for comprehensive analysis.
75
-
-[MobSF](https://github.com/MobSF/Mobile-Security-Framework-MobSF) - Automated, open-source tool for security testing and analyzing mobile applications, supporting both Android and iOS platforms.
83
+
#### Retesting
84
+
85
+
Lastly, after delivering the report and initiating the vulnerability management process, the penetration testing team will retest all vulnerabilities that developers consider fixed. This retesting ensures that each vulnerability has been successfully addressed and that no bypasses to the newly implemented security controls exist.
0 commit comments