微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Metasploit中使用PostgreSQL

第一次运行msfconsole时,BT5中的Metasploit会创建名称为msf3dev的Postgresql数据库,并生成保存渗透测试数据所需的数据表,然后使用名称为msf3的用户自动连接到msf3数据库。启动msfconsole后,可以输入db_status命令,查看数据库的连接状态。

如果出现代码清单3-28中的输出消息,那么说明数据库连接是正常的。

代码清单3-28 db_status命令

msf > db_status

[*] postgresql connected to msf3dev

每次msfconsole启动时,会自动连接到msf3dev数据库,如果想要连接到其他数据库,应当使用db_connect命令连接到数据库

如果db_connect命令中的数据库不存在,那么Metasploit会自动新建一个数据库,并建立好需要使用的数据表,如果数据库已存在,则不会输出任何信息,直接返回到msf>的提示界面。db_connect命令的基本格式为:

db_connect用户名:口令@服务器地址:端口/数据库名称

用户名请填写postgres,口令请按照上一节介绍的方法在/opt/metasploit/properties.ini中查找。输入db_connect命令连接到数据库,如代码清单3-29所示。

代码清单3-29 db_connect命令

msf > db_connect postgres:84cd2bcf@localhost:7337/msf4

提示 截止到本书写作时,Metasploit v4在自动新建数据库时有一个未修复的Bug,如果db_connect命令指定一个新的数据库,那么会提示新建的数据库编码错误显示的出错信息如下:

[-] Error while running command db_connect: Failed to connect to the database: PGError: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (sql_ASCII)

目前该Bug临时的解决方法为在BT5的命令提示符下使用createdb命令新建数据库,然后使用db_connect连接到这个数据库上,新建数据库时需要提供刚刚找到的postgres_root_password口令,并且将数据库的属主设置为msf3用户

root@bt:~# /opt/Metasploit/postgresql/bin/createdb msf4 -E UTF8 -T template0 -O msf3

Password:

连接到数据库后,可以使用hosts命令检查数据库是否可以正常使用,如代码清单3-30所示。

代码清单3-30 hosts命令

msf > hosts

Hosts

=====

address mac name os_name os_flavor os_sp purpose info comments

------- --- ---- ------- --------- ----- ------- ---- --------

可以使用db_disconnect命令断开与数据库的连接:

msf > db_disconnect

可以在BT5的命令提示符下,使用dropdb命令删除一个数据库,如下所示:

root@bt:~# /opt/framework/Metasploit/bin/dropdb msf4

输入上页中找到的postgres_root_password,即可完成删除

原文地址:https://www.jb51.cc/postgresql/195540.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐