CentOS 6.x安装Metasploit

      网上关于CentOS系统下安装Metasploit的教程一堆有一堆,我这里也没有什么新意,完全就是一步一步的走一遍,算是做个笔记,往后备查。

      首先,我的系统是CentOS 6.4_x64版本。更新一下系统,如果系统比较老,这个时间可能会比较长,命令如下:

yum update
yum upgrade

      开始安装Metasploit需要的所有依赖包,命令如下:

yum groupinstall 'Development Tools'
yum install sqlite-devel libxslt-devel libxml2-devel java-1.7.0-openjdk libpcap-devel nano openssl-devel zlib-devel libffi-devel gdbm-devel readline-devel nano wget

      开始安装Ruby,我们选择安装最新的包,这个在默认的软件包中并不包含,所有采用源码安装。先安装最新版本的YAML,目前最新版本为yaml-0.1.6,安装命令如下:

cd /usr/src
wget http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz
tar zxvf yaml-0.1.6.tar.gz 
cd yaml-0.1.6
./configure --prefix=/usr/local
make && make install

      接着,下载并且安装Ruby的最新版本,Ruby目前的最新版本为ruby-2.2.1。又是一个漫长的过程啊!安装命令如下:

cd /usr/src
wget http://ftp.ruby-lang.org/pub/ruby/2.2/ruby-2.2.1.tar.gz
tar zxvf ruby-2.2.1.tar.gz
cd ruby-2.2.1
./configure --prefix=/usr/local --with-opt-dir=/usr/local/lib
make && make install

      安装Nmap,这个是Metasploit中并不包含的,但是扫描过程又需要的工具。具体命令如下:

cd /usr/src
svn co https://svn.nmap.org/nmap
cd nmap
./configure
make
make install
make clean

      CenOS中附带的Postgresql版本比较低,在这里安装Postgresql的最新版本,目前最新版本为PostgreSQl9.4,具体命令如下:

exclude=postgresql*
wget http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm
rpm -ivh pgdg-centos94-9.4-1.noarch.rpm

      要安装Postgresql,必须使用的yum文件有几个,命令如下:

yum update
yum install postgresql94-server postgresql94-devel postgresql94

      现在开始初始化服务器并将其配置为自动启动,命令如下:

service postgresql-9.4 initdb
service postgresql-9.4 start
chkconfig postgresql-9.4 on

      因为编译ruby所必须的gem时,需要把新安装的加入路径,这样编译器就能找到库和二进制文件,接下来需要执行几个命令:

echo export PATH=/usr/pgsql-9.4/bin:\$PATH >> /etc/bashrc
source ~/.bashrc

      接下来,切换到Postgresql用户,这样就可以创建我们将要用于Metasploit的用户名和数据库了,命令如下:

su - postgres

      好了,现在开始创建用户和数据库,这些都将在database.yml中使用到。命令如下:

createuser msf -P -S -R -D
createdb -O msf msf
exit
exit

      为了允许我们创建的用户能够连接Postgresql,我们需要设置一下pg_hba.conf文件,命令如下:

vi /var/lib/pgsql/9.4/data/pg_hba.conf

      需要的添加的内容如下:

local msf msf md5
hostmsf msf 127.0.0.1/8 md5
hostmsf msf ::1/128 md5

      截个图:

14

      设置好了之后,重启服务:

service postgresql-9.4 restart

      现在开始安装Metasploit框架,前面的包安装成功之后,我们需要再安装一些Metasploit依赖的Ruby库,命令如下:

gem install wirble pg sqlite3 msgpack activerecord redcarpet rspec simplecov yard bundler

      使用Git下载最新的Metasploit,命令如下:

cd /opt
git clone https://github.com/rapid7/metasploit-framework.git
cd metasploit-framework

      为了在终端下也能运行,这样就不仅仅只在Metasploit的文件中运行。我们需要创建软链接。命令如下:

bash -c 'for MSF in $(ls msf*); do ln -s /opt/metasploit-framework/$MSF /usr/local/bin/$MSF;done'
ln -s /opt/metasploit-framework/armitage /usr/local/bin/armitage

      在终端下,进入Metasploit的文件中,使用Bundler Gem来安装合适的Gem版本:

bundle install

      又是一个漫长的过程,截图如下:

15

      创建Metasploit框架将要使用的database.yml,命令如下:

vi /opt/metasploit-framework/database.yml

      database.yml中的具体内容如下:

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

      再次执行以下命令,这样就能通过Armitage和msfconsole在当前shell中创建和加载环境变量:

echo export MSF_DATABASE_CONFIG=/opt/metasploit-framework/database.yml >> /etc/bashrc
source ~/.bashrc

      最后,让我们运行已经安装的Metasploit,命令如下:

msfconsole

      图示如下:

16

      这样,CentOS 6.x下Metasploit框架就安装好了。

      原作者的文章在他Blog上找不到了,不过他的Blog很值得一看,贴上他的Blog地址:http://www.darkoperator.com/

 

posted @ 2015-04-04 13:47  ShadonSniper  阅读(2125)  评论(0编辑  收藏  举报