What is vPenTest's methodology for automated penetration testing?

Overview

When performing a network penetration test, it is essential to understand the methodology that's being executed behind the scenes. This article will provide information about some of the activities we perform as part of our network penetration test engagements. Please note that these activities may vary depending on certain conditions within the environment, so there is not a 100% predefined/guaranteed list of commands or tasks that are run.

Our automated network penetration testing methodology follows the exact same processes as consultants would if they were to perform a penetration test manually. In fact, we've completed many penetration tests side-by-side with real-world consultants and were able to accomplish the same results, if not more, in some scenarios.

IMPORTANT  Disclaimer: Since our penetration tests focus on demonstrating maximum impact, our activities can be deemed intrusive or malicious to most security devices designed to protect the environment. In addition, post-exploitation techniques can sometimes result in interruption of services. However, we have set up many conditions to prevent this from happening (just like a security consultant doing a manual penetration test would). The assessments conducted by vPenTest are not any more or less risky than traditional penetration test assessments conducted by humans.

Open Source Intelligence (OSINT) gathering

OSINT gathering is a process whereby one tries to find as much information as possible about an organization. This is typically conducted passively and doesn't set off any alarms as it's not scanning the organization's infrastructure. Information such as the domains, sub-domains, IP address ranges, list of employees, etc., are gathered.

Using such information could be extremely valuable for a penetration test because it's able to take into consideration different things when conducting authentication-based attacks based on what systems are in-scope for testing. For example, suppose it's able to gather a list of employees from a publicly accessible resource. In that case, these employees can be converted into usernames and email formats, providing the additional ability to query external services for compromised passwords, perform password attacks, etc.

Host discovery

Host discovery is the process of identifying systems that are active within the network environment. Many consultants have different techniques to perform this task, but most of them are pretty standard amongst other consultants. For example, some consultants may perform one of the following methods to find active systems:

  • Perform a ping sweep across the network initially to find systems that respond to ICMP requests.
  • Disable ping sweep and perform a port scan across common ports to see which systems have opened ports.
  • Disable ping sweep and perform a port scan of all 65,535 ports on every system to see which systems have common and/or uncommon ports.
  • Perform an ARP sweep across the local subnet to identify active systems through layer 2 ARP requests (e.g., who has 192.168.1.1?)

Before implementing some of the advanced techniques, vPenTest would automatically decide which of these methods to execute depending on certain conditions of the scheduled assessment. However, with the recent implementation of the advanced tab of the Scheduled Assessment Wizard, these options are now available for our partners and customers to adjust.

At the end of the Host Discovery process, vPenTest will compile a list of active systems within the network, which will then be used and funneled into the next assessment phase.

Enumeration

The enumeration phase is where things get very interesting. Based on the list of active systems within the network, enumeration tasks are performed to essentially enumerate the services running on those ports. For example, suppose a system is running on port 21/tcp (FTP). In that case, vPenTest will attempt to check for anonymous login, any patch-related deficiencies and perform a password attack against the FTP server using a list of common default usernames/passwords. Depending on the manufacturer of the FTP server (detected via service version scan), we're able to automatically adjust this list of usernames and passwords.

The ultimate goal of the enumeration phase is for the penetration test to identify weaknesses such as configuration, patching, and/or authentication deficiencies. This enumeration process is extremely thorough and tries to enumerate as much information as possible from each and every service that's listening.

Exploitation

During exploitation, vPenTest carefully attempts to exploit systems and/or services with the intention of gaining access to systems. There are two main goals for exploiting systems:

To demonstrate that a vulnerability doesn't just exist, but can be used to gain access to a system. Refer to What is the difference between a penetration test and a vulnerability assessment?

To gain access to the compromised system to perform additional enumeration, which may lead to discovering sensitive information, or information that's valuable and can contribute to another attack (for example, shared credentials).

As mentioned previously in this article, exploits run by vPenTest are similar to those run in the real world by traditional consultants. While the risk is never guaranteed to be 100% safe, we exercise the same caution as a human pen tester would manually, except we do it more intelligently by automating logic.

Post-exploitation and lateral movement

Essentially, the purpose of post-exploitation and lateral movement is to find as much information as possible. Unlike vulnerability assessments, the objective of a penetration test is to show how exploiting a vulnerability could result in a significant impact within the environment. By demonstrating this impact, it's possible to get organizations to reconsider the priority of remediating vulnerabilities that vulnerability scanners may have reported as non-urgent.

vPenTest is able to take into consideration all of the information that it's identified as part of the test to escalate privileges and find many pieces of valuable information. This includes enumerating shares, configurations of systems and services, comparing the differences between data found on multiple systems, etc.

FAQs

QUESTION  Does vPenTest map back to the MITRE ATT&CK Framework?

ANSWER  Partially. It can reference the MITRE ATT&CK Framework, but it's not based on the framework. Refer to Does vPenTest leverage the MITRE ATT&CK framework? for more information.

QUESTION  Can I perform a penetration test without exploiting anything?

ANSWER  Typically, we would recommend performing a vulnerability assessment instead since this is the purpose of vulnerability assessments. By avoiding exploitation, the assessment is essentially just a vulnerability assessment.

QUESTION  How is vPenTest able to automate the same things as a human?

ANSWER  By essentially shadowing humans and performing penetration tests alongside humans for almost a decade, many of the same techniques have been converted into code. The only difference is vPenTest is able to perform those decisions much faster.

QUESTION  Can I use this to perform my web application penetration test?

ANSWER  No. Web applications are much more dynamic than network protocols, we highly recommend not using vPenTest to replace a human to conduct a web application penetration test. vPenTest does indeed have a lot of exploitation capabilities for web applications, but vPenTest should not be used for web application-focused assessments.

QUESTION  How long does a penetration test typically take?

ANSWER  vPenTest can perform a penetration test in just a fraction of the time of a human penetration tester. Many of our assessments finish up in just a few hours (depending on the size of the network), and this includes every deliverable PDF as well. In cases where the allowed scanning time is very restrictive, tests can easily extend for several days if it doesn't have enough time to run every day.