msfconsoleからpostgresqlへの接続

metasploitの、msfconsoleからpostgresqlへの接続の時につまづいた時のメモです。

何処でつまづいたかと言うと、「gem install pg」の部分でつまづきました。

いろいろなサイトを見て回り、同じようなことを行っても全然インストールすることができない。

エラーの内容的には下記のような表示がされる。もっと長かったけど省略。

Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
...

環境は、Fedora16(32bit)です。

 

ここからは、行った手順を記載していきます。

#yum update

OSをインストールしたばっかりだったので、まずは更新作業から。

 

postgresqlのインストール

#yum install postgresql-server

環境変数設定

このままでは、「initdb」ができないので、環境変数を設定する

#POSTGRES_HOME=/usr/local/pgsql
#PGLIB=$POSTGRES_HOME/lib; export PGLIB
#PGDATA=$POSTGRES_HOME/data; export PGDATA

 

/usr/localのパーミッション変更

postgresqlパーミッションエラーで、読み込めないと言われるので、適当にパーミッション変更。

#chmod 777 /usr/local

/usr/bin/initdb 実行

postgresqlをインストール時に自動で作成された「postgres」ユーザになり、initdbコマンド実行

/usr/bin/initdb

initdbが終了すると、下記のコマンドのどちらかを実行して下さい的なメッセージが出るので実行する。

/usr/bin/postgres -D /usr/local/pgsql/data start

上のコマンドを実行する。initdb時のメッセージには、logファイル的なのを指定しているが省略する。

 

postgresユーザのパスワード変更

#passwd postgres toor

 

データベース作成

pgsqlで適当なデータベースを作成する。

 

pgをインストールするために以下のパッケージをインストールする

yum install gcc
ym install ruby
yum install rubygems
yum install ruby-devel
yum install libpcap-devel
yum install postgresql-devel

 

準備が整ったので、gemでpgをインストールする

gem install pg

 

以上で、metasploitからDBに接続できるようになりました。