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的最新版本,目前最新版本为PostgreSQl12,具体命令如下:

     exclude=postgresql*

     wget https://download.postgresql.org/pub/repos/yum/testing/12/redhat/rhel-6-x86_64/pgdg-centos12-12-1.noarch.rpm

     rpm -ivh pgdg-centos12-12-1.noarch.rpm

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

     yum update

     yum install postgresql12-server postgresql12-devel postgresql12

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

     service postgresql-12 initdb

     service postgresql-12 start

     chkconfig postgresql-12 on

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

     echo export PATH=/usr/pgsql-12/bin:\$PATH >> /etc/bashrc

     source ~/.bashrc

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

     su - postgres

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

     createuser msf -P -S -R -D

     createdb -O msf msf

     exit

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

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

     需要的添加的内容如下(只需改成图片中一样即可):

     local msf msf md5

     host  msf msf 127.0.0.1/8 md5

     host  msf msf ::1/128 md5 

    CentOS 6.x安装Metasploit    

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

   service postgresql-12 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

  CentOS 6.x安装Metasploit

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

   cp /opt/metasploit-framework/database.yml.example /opt/metasploit-framework/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

    如 msfconsole命令找不到:

  cd /opt/metasploit-framework

  ./msfconsloe

 

上一篇:20189315《网络攻防实践》第二周作业


下一篇:自动驾驶入门(十一):深度估计