我们都知道,在msf下进行渗透测试工作的时候,可以将结果数据保存到数据库中,方便各个小组成员在渗透测试过程中的数据同步。 例如,Metasploit提供了db_nmap命令,它能够将Nmap扫描结果直接存入数据库中,此外还提供了db_import命令,支持多达20中扫描器扫
我们都知道,在msf下进行渗透测试工作的时候,可以将结果数据保存到数据库中,方便各个小组成员在渗透测试过程中的数据同步。
例如,Metasploit提供了db_nmap命令,它能够将Nmap扫描结果直接存入数据库中,此外还提供了db_import命令,支持多达20中扫描器扫描结果的导入。
Metasploit支持多种数据库,如:MySQL、SQLite3、PostgreSQL,其中PostgreSQL被作为默认数据库使用。
要启用msfconsole的时候,首先需要启用postgresql和metasploit
使用msfconsole进入msf控制台
可以使用db_status查看当前msf连接的数据库,比如,我当前连接的数据库是msf3
如果你是第一次连接的话,需要使用db_connect连接指定的数据库,关于db_connect的用法,可以使用db_connect --help进行查看
如图中所示,当要连接指定的数据库的时候,需要指定数据库名称、用户名和密码
如果你不知道metasploit的数据库名称和密码的话,可以在database.yml(/opt/metasploit/apps/pro/ui/config/database.yml)中进行查看
如果你想切换到其他数据库的话,需要先使用db_disconnect断开当前连接的数据库
在其他机器中远程连接Kali中的数据库的时候,有时会报错:服务器没有进行监听
或
解决办法:
修改配置文件postgresql.conf:
listen_addresses = '*' ('*'表示所有地址)
port = 5432 (如果你的DB监听在别的端口,那就需要设置成相应的监听端口。有些初始配置可能注释掉了这个选项,请去掉前面的“#”字符)
然后使用pgadmin远程连接(用户名和密码在database.yml文件中)的时候,会报错,
FATAL: no pg_hba.conf entry for host "
解决办法是,在认证文件pg_hba.conf中添加一条记录:
host all all
以上设置如要生效,需重启postgres服务:service postgresql restart,至此,使用pgadmin就可以远程连接到其他服务器中的postgresql数据库了。
如果在你参照以上步骤还碰到了其他问题的话,请自行Google吧
关于配置文件和认证文件的其他配置内容,可以参考以下文章:
postgresql.conf配置
修改配置文件 pg_hba.conf, postgresql.conf 的注意点
PostgreSQL pg_hba.conf 文件简析
作 者:曾是土木人
原创文章:http://www.cnblogs.com/hongfei/p/3795324.html