Metasploit is an open source penetration testing tool (or rather a framework) used for security audits, penetration testing, and simulating attacks. Metasploit includes various modules that can be used to carry out attacks and discover vulnerabilities.
Warning
Using Metasploit requires technical expertise and its use requires responsibility and ethical judgment. Metasploit can easily cause harm if used improperly. However, in responsible hands, Metasploit is a valuable tool for improving cybersecurity and protecting information systems from potential attacks.
What on earth is a framework?
In this context, a framework refers to a code base. Specifically, it means a stack of reusable Ruby code that makes it convenient to create more Ruby code that does cyber stuff. The framework is specifically designed for penetration testing.
You don't need to know Ruby!
You don't need to know how to code in Ruby to use Metasploit. In the course, we will also introduce customization and building your own modules, but Metasploit already has thousands of these modules available to get you started. Besides, Metasploit now also supports Python extensions.
Metasploit Architecture
Metasploit consists primarily of seven types of modules: Exploits, Payloads, Auxiliaries, Encoders, Nops, Evasions, and Post-exploitation modules.


What is a module?
Module is a Ruby file in the Metasploit directory that serves a specific purpose.

Exploit modules
One of the most important components of the Metasploit Framework is the exploit modules. Exploit modules are program components used to exploit vulnerabilities. So when we have a vulnerable information system, the exploit module contains code that can exploit the vulnerability and do something unwanted in the service, such as typically running arbitrary code on the server.
An important part of the exploit module is the payload, in other words, the "arbitrary code" mentioned earlier.
Payload modules
Payload modules can be different and they can have different purposes, although by far the most common purpose is to simply take over the server using a remote connection and continue the attack from there.
When running an exploit module, you typically always choose a payload module to accompany it. Metasploit is a modular framework where its various "building blocks" work together.
Auxiliary modules
Auxiliary modules do a little bit of everything. They are various small tools that fit into different situations. You can, for example, use one auxiliary module to search for SSH services listening on the network, and another auxiliary module for password guessing when an SSH service is found. There are quite a lot of these modules.
Encoder modules
You will revisit the Encoder modules in the exploit development course, you do not need them in this course.
Post-exploitation modules
Post exploitation modules are tools that you use after you have gained control of the server. With them, you can, for example, elevate your privileges, move deeper into the network, or collect data from the server.
Evasion modules
Evasion modules are used to protect (typically) code generated by Metasploit from being detected by various antivirus systems.
Nops Modules
You will revisit Nops modules in the exploit development course, you do not need them in this course.
Metasploit Tools
Metasploit offers several different tools that allow users to manage and use various features and functionalities of the Metasploit Framework.
msfconsole
Msfconsole is the command-line interface (CLI) for the Metasploit Framework, which allows you to access the functionalities and features of Metasploit Framework from the command line. Msfconsole is a highly powerful tool, and you will spend the majority of the course within this console.
msfvenom
Msfvenom is a module of the Metasploit Framework's command-line interface (CLI) that allows users to create custom payloads for various operating systems and applications.
Msfvenom offers many different parameters that allow you to specify the features of the payload, such as the target device's operating system, payload type, and programming language. Msfvenom supports several different programming languages, such as C, C++, Python, and Ruby.
You will also become familiar with this tool during the course.


Ready to become an ethical hacker?
Start today.
As a member of Hakatemia you get unlimited access to Hakatemia modules, exercises and tools, and you get access to the Hakatemia Discord channel where you can ask for help from both instructors and other Hakatemia members.