İlk olarak oracle instant client ile ilgili kurulumlar yapılmalıdır.
*Instant Client Package - Basic
*Instant Client Package - SDK (devel)
*Instant Client Package - SQL*Plus **not needed for metasploit but useful to have
Tüm uygulamalara oracle sitesi üzerinden erişebilir.
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html
Ardından bu uygulamaları kuracağımız dizin oluşturulur.
Mkdir /opt/oracle
Ardından indirilen tüm dosyalar açılır.
Cd /opt/oracle
/opt/oracle/instantclient_10_2# Unzip /opt/oracle/ basic-10.2.0.5.0-linux.zip
/opt/oracle/instantclient_10_2# Unzip /opt/oracle/ sdk-10.2.0.5.0-linux.zip
/opt/oracle/instantclient_10_2# Unzip /opt/oracle/ sqlplus-10.2.0.5.0-linux.zip
Link oluşturulur.
/opt/oracle/instantclient_10_2# ln -s libclntsh.so.10.1 libclntsh.so
Şimdi gerekli environment(çevresel) değişkenleri ayarlayacağız. Değişkenlerin her açılışta tekrar oluşması için bashrc dosyası içine kaydedeceğiz.
vim /root/.bashrc
Dosyanın en altına şu değişkenler eklenir.
export PATH=$PATH:/opt/oracle/instantclient_10_2
export SQLPATH=/opt/oracle/instantclient_10_2
export TNS_ADMIN=/opt/oracle/instantclient_10_2
export LD_LIBRARY_PATH=/opt/oracle/instantclient_10_2
export ORACLE_HOME=/opt/oracle/instantclient_10_2
Ardından ruby için gerekli oci8 driverını kuracağız.
http://rubyforge.org/frs/download.php/65896/ruby-oci8-2.0.3.tar.gz
Dosyayı indirdikten sonra sırasıyla aşağıdaki komutlar çalıştırılır.
tar xvzf ruby-oci8-2.0.3.tar.gz
cd ruby-oci8-2.0.3/
env
LD_LIBRARY_PATH=/opt/oracle/instantclient_10_2/
export LD_LIBRARY_PATH
env | grep LD_LIBRARY_PATH
make
sudo make install
Ancak henüz hala aynı hatayı almaya devam edeceğiz.
root@bt:~# irb
irb(main):001:0> require 'oci8'
LoadError: no such file to load -- oci8lib_191
from /usr/local/lib/site_ruby/1.9.2/oci8.rb:40:in `require'
from /usr/local/lib/site_ruby/1.9.2/oci8.rb:40:in `<top (required)>'
from (irb):1:in `require'
from (irb):1
from /usr/bin/irb:12:in `<main>'
Görüldüğü gibi oci8lib_191 kütüphanesi bulunamıyor. Bunun için /usr/local/lib/site_ruby/1.9.2/oci8.rb dosyasında bazı değişiklikler yapacağız. Sorun ruby versiyonun istediği oci driverı ile ilgili. Bizim ruby versiyonumuz 1.9.2 olduğundan ve elimizde oci8lib_192 driverı bulunduğundan bunu açtığımız dosyada belirtmemiz gerekiyor.
Normalde oci8.rb dosyasında içerik aşağıdaki gibi:
Case RUBY_VERSION
When /^1\.9/
Require ‘oci8lib_191’
Biz burada “oci8lib_191” yerine “oci8lib_192” yazacağız.
Oci8lib_192 kütüphanesinin yeri: /usr/local/lib/site_ruby/1.9.2/i486-linux
Şimdi sırada bu kütüphanenin yerini metasploite tanımlamak var. Metasploit açıldığında environment variables ları aldığı bir dosya bulunmaktadır. Dosya setenv.sh ‘dır.
Setenv.sh yeri: /opt/metasploit/scripts
Vim setenv.sh ile dosya açılır. Dosyanın içindeki RUBYLIB ruby kütüphanelerinin yerlerini göstermektedir. Buraya bizim oci8lib_192 kütüphanesinin bulunduğu pathi vereceğiz.
“:/usr/local/lib/site_ruby/1.9.2/:/usr/local/lib/site_ruby/1.9.2/i486-linux”
Yukarıdaki değerler RUBYLIB alanına eklenir.
Bu işlemlerin ardından artık oracle ile ilgili auxiliaryleri çalıştırabileceğiz.