Linux Tactic

Mastering Metasploit: Installation Commands and Practical Examples

Introduction to Metasploit

As our world becomes increasingly digitized, cybersecurity is more important than ever. With so much of our personal and professional lives stored on computers and networks, protecting these systems is essential.

There are countless vulnerabilities and exploits that can be used by attackers to compromise systems, but there are also tools available for security professionals to use to test their own systems and identify weaknesses. One such tool is Metasploit.

Metasploit is a comprehensive penetration testing tool that offers a range of features for security professionals. It can perform security audits, vulnerability exploitation, and attacks.

The tool is widely used by system administrators and network security professionals to test their own systems and identify any potential vulnerabilities that may exist. Here, we will take a deep dive into the purpose and function of Metasploit and we will also discuss how to install Metasploit on Linux with PostgreSQL.

Importance of a Database Management System and How to Install PostgreSQL

Before we get into the specifics of installing Metasploit on Linux, its important to understand the role of a database management system (DBMS) and how PostgreSQL fits into this. A DBMS is a specialized software that is used to create, manage, and manipulate relational databases.

These databases are useful for storing and organizing large amounts of data, which can then be easily accessed and manipulated. PostgreSQL is an open-source DBMS that has become increasingly popular in recent years.

It is known for its scalability, reliability, and advanced features. PostgreSQL is freely available and can be installed on a variety of platforms, including Linux, Windows, and macOS.

Here, we will focus on installing PostgreSQL on Debian, Ubuntu, and CentOS.

Installing Metasploit in Linux

Now that we have a basic understanding of PostgreSQL and its role in a DBMS, we can move on to installing Metasploit. Metasploit can be installed on a variety of platforms, but we will focus on Linux here.

The following steps will guide you through the process of installing Metasploit on Linux, specifically Debian, Ubuntu, and CentOS.

Step-by-Step Guide for Installing Metasploit on Linux

Step 1: Install PostgreSQL

The first step is to install PostgreSQL on your Linux system. Here are the commands for doing so on Debian, Ubuntu, and CentOS:

– Debian/Ubuntu: sudo apt-get install postgresql postgresql-contrib

– CentOS: sudo yum install postgresql-server postgresql-contrib

Once installed, youll need to initialize the database cluster by running the following command:

– sudo pg_createcluster 11 main –start

Step 2: Install Metasploit

Next, we need to install Metasploit.

Here is the command for doing so:

– sudo apt-get install metasploit-framework

Note: If youre using CentOS, youll need to add the Metasploit repository first. You can do this by following these steps:

– Download the repository file:


– Move the file to /etc/yum.repos.d/:

sudo mv msfconsolerc /etc/yum.repos.d/

– Install Metasploit:

sudo yum install metasploit-framework

Step 3: Initialize the Metasploit Database

Now that both PostgreSQL and Metasploit are installed, we need to initialize the Metasploit database. Start by launching Metasploit:

– msfdb init

This will create a new database user, a new database, and initialize the database schema.

Once the initialization process is complete, you can launch the Metasploit console:

– msfconsole

Step 4: Check the Database Status

To verify that everything is working correctly, check the database status by typing the following command:

– db_status

This should return connected if everything is working correctly.

Troubleshooting Tips for Connecting Metasploit to the Database

If you encounter any issues when connecting Metasploit to the database, there are a few troubleshooting tips you can follow:

– msfdbreinit: This command will delete and reinitialize the Metasploit database. – msfdb delete: This command will delete the Metasploit database.

– msfdbinit: This command will perform the initialization process again. – msfdb status: This command will display the status of the Metasploit database.

– msfdb run: This command will start the Metasploit database service.


In this article, we discussed the purpose and function of Metasploit and the importance of a database management system, specifically PostgreSQL, in relation

to Metasploit. We also provided a step-by-step guide for installing Metasploit on Linux, and troubleshooting tips for connecting Metasploit to the database.

With this knowledge, security professionals can better protect their own systems and avoid the vulnerabilities that can be exploited by attackers.

Metasploit Basic Commands and Practical Example

Now that weve covered the basics of installing Metasploit, lets dive into the most commonly used Metasploit commands and how to use them. Understanding these commands is essential for security professionals who want to get the most out of Metasploit.

Overview of Metasploit Commands

Metasploit commands can be organized into tables based on their function. Here is an overview of the most commonly used Metasploit commands and their purpose:

Port Scanning Commands

– Hosts: This command displays the list of hosts from your database. – Services: This command displays the list of services and their relevant information.

– Portscan: This command initiates a TCP scan on a specified IP address. – Ping: This command sends a ICMP ping request to a specified IP address.

Auxiliary Module Commands

– Use: This command displays the specified auxiliary module and its functionality. – Info: This command displays detailed information regarding the specified auxiliary module.

– Search: This command can be used to search for a specific auxiliary module by name or description. – Set: This command allows you to set certain options for an auxiliary module before exploiting it.

– Run: This command executes the specified auxiliary module.

Nmap Commands

– Db_nmap: This command preforms a port scan on a specified IP address and inputs the data into the database. – Services: This command displays the services and their relevant information.

– NmapOs: This command performs an OS fingerprinting scan on a specified IP address.

Exploitation Commands

– Search: This command can be used to search for a specific exploit by name or description. – Info: This command displays detailed information on the specified exploit.

– Check: This command checks if the target is vulnerable to the specified exploit. – Set: This command allows you to set certain options for an exploit before exploiting it.

– Exploit: This command executes the specified exploit.

Meterpreter Commands

– Ls: This command lists the files and directories present on the target machine. – Pwd: This command displays the current working directory on the target machine.

– Cd: This command allows you to change the current working directory on the target machine. – Download: This command allows you to download a file from the target machine to your local machine.

– Upload: This command allows you to upload a file from your local machine to the target machine. – Shell: This command gives you a remote shell on the target machine.

Practical Example of Metasploit Basic Commands

Now, lets examine the practical applications of Metasploit and the basic commands we listed above. Heres a real scenario where we might use Metasploit for a penetration test:

We start by performing a port scan on our target IP address, which we will assume is

We do this by entering the following command:

– portscan -sT

This will show us the open ports on the target machine. In our case, we discover that port 21 is open.

We use Nmap to do a detailed scan of the target machines services on port 21:

– db_nmap -sV -p 21

This will input the data into the Metasploit database. We then use the search command to find an exploit relevant to vsftpd, the service running on port 21:

– search vsftpd

We find an exploit called vsftpd_234_backdoor, which we can check with the check command:

– use exploit/unix/ftp/vsftpd_234_backdoor

– check

We discover that the target is vulnerable to this exploit.

We then set the RHOSTS and PORTS options:

– set RHOSTS

– set PORTS 21

We also set the threads option to four:

– set THREADS 4

Finally, we run the exploit:

– exploit

Once the exploit runs successfully, we will have access to a remote shell on the target machine.


Metasploit is an incredibly useful and versatile tool for security professionals, whether youre using it for pentesting or security auditing. Its integration with Nmap, as well as its multitasking abilities, make it a true powerhouse in the world of network security.

Its available for Mac OS, Linux, and Microsoft Windows, and can be used by security professionals with varying degrees of experience in programming and networking. The ability to perform extensive penetration tests not only equips defenders with the knowledge needed to better secure their networks, but also gives them insight into the methods attackers may use against them.

Metasploit is a powerful and comprehensive tool for security professionals looking to identify vulnerabilities in their systems. In this article, we explored the basic commands of Metasploit, including port scanning, auxiliary modules, exploitation, and Meterpreter commands.

We also provided a practical example of using Metasploit in a real scenario. The benefits and usage of Metasploit were discussed, including its usefulness for both offensive and defensive purposes.

Metasploit’s integration with Nmap, multitasking abilities, and its availability for various platforms make it an essential tool for those in network security. Takeaways from this article include the importance of understanding database management systems, specifically PostgreSQL, and how to install Metasploit on Linux.

Overall, Metasploit is a critical tool for anyone looking to secure their networks and protect against potential attacks.

Popular Posts