网上关于CentOS系统下安装Metasploit的教程一堆有一堆,我这里也没有什么新意,完全就是一步一步的走一遍,算是做个笔记,往后备查。
首先,我的系统是CentOS 6.4_x64版本。更新一下系统,如果系统比较老,这个时间可能会比较长,命令如下:
yum updateyum 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/srcwget http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gztar zxvf yaml-0.1.6.tar.gzcd yaml-0.1.6./configure --prefix=/usr/localmake && make install
接着,下载并且安装Ruby的最新版本,Ruby目前的最新版本为ruby-2.2.1。又是一个漫长的过程啊!安装命令如下:
cd /usr/srcwget http://ftp.ruby-lang.org/pub/ruby/2.2/ruby-2.2.1.tar.gztar zxvf ruby-2.2.1.tar.gzcd ruby-2.2.1./configure --prefix=/usr/local --with-opt-dir=/usr/local/libmake && make install
安装Nmap,这个是Metasploit中并不包含的,但是扫描过程又需要的工具。具体命令如下:
cd /usr/srcsvn co https://svn.nmap.org/nmapcd nmap./configuremakemake installmake 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.rpmrpm -ivh pgdg-centos94-9.4-1.noarch.rpm
要安装Postgresql,必须使用的yum文件有几个,命令如下:
yum updateyum install postgresql94-server postgresql94-devel postgresql94
现在开始初始化服务器并将其配置为自动启动,命令如下:
service postgresql-9.4 initdbservice postgresql-9.4 startchkconfig postgresql-9.4 on
因为编译ruby所必须的gem时,需要把新安装的加入路径,这样编译器就能找到库和二进制文件,接下来需要执行几个命令:
echo export PATH=/usr/pgsql-9.4/bin:$PATH >> /etc/bashrcsource ~/.bashrc
接下来,切换到Postgresql用户,这样就可以创建我们将要用于Metasploit的用户名和数据库了,命令如下:
su - postgres
好了,现在开始创建用户和数据库,这些都将在database.yml中使用到。命令如下:
createuser msf -P -S -R -Dcreatedb -O msf msfexitexit
为了允许我们创建的用户能够连接Postgresql,我们需要设置一下pg_hba.conf文件,命令如下:
vi /var/lib/pgsql/9.4/data/pg_hba.conf
需要的添加的内容如下:
local msf msf md5hostmsf msf 127.0.0.1/8 md5hostmsf msf ::1/128 md5
截个图:
设置好了之后,重启服务:
service postgresql-9.4 restart
现在开始安装Metasploit框架,前面的包安装成功之后,我们需要再安装一些Metasploit依赖的Ruby库,命令如下:
gem install wirble pg sqlite3 msgpack activerecord redcarpet rspec simplecov yard bundler
使用Git下载最新的Metasploit,命令如下:
cd /optgit clone https://github.com/rapid7/metasploit-framework.gitcd 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
又是一个漫长的过程,截图如下:
创建Metasploit框架将要使用的database.yml,命令如下:
vi /opt/metasploit-framework/database.yml
database.yml中的具体内容如下:
production:adapter: postgresqldatabase: msfusername: msfpassword:host: 127.0.0.1port: 5432pool: 75timeout: 5
再次执行以下命令,这样就能通过Armitage和msfconsole在当前shell中创建和加载环境变量:
echo export MSF_DATABASE_CONFIG=/opt/metasploit-framework/database.yml >> /etc/bashrcsource ~/.bashrc
最后,让我们运行已经安装的Metasploit,命令如下:
msfconsole
图示如下:
这样,CentOS 6.x下Metasploit框架就安装好了。
原作者的文章在他Blog上找不到了,不过他的Blog很值得一看,贴上他的Blog地址:http://www.darkoperator.com/