metasploit 数据库连接问题

metasploit 数据库连接问题,第1张

首先你的告诉我你用的是什么系统.

其次,你得说清楚你之前都有过什么样的 *** 作.

一般如果要是你更新过msf的话,那你得把PG重新刷一遍.因为msf并不是应用系统目前默认的ruby,而是使用自己自带的ruby.

如果你是linux,刷新PG的具体 *** 作是

#:su postgres

postgres$:dropdb 库名

restart postgres service

postgres$:createdb –owner=角色 库名

restart postgres service

先启动postgres数据库

root@firecat:~# service postgresql start

[ ok ] Starting PostgreSQL 9.1 database server: main.

root@firecat:~#

再启动metasploit

root@firecat:~# service metasploit star

t最后再启动msfconsole

默认的数据库与密码存放在这里:/opt/metasploit/apps/pro/ui/config/database.yml

如里没有数据库帐号密码, 可以su - postgres切换到postgres用户, 再用下面的命令创建用户与密码:

createuser -P -s -e username

createdb dbname

注意:有时db_statu显示你连接上了, 但查找时, 提示没连接数据库, 这时候可能你要等一会才行,

要不, 就db_rebuild_cache 之后, 等一会就行。

安装的几个步骤:

1.从github上克隆Metasploit项目到本地;

2.安装postgresql并进行配置;

3.安装特定版本的ruby,并解决依赖;

1.从GITHUB上克隆METASPLOIT项目到本地

git clone https://github.com/rapid7/metasploit-framework.git /usr/local/share/metasploit-framework

克隆到本地后,将metasploit-framework/config/目录下的配置文件:database.yml 添加到环境变量中(database.yml 也许不存在,直接复制database.yml.example)

在$HOME/.bash_profile或者其他配置文件中添加下面这条配置

export MSF_DATABASE_CONFIG=/usr/local/share/metasploit-framework/config/database.yml

2.安装POSTGRESQL并进行配置

metasploit下载完后,不急着去配置,因为metasploit的默认数据库postgresql还没有装上

你可以直接使用brew来下载并自动安装postgresql,可以运行如下命令

brew install postgresql --without-ossp-build

等待自动安装完毕,完成后,初始化postgresql(若出现错误删掉/usr/local/var/postgres,并重试)

initdb /usr/local/var/postgres

初始化完毕后,为metasploit添加数据库用户和创建相应DB

createuser msf -P -h localhost createdb -O msf msf -h localhost

(上面参数不懂了,大家可以百度一下,这里就不做过多解释了)

上面的步骤完成后,需更改metasploit的数据库连接配置,也就是第一步中的database.yml文件

在database.yml中,将信息修改如下

production: adapter: postgresql database: msf username: msf password: yourpasswordhost: 127.0.0.1 port: 5432 pool: 75 timeout: 5

完成后,进入第三步!

(可自行添加alisa来简便每一次postgresql的启动)

alias pg_start='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start' alias pg_stop='pg_ctl -D /usr/local/var/postgres stop'

3.安装特定版本的RUBY,并解决依赖

说到ruby的多版本管理,这里就要用最给力的工具了rbenv(可以在github上找到,也可以使用brew直接安装)brew install rbenv ruby-build

rbenv安装完成后,在$HOST/.bash_profile或其他配置文件中添加如下设置eval "$(rbenv init -)"

下面就可以通过rbenv来安装特定版本的ruby了,首先列出当前可用的ruby版本rbenv install --list

可以看到几乎所有的ruby版本都有,这里我们选择安装ruby-1.9.3-p547(因为OS X 10.9.3 自带的ruby为2.0.0版本,在某些地方会产生问题)rbenv install 1.9.3-p547

这里可能会等一会儿,rbenv会将各个版本的ruby安装在$HOST/.rbenv/versions/下,完成后,将下载的版本设置为系统默认rbenv rehash rbenv global 1.9.3-p547

完成后,重新打开终端,输入ruby –version就可以看到当前默认的ruby版本已经设置成为1.9.3-p547

下面安装bundle来解决依赖问题gem install bundle

安装的时候,可能会出连接问题,多试几次即可

bundle安装完毕后,再次进入metasploit的主目录解决模块包的依赖cd /usr/local/share/metasploit-framework rbenv rehash bundle install

(在bundle install的过程中,可能会出现某一个特定版本的模块安装失败的问题,解决方法:根据GemFiles里的版本限制,自行使用gem安装替代版本,完成后,删掉GemFiles.lock,重新运行bundle install)

依赖解决后,即可运行目录下的msfconsole启动metasploit终端控制器(已启动postgresql,不然会连不上数据库)

可以将msf命令批量ln到bin下for MSF in $(ls msf*)do ln -s /usr/local/share/metasploit-framework/$MSF /usr/local/bin/$MSFdone


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9814661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存