What to Do When You Don't Agree With Your Penetration Test Report
Learn what to do when you don't agree with a penetration test report, and how to recover from a penetration test to improve security.
Penetration testing is a security exercise using ethical hackers rather than automated processes. Providing a deeper security review. See why
TL;DR:
In 2021, a new organization was targeted by ransomware every 11 seconds. In addition, 18% of companies said that cybersecurity risks will have the biggest impact on their growth through 2024, and there are now three times more networked devices on Earth than humans. Knowing this, wouldn’t it be nice to have hackers on your good side?
Penetration testing gives you exactly that. Let’s explore how in more detail.
Penetration testing is a one-time security exercise that tests the resilience of your application or network. It involves a team of white hat or ethical hackers who are hired to break into your application and find security vulnerabilities to exploit.
In this way, they do exactly what the bad actors would do when trying to access your application, except, penetration testers are ethical hackers. Penetration testing, also known as pen testing, is a crucial security measure that simulates cyberattacks to identify vulnerabilities. That means they’re ready to alert and inform you of vulnerabilities immediately. In some cases, pentesting providers may also offer you security remediation advice.
Penetration Testing as a Service (PTaaS) is an extended, more comprehensive form of pentesting that provides year-round coverage. A one-time pentest is great for providing a baseline of your security posture, but PTaaS will test your application multiple times per year, provide security consulting, and fix verification testing throughout the year.
Penetration testing methods encompass a range of approaches, from external to targeted testing, each designed to assess different aspects of an organization's security posture. These methods are typically categorized into three main types: white box, black box, and gray box testing. White box testing provides testers with full access to system information, black box testing simulates an external attacker with no prior knowledge, and gray box testing falls between the two, offering limited system information. Regardless of the specific methodology employed, such as OWASP's guidelines, PTES, or NIST SP 800-115, penetration testing generally follows a consistent set of steps to systematically identify and exploit vulnerabilities. This structured approach ensures a comprehensive evaluation of an organization's security defences, helping to uncover potential weaknesses before malicious actors can exploit them.
Penetration testing encompasses a wide range of assessment types, each targeting specific aspects of an organization's security infrastructure. Web application testing evaluates security controls and identifies vulnerabilities in web-based systems. Network testing focuses on external network security, examining protocols, certificates, and administrative services. Mobile device testing combines automated and manual techniques to uncover vulnerabilities in app binaries and server-side functionality. Physical tests, such as insider threat assessments and wireless network evaluations, examine on-site security measures. Cloud environment testing requires specialized skills to scrutinize shared security responsibilities between organizations and service providers. Additionally, pen testing extends to containers, embedded devices (IoT), and APIs, addressing unique security challenges in each domain.
Pentests are performed by penetration testers (or pentesters, for short). Pentesters are expert security engineers who understand risks, as detailed in the OWASP Top 10. Using a combination of manual and automated testing, they can creatively apply their unique areas of expertise to locate known vulnerabilities and often even exploit new issues.
Depending on their background, penetration testers may have various areas of expertise. For example, they may be proficient at finding one type of vulnerability (such as XSS) or may excel at certain types of penetration tests (such as mobile pentests).
Vulnerability scanning and automated tools are very different from pentesting. Together, all have a place in a healthy security posture.
Vulnerability scanning tools, such as SAST, DAST, IAST and RAST, are quite common for organizations that want to quickly scale their security testing on the cheap. However, these tools aren’t able to dive as deep into code and can often miss critical vulnerabilities. As such, using only vulnerability scanning tools may be giving your organization a bit of security theatre.
Today, penetration testing essentially comes in two forms: baseline penetration testing and penetration testing as a service (PTaaS).
Baseline pentesting is better suited for clients that need a one-time check on their security. The best cases for getting a baseline pentest include:
PTaaS is a more comprehensive approach to security testing, as it integrates security as part of the SDLC. As code is deployed, it is continuously tested to ensure a higher level of application security year-round. In addition, it includes consulting, more re-testing, and better access to security expertise for development teams.
The best cases for getting PTaaS include:
There are seven key stages in an effective pentest:
This stage is all about understanding the application and its unique business logic. Meetings with the client and pentest provider help ensure that all parties are well-informed about the test. The test environment must be ready at this point.
Building out a threat model is essential to understand the common use cases of the application. An effective threat model can also identify security risks in the design of the application, which may be difficult to change at a later stage. However, understanding these risks early helps prepare the rest of the security plan to work around them.
The fun begins. Pentesters start diving deep into the application with a mix of manual and automated approaches.
As critical vulnerabilities are identified, the client is notified immediately. Steps to reproduce the issue are shared with the client so that their development team can begin remediation as soon as possible.
The less severe vulnerabilities found during the early stages of the pentest are exploited and escalated as much as possible without affecting the function of the application (for instance, if a pentester is testing a vulnerability and it risks taking down the entire application, they’ll take it as far as possible without creating any actual harm). Test environments and test accounts are created to prevent any real damage and exploitation of the live application.
Upon completion, pentesters will gather all found issues, regardless of severity, into a report. A good penetration testing provider should also include steps for replicating the issue so that the client’s development team can mitigate the issue.
After the report is delivered, the client may patch several vulnerabilities. A quality pentest provider will be able to retest these known vulnerabilities shortly after to verify that they have been fixed correctly or sufficiently. In some cases, the pentester may require that the client develops a complete fix, and in other cases, a “band-aid” solution may suffice for critical issues that need deeper attention later.
When all is good to go, the pentest provider can offer a certificate to the client as proof of application security. This certification is essential when earning compliance such as SOC 2 or ISO 27001. It’s also helpful for closing enterprise deals or for startups that want to generate higher investor appeal.
We can now go over the two testing methods available. These include the following:
Manual penetration testing is when it is done by human hackers. This method needs to be handled by qualified security engineers, or pentesters, as described in the above sections.
Due to the time and effort involved in manual testing, this takes the longest and can be the most expensive of the two methods. However, with a highly qualified security engineer, this can also be the most thorough and deepest penetration test. This is especially true if you are eager to find new types of vulnerabilities or are willing to share some of your source code with your pentester, you are better off to go with this option. Penetration testing, also known as pentesting, is a crucial step in ensuring the security of your systems.
In contrast to manual testing, automated testing is the use of software tools to conduct the pentest. It is easier to scale, more affordable and can be applied to multiple projects for less cost. So, from an economic standpoint, this is the better option.
However, automated testing may miss more critical vulnerabilities and cannot dive as deeply into your application logic as manual testing can. Thus, it is best to combine automated testing with manual testing or some other manual security exercises, such as threat modelling or secure code review.
While some organizations may have internal security teams, it is important to note that external contractors bring a fresh perspective and specialized expertise to the table. Their experience in conducting penetration tests across various industries and systems can provide valuable insights and help organizations strengthen their security defences. Penetration testing can be time-consuming and costly, but the long-term benefits far outweigh the initial investment. By identifying and addressing security gaps, organizations can prevent potential breaches that could result in significant financial and reputational damage.
Security
Can be easily manipulated without detection if not properly secured.
Digitally signed and can be validated on the server. Manipulation can be detected.
Size
Limited to 4KB.
Can contain much more data, up to 8KB.
Dependency
Often used for session data on the server-side. The server needs to store the session map.
Contains all the necessary information in the token. Doesn’t need to store data on the server.
Storage Location
Browser cookie jar.
Local storage or client-side cookie.
No testing strategy is one-size-fits-all. Pentesting in a production environment can provide advantages, though it does come with many risks.
Providing the quality of the biggest names in security without the price tag and complications.
Manual penetration testing
Full time Canadian hackers
Remediation support