Metasploit中数据库的密码查看以及使用pgadmin远程连接数据库

  • 2015-04-07
  • 0


我们都知道,在msf下进行渗透测试工作的时候,可以将结果数据保存到数据库中,方便各个小组成员在渗透测试过程中的数据同步。

例如,Metasploit提供了db_nmap命令,它能够将Nmap扫描结果直接存入数据库中,此外还提供了db_import命令,支持多达20中扫描器扫描结果的导入。

Metasploit支持多种数据库,如:MySQL、SQLite3、PostgreSQL,其中PostgreSQL被作为默认数据库使用。

要启用msfconsole的时候,首先需要启用postgresql和metasploit

使用msfconsole进入msf控制台

db_status

可以使用db_status查看当前msf连接的数据库,比如,我当前连接的数据库是msf3

db_connect

如果你是第一次连接的话,需要使用db_connect连接指定的数据库,关于db_connect的用法,可以使用db_connect –help进行查看

如图中所示,当要连接指定的数据库的时候,需要指定数据库名称、用户名和密码

查看密码

如果你不知道metasploit的数据库名称和密码的话,可以在database.yml(/opt/metasploit/apps/pro/ui/config/database.yml)中进行查看

db_disconnect

如果你想切换到其他数据库的话,需要先使用db_disconnect断开当前连接的数据库

使用pgAdmin远程连接数据库

在其他机器中远程连接Kali中的数据库的时候,有时会报错:服务器没有进行监听

解决办法:

修改配置文件postgresql.conf:
listen_addresses = ’*’  (’*’表示所有地址)
port = 5432  (如果你的DB监听在别的端口,那就需要设置成相应的监听端口。有些初始配置可能注释掉了这个选项,请去掉前面的“#”字符)
然后使用pgadmin远程连接(用户名和密码在database.yml文件中)的时候,会报错,
FATAL: no pg_hba.conf entry for host “<host_ip>”, user “用户名”, database “数据库名”, SSL off
解决办法是,在认证文件pg_hba.conf中添加一条记录:

host all all <host_ip>/32 trust

以上设置如要生效,需重启postgres服务:service postgresql restart,至此,使用pgadmin就可以远程连接到其他服务器中的postgresql数据库了。

如果在你参照以上步骤还碰到了其他问题的话,请自行Google吧