数据库在metaspoit中是相当重要的,当做一个大型渗透测试项目的时候,收集到的信息是相当大的,当和你的同伴一起协同作战的时候,你们可能 在不同的地方,所以数据共享很重要了!而且Metasploit还可以兼容一些扫描软件,例如NMAP、Nusess、Nexpose等扫描软件,我们可 以将扫描结果保存为XML文件,然后交给Metasploit做漏洞利用….

因此在metasploit中使用数据库来完成以上的工作!

如何安装数据库并且和Metasploit兼容

首先metasploit,默认使用的是postgresql数据库.在BT5或是Kali等专业的渗透系统中,postgresql已经被默认安装。如 果使用的不是bt5,而是像ubuntu12.04等Liunx发行版,metasploit也是自己安装的,所以就需要自己安装postgresql数 据库啦

首先我们安装数据库

sudo apt-get install postgresql-8.4 postgresql-client-8.4

安装好了过后就创建用户密码和数据库:

1. su postgres       #进入数据库

2. createdb nmap     #创建数据库

3 createuser nmap      #创建用户

这儿要求你输入密码,我设置的是namp。输入后确定就ok,然后输入exit退出

接着就是进入msfconsole设置MSF与postgresql数据库相关联

进入了msf shell之后,利用以下命令连接数据库:

db_connect nmap:nmap@127.0.0.1/nmap

然后会看见msf的一些输出,这些是初始数据,第一次关联数据库会有,第二次就没了。

等待输出完成之后,我们再输入命令db_status测试下是否链接好了

如果看到以下的回显,证明数据库已经成功和MSF相关联:

postgresql conneted to nmap

postgres数据库的开启与查看端口

首先查看数据库服务是否开启,在shell输入以下命令:

netstat -tnpl | grep postgres

如果开启,记下端口

如果没有,我们进入/etc/init.d/目录,shell命令:ls | grep postgres,找到metasploit-postgres,shell命令:./metasploit-postgres  start,即可开启postgres服务,如果要关闭用stop即可。开启后,记下端口。

查看postgres数据库的默认密码并连接数据库

用户名和密码放在/opt/metasploit/config/database.yml这个配置文件中,vim打开查看即可。文件的格式如下文所示:

development:
adapter: "postgresql"
database: "msf3dev"
username: "msf3"
password: "4bfedfc2"
port: 7337
host: "localhost"
pool: 256
timeout: 5

进入metasploit命令行界面:使用命令db_connect 连接数据库,具体命令:

db_connect username:password@localhost:端口号/数据库名

针对上文的配置,我们的连接命令就是:

db_connect  msf3: 4bfedfc2@127.0.0.1:7337

提示端口错误,需要修改postgres默认端口

BT5R3上默认安装的postgresql监听端口是7337。如果想改变监听的端口,解决方法如下:

修改/opt/metasploit/postgresql/data/postgres.conf中port = 5432

然后再根据问题二开启postgres数据库即可。

提示ENCODING错误

首先我们进入数据库:

su  –postgres

然后再使用UTF8编码新建数据库:

createdb msfbook -E UTF8 -T templat0

最后,敲入db_connect postgres@127.0.0.1/msfbook

会有一堆创建数据表的语句输出,表明执行无问题。

使用db_status检查,提示正常。

觉得postgres数据库不爽,想换Mysql数据库

先启动msfconsole,首先看看有什么可用的数据库:

Msf >db_driver
[*]Active Driver:postgresql
[*]Available:postgresql,mysql

Active Driver: postgresql说明现在默认的数据库是postgresql

Available:postgresql,mysql说明MSF支持的数据库有postgresql和mysql

我们可以使用以下的命令切换默认数据库:

Msf >db_driver mysql

[*]Active Driver:mysql

此时已经成功切换到mysql数据库啦

参考资料

《Backtrack中metasploit连接postgres数据库》

《metasploit使用postgresql数据库》

《Metasploit控制台连接postgresql数据库问题》

《MSF渗透测试指南》

《MSF渗透测试手册》

转载自:http://www.91ri.org/7262.html

Metasploit数据库问题汇总的更多相关文章

  1. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  2. Vertica 数据库知识汇总篇

    Vertica 数据库知识汇总篇(更新中..) 1.Vertica 集群软件部署,各节点硬件性能测试 2.Vertica 创建数据库,创建业务用户测试 3.Vertica 数据库参数调整,资源池分配 ...

  3. 2.Metasploit数据库配置及扫描模块介绍

    01.Metasploit数据库配置及扫描模块介绍     信息收集   信息收集是渗透测试中首先要做的重要事项之一,目的是尽可能多的查找关于目标的信息,我们掌握的信息越多,渗透成功的机会越大.在信息 ...

  4. metasploit 常用命令汇总

    1.连接数据并显示一些信息 db_connet username:password@ip address/database name db_destroy 同上 db_import 文件名字 db_h ...

  5. metasploit数据库使用学习

    metasploit为了方便,自动将当前工作区的内容放入数据库 首先就是工作区 -a 增加工作区,-d删除工作区 不同工作区的内容会分开储存到数据库 default工作区 test工作区 db_imp ...

  6. PHP常用数据库代码汇总

    连接MYSQL //MYSQL数据库配置 define(DB_HOST, '127.0.0.1'); define(DB_USER, 'user'); define(DB_PASS, 'pass'); ...

  7. MySQL数据库7 - 汇总和分组数据

    一 汇总和分组数据 查询语句 ---> 结果集(多条数据) ---> 聚合函数  ----> 单行记录 1.常用的聚合函数: sum()         数字             ...

  8. Metasploit Framework命令汇总

    一.msfconsole ? 帮助菜单back 从当前环境返回banner 显示一个MSF bannercd 切换目录color 颜色转换connect 连接一个主机exit 退出MSFhelp 帮助 ...

  9. Java Web连接各种数据库方式汇总

    1.Oracle数据库(thin模式) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String ...

随机推荐

  1. Java8函数式接口/Lambda表达式/接口默认方法/接口静态方法/接口冲突方法重写/lambda表达式指定泛型类型等

    一:函数式接口 1.函数式接口的概念就是此接口必须有且只能有一个抽象方法,可以通过@FunctionalInterface来显示规定(类似@Override),但是没有此注解的但是只有一个抽象方法的接 ...

  2. python_day1_python简单介绍

    一.python解释器的种类 我们都知道python是一种解释型的语言,那python在执行的过程中必须要通过解释器来执行,那python的解释器到底分为哪些呢? 1.Cpython CPython是 ...

  3. 基于MySQL自增ID字段增量扫描研究

    目录 目录 1 1. 问题 1 2. 背景 1 3. InnoDB表 2 3.1. 自增ID为主键 2 3.2. 自增ID为普通索引 4 3.3. 原因分析 7 4. MyISAM表 8 4.1. 自 ...

  4. 2.2.1synchronized方法的弊端

    缺陷:用关键字synchronized声明方法是有弊端的,譬如A线程调用同步方法执行一个长时间的任务,那么B线程则必须等待较长的时间, 解决方法:使用synchronized同步语句块 package ...

  5. 74(2B)Shortest Path (hdu 5636) (Floyd)

    Shortest Path Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  6. 第88讲:Scala中使用For表达式实现map、flatMap、filter

    今天我们来学习一下如何使用for表达式实现map.flatMap以及filter 首先,我们来看下map.map的功能是,传入一个list,通过一个函数f,将list中的元素A变成元素B的过程.最后得 ...

  7. poj 2449 Remmarguts' Date【第K短路】

    题目 题意:求 点s 到 点t 的 第 k 短 路的距离: 估价函数=当前值+当前位置到终点的距离 f(n)=g(n)+h(n);     g(n)表示g当前从s到p所走的路径的长度,      h( ...

  8. js-设置时间,获取几天后的时间

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. RNN以及LSTM的介绍和公式梳理

    前言 好久没用正儿八经地写博客了,csdn居然也有了markdown的编辑器了,最近花了不少时间看RNN以及LSTM的论文,在组内『夜校』分享过了,再在这里总结一下发出来吧,按照我讲解的思路,理解RN ...

  10. 【VB6】全局键盘钩子

    基本也没啥好说的,不要用到木马及恶意程序中是以前从VB.NET程序改到VB6的,阉割了一些功能,只提供键盘Hook功能想要截获热键可以在处理函数中返回1,里面有示例 下载地址 http://pan.b ...