简述
由于Kali Linux网络服务策略,Kali将不会自启动的网络服务,数据库服务包括在内.所以为了Metasploit以支持数据库的方式启动,需要运行一些必要的步骤.
官网文档
步骤
1. 启动PostgreSQL服务
因为Metasploit 使用PostgreSQL作为数据库,所以必须先启PostgreSQL服务。
在命令行下输入下面命令:
service postgresql start
执行成功后,可以通过ss -ant
命令查看端口5432是否在侦听,去验证PostgreSQL服务是否成功开启。
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 :::*
2. 初始化Metasploit数据库
PostgreSQL运行后,我们需要去新建以及初始化msf数据库。
msfdb init
3. 启动Metasploit
PostgreSQL服务已经启动了,并且数据库也已经初始化了,现在可以启动msfconsole然后使用命令db_status去验证数据库是否成功连接。
msfconsole
msf > db_status
[*] postgresql connected to msf
msf >
4. 验证
到这里,数据已经连接上了,但是我们使用search命令依然会提示使用慢搜索。
我们以ms08-067为例:
msf > search ms08-067
[!] Module database cache not built yet, using slow search
提示这个信息,其实Metasploit已经连接上数据库,但是没有建立数据库缓存。
5. 重新构建数据库缓存
这时,需要重新构建数据库缓存,在msf提示符下执行以下命令:
msf > db_rebuild_cache
[*] Purging and rebuilding the module cache In the background..
构建缓存会在后台运行,稍等几分钟后,重启msf控制台,即可使用搜索模块了。
msf > search ms08-067
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
6. 设置PostgreSQL服务开机自启
使用命令update-rc.d postgresql enable
将PostgreSQL服务添加至开机启动项中,
这样就不用每次使用msf都要开启和PostgreSQL服务了。
网友评论