DEV Community

Cover image for Penetration Testing: How to do it and the methodology
Ariaa Reeds
Ariaa Reeds

Posted on

Penetration Testing: How to do it and the methodology

Penetration testing is an essential process in the security industry. It provides a good insight into how secure your company's IT infrastructure is and helps to find vulnerabilities that can be fixed before it's too late. However, many companies don't know much about this practice or what methodology they should use when conducting penetration tests on their own networks. In this blog post, we will discuss the different phases of penetration testing, as well as provide tips for getting started with your own company-wide assessment.

Things to keep in mind while doing penetration testing
The first thing you should do is to assemble your team. You will need two types of people: penetration testers and project managers/team leads.

Once the team is assembled, it's time to decide on the scope of what needs testing. Penetration tests can be either external or internal; they can also target single systems (such as servers) or larger networks composed of multiple domains connected together. Generally speaking, smaller companies don't really have enough infrastructure for an in-depth assessment so you might want to limit yourself to professional pen test services providers if that's the case with your business.

Now let's talk about how a company would go about conducting its own targeted penetration test versus having someone else do it for them. This depends on the size of your company, but generally speaking if you have a small business with less than 100 employees or so, penetration testing is best done internally by everyone in the team rather than hiring an external third party agency to come and test you.

Always document what was tested and how; be careful not to harm anyone during your assessment (such as shutting down access points); constantly monitor traffic going into and out of your network.

In case you want to do Cloud penetration testing of your cloud services, penetration tests are executed for security tests of a system, a service or a network in order to find security weaknesses in them. The main purpose is to find security issues in your cloud service before hackers do.

Penetration Testing Methodology

There are four main phases to a penetration test:

  • Intelligence gathering,
  • Scanning and enumeration,
  • Gaining access, and,
  • Maintaining access.

Let's discuss these phases in details"

  1. Intelligence Gathering:

This first phase of the assessment is all about researching your target and figuring out how best to approach it (from an offensive perspective). Intelligence gathering involves finding as much information as possible about your company's infrastructure; this includes looking for technical details such as which servers you have running in house, what type of hardware those machines run on, open ports/services that might be available publicly (and if these can be accessed remotely), etc. There's also typically some reconnaissance work done online via search engines or social media websites like LinkedIn where professionals working at your company could potentially lead testers straight to their intended target.

  1. Scanning and Enumeration:

This is the phase where you will be looking to find out what vulnerabilities are present on your network infrastructure, which services/applications have open ports that can potentially be attacked or accessed by an outside party if they know about them, etc. It's also during this time when various tools are used for fingerprinting hosts to figure out what type of operating system they run so testers can determine whether these machines could become vulnerable targets later on down the road once more information has been gathered from other parts of the penetration test. There are many different types of scanning tools available depending on your needs; some options include NMAP, Astra Pentest or Retina CS.

  1. Gaining Access:

This is the phase where penetration testers do their best to break into your network infrastructure and start looking for vulnerabilities they can exploit in order to run other tools or applications that could help them maintain access. The goal of this stage is typically to try getting a shell on as many machines as possible so additional privileges can be gained if these systems have been incorrectly configured or insecurely deployed from an IT perspective. You may even find out during this time that some machines are already fully compromised by malicious outsiders trying to attack you, which means there's no need for further testing because it would be pointless at that point.

  1. Maintaining Access:

The final step involves actually keeping yourself inside our company's network once you've successfully gained access to it. This is the fun part where penetration testers look for ways they can leverage their unauthorized network privileges and make a real impact on your company's business processes, data or anything else that might be useful from an outsider's perspective. At this point you should have already used various tools/code during each of the previous three steps in order to gain access as well as maintain it long term so everything can be properly documented for reporting purposes at the end of the assessment once all testing has been completed .

Tools to conduct Penetration Testing

Penetration testing is a technical assessment method used to test the security of your company's network infrastructure. There are multiple open-source and commercial tools available for doing penetration testing for your IT infrastructure.

Here are a few tools you can use for penetration testing:

NMAP - an open port scanner and analyzer which is free of cost. It also has a command line interface that can be used from the terminal/cmd prompt.

Cain and Able - a tool that can be used for cracking/brute forcing passwords.

Retina CS - It's another commercial product available which has both console and GUI interfaces, supports IPvX as well as IPvY scanning and also performs vulnerability scans on services using multiple credentials types (e.g: plaintext ,NTLM etc).

Astra Pentest- a GUI based tool that can be used for scanning and analyzing the target system.

Nessus - a vulnerability scanner that can be used for scanning open ports, services and other vulnerabilities on the target system.

OpenVAS- It's an Open Source Vulnerability Scanner which is based on the Nessus framework.

Canvas - a commercial product available in both free as well as paid editions, provides lots of features like automated scanning, vulnerability scoring, report generation etc.

Metasploit - It is an open source exploit development and pen-testing framework that provides various modules for attacking different services too which further helps penetration testers to choose their preferred method of attack on the target system.

Burp Suite - a web application security testing tool used by pentesters to intercept traffic between the browser and the web application, modify that traffic as well as to inject custom scripts into the requests.

Aircrack-ng - an open source tool used for hacking WiFi networks by capturing packets data over wireless connection. It is also capable of grabbing handshakes too which are essential in cracking wifi passwords if captured properly during the testing phase.

Wrapping Up...

Many thanks for reading this blog post! We've talked about what penetration testing is and the methodology that's involved when conducting it in order to help you better understand how an actual pen test is conducted from beginning to end here today . Hopefully, by now, you have a much more comprehensive idea of all the steps involved during Penetration Testing.

Original Source

Top comments (1)

Collapse
 
lewisblakeney profile image
lewisblakeney

Great article on Penetration Testing methodology! Understanding the importance of Penetration Testing Services is crucial for robust cybersecurity. Your insights provide valuable guidance for organizations seeking to safeguard their digital assets effectively.