Este artículo proporciona una guía básica para el manejo de Metasploit en Kali Linux, incluyendo su inicio, actualización y la resolución de un problema común relacionado con la caché de la base de datos de módulos.
Inicio de Metasploit
Para iniciar Metasploit, abre una terminal y ejecuta el siguiente comando:
root@kali:~# msfconsole
Tras la ejecución, se mostrará el prompt de Metasploit, típicamente msf >.
Actualización de Metasploit
La actualización de Metasploit en sistemas modernos como Kali Linux se realiza a través del gestor de paquetes del sistema. El comando msfupdate ya no es el método recomendado cuando Metasploit está integrado en el sistema operativo.
Utiliza los siguientes comandos para actualizar:
msf > <strong># El siguiente comando es un ejemplo de un método obsoleto</strong>
[*] exec: msfupdate
msfupdate is no longer supported when Metasploit is part of the operating
system. Please use 'apt update; apt install metasploit-framework'
root@kali:~# apt update
root@kali:~# apt upgrade metasploit-framework
...
Solución al problema de caché de la base de datos
Un problema frecuente al usar Metasploit es el mensaje "Module database cache not built yet, using slow search", que indica que la caché de la base de datos de módulos no se ha inicializado, resultando en búsquedas lentas. Por ejemplo, al intentar buscar un exploit como el MS08-067:
msf > <strong>search ms08-067</strong>
[!] <strong>Module database cache not built yet, using slow search</strong>
Pasos para la solución:
-
Inicializar la base de datos de Metasploit:
root@kali:~# msfdb init Creating database user 'msf' Enter password for new role: Enter it again: Creating databases 'msf' and 'msf_test' Creating configuration file in /usr/share/metasploit-framework/config/database.yml Creating initial database schema -
Reiniciar el servicio PostgreSQL:
root@kali:~# service postgresql restart -
Habilitar el inicio automático de PostgreSQL al arrancar el sistema:
root@kali:~# update-rc.d postgresql enable -
Verificar el estado del servicio PostgreSQL:
root@kali:~# service postgresql status ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled) Active: <strong>active</strong> (exited) since Tue 2017-08-22 03:47:39 EDT; 1min 18s ago Main PID: 1254 (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service Aug 22 03:47:39 kali systemd[1]: Starting PostgreSQL RDBMS... Aug 22 03:47:39 kali systemd[1]: Started PostgreSQL RDBMS. -
Reiniciar Metasploit y reconstruir la caché:
root@kali:~# msfconsole msf > <strong>db_rebuild_cache</strong> [*] Purging and rebuilding the module cache in the background... <br></br>... (Esto puede tardar varios minutos) ...<br></br>
Una vez que la caché se ha reconstruido (puede tomar aproximadamente 5 minutos), las búsquedas de módulos serán significativamente más rápidas. Verificamos esto realizando la búsqueda nuevamente:
msf > <strong>search ms08-067</strong>
Matching Modules
================
Name Disclosure Date Rank Description
---- --------------- ---- -----------
exploit/windows/smb/ms08_067_netapi 2008-10-28 great MS08-067 Microsoft Server Service Relative Path Stack Corruption
La velocidad mejorada se mantiene incluso después de salir y volver a iniciar Metasploit, ya que la caché se conserva.
Si utilizsa Kali Linux en una máquina virtual, suspender la VM en lugar de apagarla puede ayudar a mantener la velocidad de búsqueda al reanudar, ya que la caché se preserva.