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.
Start the Kali PostgreSQL Service
Metasploit uses PostgreSQL as its database so it needs to be launched first.
service postgresql start
You can verify that PostgreSQL is running by checking the output of ss -ant and making sure that port 5432 is listening.
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 :::22 :::* LISTEN 0 128 *:22 *:* LISTEN 0 128 127.0.0.1:5432 *:* LISTEN 0 128 ::1:5432 :::*
Start the Kali Metasploit Service
With PostgreSQL up and running, we next need to launch the metasploit service. The first time the service is launched, it will create a msf3 database user and a database called msf3. The service will also launch the Metasploit RPC and the web servers it requires.
service metasploit start
Launch msfconsole in Kali
Now that the PostgreSQL and Metasploit services are running, you can launch msfconsoleand verify database connectivity with the db_status command as shown below.
msf > db_status [*] postgresql connected to msf3 msf >
Configure Metasploit to Launch on Startup
If you want to have PostgreSQL and Metasploit launch at boot time, you can use update-rc.dto enable the services as follows.
update-rc.d postgresql enable update-rc.d metasploit enable
Meta-Thrunks! – Video