What is Penetration Testing? Definition, Process and Methods
Penetration testing definition
It can also examine physical security measures or identify security weaknesses in people (social testing).
Penetration testing is essentially a controlled form of hacking. The ‘attackers’ act on your behalf to find and test weaknesses that criminals could exploit. These might include:
- Inadequate or improper configuration;
- Hardware or software flaws;
- Operational weaknesses in processes or technical countermeasures; and/or
- Employees’ susceptibility to phishing and other social engineering attacks.
Experienced penetration testers mimic the techniques used by criminals to probe these vulnerabilities – individually or in combinations – without causing damage. This enables you to address the security flaws that leave your organisation vulnerable.
Why is penetration testing important?
To protect yourself, you should regularly conduct penetration tests to:
- Identify security flaws so that you can resolve them or implement appropriate controls;
- Ensure your existing security controls are effective;
- Identify new bugs in existing software;
- Test new software and systems for bugs;
- Support your organisation’s compliance with the GDPR (General Data Protection Regulation) and DPA (Data Protection Act) 2018, and other relevant privacy and security laws and regulations;
- Help comply with standards such as the PCI DSS (Payment Card Industry Data Security Standard); and
- Assure customers and other stakeholders that their data is being protected.
What should good penetration testing include?
Once all possible entry points have been identified, the penetration tester should attempt to exploit them to gain access to the network. Once accessed, the tester should check for sensitive data, such as customer information, financial records and company secrets. Finally, the tester should attempt to escalate privileges and gain full control over the network.
Types of penetration testing
Web application penetration testing is a process of testing a web application to find security vulnerabilities that could be exploited by attackers.
This includes:
- Testing user authentication to verify that accounts cannot compromise data;
- Assessing the web applications for flaws and vulnerabilities, such as XSS (cross-site scripting) or SQL injection;
- Confirming the secure configuration of web browsers and identifying features that can lead to vulnerabilities; and
- Safeguarding database server and web server security.
Internal network penetration tests focus on what an attacker with inside access could achieve. An internal test will generally:
- Test from the perspective of both an authenticated and non-authenticated user to identify potential exploits;
- Assess vulnerabilities affecting systems that are accessible by authorised login IDs and that reside within the network; and
- Check for misconfigurations that could allow employees to access information and inadvertently leak it online.
External penetration tests identify and attempt to exploit security vulnerabilities that might allow attackers to gain access from outside the network. An external test will generally:
- Identify vulnerabilities in the defined external infrastructure, such as file servers and web servers;
- Check authentication processes to ensure there are appropriate mechanisms to confirm users’ identities;
- Verify that data is being securely transferred; and
- Check for misconfigurations that could allow information to be leaked.
As technical security measures improve, criminals increasingly use social engineering attacks such as phishing, pharming and BEC (business email compromise) to access target systems.
So, just as you should test your organisation’s technological vulnerabilities, you should also test your staff’s susceptibility to phishing and other social engineering attacks.
If you use wireless technology such as Wi-Fi, you should also consider wireless network penetration tests.
These include:
- Identifying Wi-Fi networks, including wireless fingerprinting, information leakage and signal leakage;
- Determining encryption weaknesses, such as encryption cracking, wireless sniffing and session hijacking;
- Identifying opportunities to penetrate a network by using wireless or evading WLAN access control measures; and
- Identifying legitimate users’ identities and credentials to access otherwise private networks and services.
Red teaming is a type of penetration testing that focuses on mimicking the actions of a real-world attacker. This can involve using any methods available to gain access to networks, systems and information. Red teaming may also involve physical access in some cases.
Purple teaming combines offensive (red team) and defensive (blue team) security expertise in a single, continuous engagement, with attackers and defenders sharing insights in real time.
This not only reveals vulnerabilities but also builds the capabilities of your security operations team, strengthens detection and response skills, and ensures that lessons are embedded and improvements are measurable.
IT Governance’s penetration testing solutions
Our proprietary security testing methodology is closely aligned with the SANS, OSSTMM (Open Source Security Testing Methodology Manual) and OWASP (Open Web Application Security Project) methodologies.
Are suitable for organisations that want to identify common exploitable weaknesses targeted by opportunistic attackers using freely available, automated attack tools. They are an off-the-shelf option with fixed constraints and are priced by scale according to factors such as the number of IP addresses in scope.
Are aimed at those with more complex objectives or who require a more detailed exploration of complex or sensitive environments. They are designed according to clients’ individual needs following scoping.
Read more about our penetration testing services here. To discuss your penetration testing needs, follow the links below or contact us today.