Grazie a Code Friendly
, e voglio condividere come ho risolto il mio problema.
Quando ho aggiornato postgresql
dall'applicazione Synaptic, è stata installata la versione postgresql 10. Quindi avevo due versioni di postgresql (10 e 9.6) installate nella mia macchina debian. Postgresql 9.6
ascoltando sulla porta 5432
. Postgresql 10
in ascolto sulla porta 5433
anziché 5432.
Quando msfconsole
eseguo il comando in un terminale, sebbene metasploit si colleghi al database msf sulla porta 5432, viene visualizzato il seguente messaggio di errore:
root@kali:~# msfconsole
[-] Failed to connect to the database: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?
Disinstallare la versione 9.6 postgresql dall'applicazione Synaptic, ma il problema persiste (postgresql 9.6 non appare più nell'elenco dei software installati di Synaptic);
Ma eseguendo il comando che segue vediamo che la versione postgresql 9.6 non è stata completamente disinstallata:
root@kali:~# dpkg -l | grep postgresql
ii postgresql 10+187 all object-relational SQL database (supported version)
ii postgresql-9.6 ** all object-relational SQL database, version 9.6 server
ii postgresql-10 10.0-1+b1 amd64 object-relational SQL database, version 10 server
ii postgresql-client-10 10.0-1+b1 amd64 front-end programs for PostgreSQL 10
ii postgresql-client-common 187 all manager for multiple PostgreSQL client versions
ii postgresql-common 187 all PostgreSQL database cluster manager
ii postgresql-contrib 10+187 all additional facilities for PostgreSQL (supported version)
Con il seguente comando, postgresql-9.6 è stato disinstallato completamente:
root@kali:~# sudo apt-get --purge remove postgresql-9.6
Quindi ho modificato il file /etc/postgresql/10/main/postgresql.conf
, modificato il numero di porta su 5432 e il problema è stato risolto.
Viene visualizzato un altro messaggio di errore:
Creating initial database schema /usr/local/bin/bundle:22:in ``load': cannot load such file -- /usr/lib/ruby/exe/bundle (LoadError) from /usr/local/bin/bundle:22:in `<main>
Ho scoperto che la causa era che due (2) versioni di Ruby sono installate nella mia macchina debian, versioni (2.2 e 2.3).
Stessa cosa, disinstallo la versione ruby 2.2 dall'applicazione sinaptica e il problema è risolto, metasploit si avvia senza problemi.