网上关于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 截个图:
设置好了之后,重启服务: 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 又是一个漫长的过程,截图如下:
创建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 图示如下:
这样,CentOS 6.x下Metasploit框架安装好了。