Metasploit Framework
In keeping with the Kali Linux Network Services Policy, no network services, including database services, run on boot as a default, so there are a couple of steps that need to be taken in order to get Metasploit up and running with database support.
Quick way
You an have everything up and running, by starting the PostgreSQL service and set it up just by doing:
:~$ sudo msfdb init
[+] Starting database
[+] Creating database user 'msf'
[+] Creating databases 'msf'
[+] Creating databases 'msf_test'
[+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'
[+] Creating initial database schema
:~$You can even take it one step further by doing sudo msfdb run and it will do the same as the above, as well as start msfconsole afterwards
MSFDB
To help interactive with various parts of the Metasploit configuration there is msfdb:
:~$ sudo msfdb
Manage the metasploit framework database
msfdb init # start and initialize the database
msfdb reinit # delete and reinitialize the database
msfdb delete # delete database and stop using it
msfdb start # start the database
msfdb stop # stop the database
msfdb status # check service status
msfdb run # start the database and run msfconsole
:~$Please note: this is a different version of msfdb that is shipped with the default project
Start the Kali PostgreSQL Service
Start the Kali PostgreSQL Service
Metasploit uses PostgreSQL as its database so it needs to be launched first:
You can verify that PostgreSQL is running by checking the output of ss -ant and making sure that port 5432 is listening, or using sudo msfdb status:
Initialize the Metasploit PostgreSQL Database
With PostgreSQL up and running, we next need to create and initialize the msf database:
Launch msfconsole in Kali
Now that the PostgreSQL service is up and running and the database is initialized, you can launch msfconsole and verify database connectivity with the db_status command as shown below:
Last updated
Was this helpful?