What is an external pentest?
A penetration test (commonly known as a pentest) is a security assessment which simulates the malicious activities of real-world attackers to identify security holes in your business’s systems or applications. The aim of conducting a pen test is to understand what vulnerabilities are in your business systems, how they could be exploited, and what the business impacts would be if an attacker was successful.
One of the first types of penetration test organisations usually perform is the external pen test. External penetration testing (also known as external network penetration testing) is a security assessment of an organisation’s perimeter systems. Your perimeter comprises all those systems which are directly reachable from the internet. By nature, they are the most exposed systems as they are out in the open and are therefore the most easily and regularly attacked.
The aim of an external pentest is to find ways to compromise your accessible (external) systems and services, gain access to sensitive information, and discover methods an attacker could use to attack your clients or users. In a quality external pentest, the security professional(s) conducting the assessment will replicate the activities of real hackers, including executing exploits to attempt to gain control of systems. They will also test the extent of any weaknesses discovered to see how far a malicious attacker could burrow into your network and what the business impact of a successful attack would be.
External penetration testing usually tests from the perspective of an attacker with no prior access to your systems or networks. This is different to another common type, the internal penetration test. Internal penetration testing instead tests the scenario where an attacker already has a foothold on a compromised machine or is physically in the building. It usually makes sense though to first cover off the fundamentals and consider internal testing only after both regular vulnerability scanning and external penetration testing are being performed.
How to perform external penetration testing
So how does an organisation go about ordering an external penetration test?
Scheduling an external pentest is usually as simple as engaging with your chosen cyber security consultancy and pointing them at your perimeter systems (a list of domains and IP addresses/ranges). An external pen test is normally run on a “Black Box” basis, which means no privileged information (such as application credentials, infrastructure diagrams, or source code) is provided to the testers. This is similar to where a real hacker targeting your organisation would get started from, after they have discovered a list of your IPs and domains.
There are a few important pointers and due diligence steps that are worth bearing in mind when organising your external penetration test:
- Ask about the penetration tester performing your test. Are they a qualified penetration tester? You can find out more about penetration testing certifications and choosing a consultancy in our guide on how to choose a penetration testing company.
- Quotes are normally based on a day-rate, and your job is scoped based on the number of days it will take to complete the assessment. Each of these can vary between pentesting companies, so it might be worth shopping around to compare the quote and what’s being offered.
- Check what’s included. Respectable consultancies should offer you a proposal or statement of work that outlines the work to be undertaken. Look out for what’s in and what’s out of scope.
- Intruder recommends choosing a provider that includes checking your exposed services for re-use of breached credentials, password spraying attacks, and web application testing on publicly accessible applications.
- Social engineering can be a nice value-add, though this type of testing is almost always successful when attempted by an attacker with enough determination, so it shouldn’t be a hard requirement if your budget is limited.
External penetration testing or vulnerability scanning?
Those of you that are already familiar with external vulnerability scanning will notice that an external pentest shares some similarities. So, what’s the difference?
Typically, an external penetration test includes a full external vulnerability scan, but that’s just where it gets started. All output from scanning tools will be investigated manually by a pentester to remove false positives, run exploits to verify the extent/impact of the weakness, and “chain together” multiple weaknesses to produce more impactful exploits. Where a vulnerability scanner would simply report that a service has a critical weakness, a penetration test would look to exploit that weakness and gain control of the server. If successful, the pentester will use their newly acquired access to pivot further, and compromise further systems and services.
While vulnerability scanners often identify potential issues, a penetration tester would explore those fully and report on whether the weakness needs attention or not. For example, vulnerability scanners routinely report on ‘Directory Listing’, which is where web servers offer a list of all the files and folders on the server. This is not necessarily a vulnerability on its own, but it does need investigation. If a sensitive file (e.g. a backup configuration file containing credentials) is exposed and listed by directory listing, a simple informational issue (as reported by a vulnerability scanner) could be quickly turned into a high impact risk to your organisation. The penetration tester’s job includes carefully reviewing output from a range of tools, to make sure that no stone is left unturned.
Some further activities which a real attacker would perform which are not performed by vulnerability scanners may also be included, but these vary from consultancy to consultancy. Check the proposal or ask questions before scheduling the pentest if you’d like these to be in scope. For example:
- Sustained password guessing attacks (spraying, bruteforce) to try to compromise user accounts on exposed VPNs and other services
- Scraping the dark web and breach databases for known breached credentials of your employees, and stuffing them into administrative panels and services
- Web application testing where a self-registration mechanism is available
- Social engineering attacks such as phishing your employees
Finally, it’s important to remember that new critical vulnerabilities are discovered daily, and attackers usually exploit the most serious weaknesses within a week of their discovery. Whilst an external penetration test is important assessment to take deep look into the security of your exposed systems, it best used as an additional service to complement regular vulnerability scanning which should already be in place. You can find a short discussion on how penetration testing and vulnerability scanning can be used to complement each other here.
Intruder offers both external infrastructure penetration testing and vulnerability scanning services, Intruder’s continuous vulnerability scanning service helps you keep on top of the latest vulnerabilities and alerts you to emerging threats which affect your most-exposed systems. To enquire about Intruder’s vulnerability scanning or penetration testing services, please feel free to get in touch, or get started with a free trial today.
- Raw CVE Coverage
- Risk Rating Coverage
- Remote Check Types
- Check Publication Lead Time
- Local/Authenticated vs Remote Check Prioritisation
- Software Vendor & Package Coverage
- Headline Vulnerabilities of 2021 Coverage
- Analysis Decisions
Red teamers, security researchers, detection engineers, threat actors have to actively research type of vulnerability, location in vulnerable software and build an associated exploit.
Tenable release checks for 47.43% of the CVEs they cover in this window, and Greenbone release 32.96%.
Red teamers, security researchers, detection engineers and threat actors now have access to some of the information they were previously having to hunt themselves, speeding up potential exploit creation.
Tenable release checks for 17.12% of the CVEs they cover in this window, and Greenbone release 17.69%.
The likelihood that exploitation in the wild is going to be happening is steadily increasing.
Tenable release checks for 10.9% of the CVEs they cover in this window, and Greenbone release 20.69%.
We’re starting to lose some of the benefit of rapid, automated vulnerability detection.
Tenable release checks for 9.58% of the CVEs they cover in this window, and Greenbone release 12.43%.
Any detection released a month after the details are publicly available is decreasing in value for me.
Tenable release checks for 14.97% of the CVEs they cover over a month after the CVE details have been published, and Greenbone release 16.23%.
With this information in mind, I wanted to check what is the delay for both Tenable and Greenbone to release a detection for their scanners. The following section will focus on vulnerabilities which:
- Have CVSSv2 rating of 10
- Are exploitable over the network
- Require no user interaction
These are the ones where an attacker can point their exploit code at your vulnerable system and gain unauthorised access.
We’ve seen previously that Tenable have remote checks for 643 critical vulnerabilities, and OpenVAS have remote checks for 450 critical vulnerabilities. Tenable release remote checks for critical vulnerabilities within 1 month of the details being made public 58.4% of the time, but Greenbone release their checks within 1 month 76.8% of the time. So, even though OpenVAS has fewer checks for those critical vulnerabilities, you are more likely to get them within 1 month of the details being made public. Let’s break that down further.
In Figure 10 we can see the absolute number of remote checks released on a given day after a CVE for a critical vulnerability has been published. What you can immediately see is that both Tenable and OpenVAS release the majority of their checks on or before the CVE details are made public; Tenable have released checks for 247 CVEs, and OpenVAS have released checks for 144 CVEs. Then since 2010 Tenable have remote released checks for 147 critical CVEs and OpenVAS 79 critical CVEs on the same day as the vulnerability details were published. The number of vulnerabilities then drops off across the first week and drops further after 1 week, as we would hope for in an efficient time-to-release scenario.
While raw numbers are good, Tenable have a larger number of checks available so it could be unfair to go on raw numbers alone. It’s potentially more important to understand the likelihood that OpenVAS or Tenable will release a check of a vulnerability on any given day after a CVE for a critical vulnerability is released. In Figure 11 we can see that Tenable release 61% their checks on or before the date that a CVE is published, and OpenVAS release a shade under 50% of their checks on or before the day that a CVE is published.
So, since 2010 Tenable has more frequently released their checks before or on the same day as the CVE details have been published for critical vulnerabilities. While Tenable is leading at this point, Greenbone’s community feed still gets a considerable percentage of their checks out on or before day 0.
I thought I’d go another step further and try and see if I could identify any trend in each organisations release delay, are they getting better year-on-year or are their releases getting later? In Figure 12 I’ve taken the mean delay for critical vulnerabilities per year and plotted them. The mean as a metric is particularly influenced by outliers in a data set, so I expected some wackiness and limited the mean to only checks released 180 days prior to a CVE being published and 31 days after a CVE being published. These seem to me like reasonable limits, as anything greater than 6 months prior to CVE details being released is potentially a quirk of the check details and anything after a 1-month delay is less important for us.
What can we take away from Figure 12?
- We can see that between 2011 and 2014 Greenbone’s release delay was better than that of Tenable, by between 5 and 10 days.
- In 2015 things reverse and for 3 years Tenable is considerably ahead of Greenbone by a matter of weeks.
- But, then in 2019 things get much closer and Greenbone seem to be releasing on average about a day earlier than Tenable.
- For both the trendline over an 11-year period is very close, with Tenable marginally beating Greenbone.
- We have yet to have any data for 2021 for OpenVAS checks for critical show-stopper CVEs.
With the larger number of checks, and still being able to release a greater percentage of their remote checks for critical vulnerabilities Tenable could win this category. However, the delay time from 2019 and 2020 going to OpenVAS, and the trend lines being so close, I am going to declare this one a tie. It’s a tie.
The takeaway from this is that both vendors are getting their checks out the majority of the time either before the CVE details are published or on the day the details are published. This is overwhelmingly positive for both scanning solutions. Over time both also appear to be releasing remote checks for critical vulnerabilities more quickly.