Showing posts with label metasploit. Show all posts
Showing posts with label metasploit. Show all posts

Monday, March 5, 2012

Introduction to Metasploit

The Need for Metasploit

As we saw in our first meeting, successful exploitation of a service requires three "parts":
  • Vulnerability - A flaw in a system which can be utilized as an avenue of attack.
  • Exploit - A program specifically designed to leverage a vulnerability.
  • Payload - Code to be run on the system after the vulnerability has been exploited.
Usually, when a vulnerability is found in a service, an exploit is developed that directly contains a payload. For example, it is common that a shell may be produced from the exploited service. This means that when an exploit is used, the penetration tester would have no choice but to use the provided payload, unless he/she wanted to take the time necessary to create their own. This not only takes a substantial amount of time, but also quite a bit of skill. Also, one must consider that both exploits and payloads can be (and usually are) architecture specific, so a payload that works on a Windows machine will most likely not work on a Linux machine.

So, what security testers needed was a centralized framework to mix and match exploits with available payloads. Also, there was a strong need for a central repository of exploits and payloads that can be pre-loaded for quick use. This results in a flexible security testing environment, in which the desired results can be easily achieved.

Metasploit offers this functionality, and much, much more.