网上关于CentOS系统下安装Metasploit的教程一堆有一堆,我这里也没有什么新意,完全就是一步一步的走一遍,算是做个笔记,往后备查。
首先,我的系统是CentOS6.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,
下载并且安装Ruby的最新版本,Ruby目前的最新版本为ruby-2.3.1。又是一个漫长的过程啊!安装命令如下:
cd /usr/src
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
tar -xvf ruby-2.3.1.tar.gz
cd ruby-2.3.1
./configure --prefix=/usr/local/ruby
make && make install
安装Nmap,这个是Metasploit中并不包含的,但是扫描过程又需要的工具。具体命令如下:
cd /usr/src
svn co https://svn.nmap.org/nmap
cdnmap
./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 installpostgresql12-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/12/data/pg_hba.conf
需要的添加的内容如下(只需改成图片中一样即可):
local msf msf md5
host msf msf 127.0.0.1/8 md5
host msf msf ::1/128 md5
设置好了之后,重启服务:
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的文件中,使用BundlerGem来安装合适的Gem版本:
bundle install
创建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 exportMSF_DATABASE_CONFIG=/opt/metasploit-framework/database.yml >> /etc/bashrc
source ~/.bashrc
最后,让我们运行已经安装的Metasploit,命令如下:
msfconsole
如msfconsole命令找不到:
cd/opt/metasploit-framework
./msfconsloe
参考链接:https://blog.csdn.net/bnxf00000/article/details/44872709