Skip to content

Commit 57d73cd

Browse files
authored
Update 2-4-3-Pentest.md
1 parent c676278 commit 57d73cd

1 file changed

Lines changed: 25 additions & 13 deletions

File tree

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
### Penetration Test
22

3-
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.
44

55
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.
66

@@ -12,7 +12,7 @@ A penetration test can be approached in three ways: black-box, gray-box, or whit
1212

1313
- **Black-box:** Testers have no prior information about the application, except possibly an IP address or domain.
1414
- **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.
1616

1717
Regardless of the approach, penetration testers will generally follow publicly-available and/or internal checklists and testing guides. The most popular ones are:
1818

@@ -22,14 +22,24 @@ Regardless of the approach, penetration testers will generally follow publicly-a
2222
- [OWASP Top 10 API](https://owasp.org/API-Security/editions/2023/en/0x11-t10/) - Most common security risks and vulnerabilities for APIs.
2323
- [OWASP Mobile Top 10](https://owasp.org/www-project-mobile-top-10/) - A list containing the most common and impactful mobile application security vulnerabilities.
2424

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+
2533
### Process Overview
2634

2735
#### Assembling the team
36+
2837
The composition of the penetration testing team is very important. It can either consist of:
2938
- **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.
3140

3241
#### Defining a scope
42+
3343
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:
3444
- Decide between black-box, gray-box, or white-box methodologies.
3545
- Establish clear timelines for the testing phases.
@@ -38,42 +48,44 @@ After assembling the penetration testing team, the organization must meticulousl
3848
- Define the requirements - e.g. testing accounts, credentials, documentation, etc.
3949

4050
#### Requirements
51+
4152
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.
4253

4354
#### Execution
55+
4456
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:
4557

4658
- 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.
4759
- 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.
5061

5162
#### Reporting
63+
5264
Upon completing all tests, the penetration testing team will begin compiling a comprehensive report. This report should be structured as follows:
5365

5466
- Cover
5567
- Table of Contents
68+
- Executive Summary
5669
- General Information
5770
- Penetration Testing Team
5871
- Methodology
59-
- Scope
60-
- Executive Summary
72+
- Scope
6173
- Vulnerabilities
6274
- Title
6375
- Severity
6476
- Description
77+
- Proof of Concept (with screenshots)
6578
- Impact
6679
- Mitigation
6780
- References
6881
- Conclusion
6982

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.
7686

7787
### References
88+
89+
- [Awesome Penetration Testing](https://github.com/enaqx/awesome-pentest)
7890
- [OWASP Penetration Testing Methodologies](https://owasp.org/www-project-web-security-testing-guide/latest/3-The_OWASP_Testing_Framework/1-Penetration_Testing_Methodologies)
7991
- [The Penetration Testing Execution Standard (PTES)](http://www.pentest-standard.org/index.php/Main_Page)

0 commit comments

Comments
 (0)