"100 percent security" to remain a myth for long
- Anupam Tiwari
Penetration testing is the art of performing a deliberate attack on a network, web application, server, or any device that requires a thorough check-up from a security perspective. The idea of a penetration test is to uncover flaws while simulating real-world threats. A penetration test is performed to figure out vulnerabilities and weaknesses in the systems so that vulnerable systems can stay immune to threats and malicious activities.
Achieving success in a penetration test largely depends on using the right set of tools and techniques. A penetration tester must choose the right set of tools and methodologies in order to complete a test. While talking about the best tools for penetration testing, the first one that comes to mind is Metasploit. It is considered to be one of the most practical tools to carry out penetration testing today. Metasploit offers a wide variety of exploits, a great exploit development environment, information gathering and web testing capabilities, and much more.
This chapter will help you understand the basics of penetration testing and Metasploit, which will help you warm up to the pace of this book.
In this chapter, you will do the following:
- Learn about using Metasploit in different phases of a penetration test
- Follow the basic commands and services associated with Metasploit
- Gain knowledge of the architecture of Metasploit and take a quick look at the libraries
- Use databases for penetration test management
Throughout the course of this book, I will assume that you have a basic familiarity with penetration testing and have at least some knowledge of Linux and Windows operating systems.
Before we move onto Metasploit, let's first set up our basic testing environment. We require two operating systems for this chapter:
- Kali Linux
- Windows Server 2012 R2 with Rejetto HTTP File Server (HFS) 2.3 server
Therefore, let us quickly set up our environment and begin with the Metasploit jiu-jitsu.