最近需在内网服务器搭建安全工具环境,苦于内网服务器无法访问互联网,需要很多依赖包比较麻烦,尤其metasploit无互联网安装特别麻烦,而且网上metasploit的安装教程均是在线一键安装教程,对于无法访问互联网的服务器进行安装均无效,经过多次测试终于完成离线安装,先整理了下安装过程步骤。

建议在能访问互联网的环境里先按照步骤安装一遍,即能熟悉安装过程又能下载所需的软件包和各种依赖包。

一、准备工作

以下均在能连通互联网的linux主机上操作:

1)下载最新yaml:wget http://pyyaml.org/download/libyaml/yaml-0.2.2.tar.gz

2)下载最新ruby:wget http://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.gz

3)下载依赖包,使用yum下载不安装命令,下载相关依赖于目录/opt/devel中:

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 –downloadonly –downloaddir=/opt/devel

4)下载PostgreSQL RPM Building Project – Repository Packages(centos7):

https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

安装:rpm  -ivh  pgdg-redhat-repo-latest.noarch.rpm

5)下载postgresql-11,使用yum下载不安装命令,下载postgresql-11及相关依赖于目录/opt/postgresql中:

yum  install postgresql11-server –downloadonly  –downloaddir=/opt/postgresql

6)下载metasploit

在github下载:

https://github.com/rapid7/metasploit-framework/archive/master.zip

二、安装步骤

1、安装依赖

1)安装’Development Tools’

yum groupinstall ‘Development Tools’

2)安装上面下载在/opt/devel目录的依赖包:

cd  /opt/devel
yum   install  -y   ./*            //安装所有依赖包

此处注意,如果测试互联网主机为centos系统,内网主机为redhat系统,注意先删除下载的centos-release-7-6.1810.2.el7.centos.x86_64.rpm此文件,再yum安装。

2、yaml安装教程

将下载的yaml-0.2.2.tar.gz 复制到内网主机的目录/usr/src

cd /usr/src
tar zxvf yaml-0.2.2.tar.gz
cd yaml-0.2.2
./configure --prefix=/usr/local
make && make install

3、ruby安装教程

将下载的ruby-2.7.0-preview1.tar.gz 复制到内网主机的目录/usr/src

cd /usr/src
tar zxvf ruby-2.7.0-preview1.tar.gz
./configure --prefix=/usr/local  --with-opt-dir=/usr/local/lib
make && make install

4、安装postgresql-11

将下载的postgresql-11软件及依赖包拷贝至内网主机的目录/opt/postgresql

cd  /opt/postgresql
yum install -y ./*                //安装所有postgresql-11软件及依赖包

此处注意,如果测试互联网主机为centos系统,内网主机为redhat系统,注意先删除下载的centos-release-7-6.1810.2.el7.centos.x86_64.rpm此文件,再yum安装。

/usr/pgsql-11/bin/postgresql-11-setup initdb    //初始化数据库

systemctl enable postgresql-11.service          //服务开机启动

systemctl start postgresql-11.service           //启动服务

systemctl status postgresql-11.service          //查看服务状态

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

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

切换到Postgres用户,创建我们将要用于Metasploit的用户名和数据库,命令如下:

su  -  postgres
createuser msf -P -S -R -D      //创建用户msf,会提示输入密码
createdb -O msf msf             //创建数据库
exit

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

vim /var/lib/pgsql/11/data/pg_hba.conf

需要的添加的内容如下:

local  msf   msf    md5
host   msf   msf 127.0.0.1/32   md5
host   msf   msf ::1/128   md5
systemctl  restart  postgresql-11.service     //重启postgresql服务

5、下载Metasploit依赖的Ruby库(在互联网主机上操作)

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

将自动加载在本地的gem包拷贝出来供内网使用,目录:/usr/local/lib/ruby/gems/2.7.0/cache

将此目录中的所有文件拷贝出供内网主机安装使用。

在内网主机:

cd   /opt/cache        //拷贝gem包的目录
gem install -l  wirble pg sqlite3 msgpack activerecord redcarpet rspec simplecov yard bundler   // -l 本地安装

在安装过程中遇到如下报错(附解决办法):

1)zlib报错

解决办法:

yum  install  zlib-devel     //安装依赖包zlib-devel
cd  /usr/src/ruby-2.7.0-preview1/ext/zlib    //进入ruby的软件包解压目录的ext/zlib目录中
ruby  extconf.rb
make&&make  install

2)openssl报错

解决办法:

yum  install   openssl-devel    //安装依赖包 openssl-devel
cd   /usr/src/ruby-2.7.0-preview1/ruby-2.3.8/ext/openssl  //进入ruby的软件包解压目录的ext/openssl目录中
ruby   extconf.rb
make&&make  install

3)pg报错(缺少依赖)

cd  /opt/postgresql                 //进入postgresql下载的目录
yum  install  postgresql-devel       //安装依赖postgresql-devel

6、Metasploit安装

cd  /opt              //metasploit-framework-master.zip放置的目录
unzip  metasploit-framework-master.zip
mv  metasploit-framework-master    metasploit-framework    //修改解压后的目录名
cd  /opt/metasploit-framework

1)为了在终端下也能运行,创建软链接;命令如下:

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

2)在终端下,进入Metasploit的文件中,使用Bundler Gem来安装合适的Gem版本:(在互联网主机上操作)

cd  /opt/metasploit-framework
bundle   install       //需较长时间

将自动加载在本地的gem包拷贝出来供内网使用,目录:/usr/local/lib/ruby/gems/2.7.0/cache

将此目录中的所有文件拷贝出供内网主机安装使用。

cd   /usr/local/lib/ruby/gems/2.7.0/cache
gem  install -l  ./*                 //安装所有的gem文件

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

vim  /opt/metasploit-framework/database.yml

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

  production:adapter: postgresqldatabase: msfusername: msfpassword: mypass                  //上面创建的用户msf的密码host: 127.0.0.1port: 5432pool: 75timeout: 5

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

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

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

msfconsole

centos7离线安装metasploit相关推荐

  1. centos7离线安装ansible

    centos7离线安装ansible: 1.通过在线的centos7将rpm包下载好了,上传到指定服务器. 下载官方repo,rpm -iUvh http://dl.Fedoraproject.org ...

  2. XenCenter软件中的Centos7离线安装yum源,不用wget和crul

    XenCenter软件中的Centos7离线安装yum源,不用wget和crul 1.去网站http://mirrors.163.com/centos/7/os/x86_64/Packages/下载文 ...

  3. CentOS7 离线安装 ZABBIX 5.0

    小伙伴可能遇到了在公司内网环境下无法访问外网情况,无法访问外网yum源部署ZABBIX 对于rpm包依赖问题比较头疼.本文将会进行离线部署实战. 离线安装所需依赖的rpm包.这个包怎么下载呢?依赖的包 ...

  4. centos7离线安装mysql_CentOS7离线安装MySQL的教程详解

    1.删除原有的mariadb,不然mysql装不进去 mariadb-libs-5.5.52-1.el7.x86_64 rpm -qa|grep mariadb rpm -e --nodeps mar ...

  5. centos7离线安装mysql_Centos7离线安装metasploit详细教程

    最近需在内网服务器搭建安全工具环境,苦于内网服务器无法访问互联网,需要很多依赖包比较麻烦,尤其metasploit无互联网安装特别麻烦,而且网上metasploit的安装教程均是在线一键安装教程,对于 ...

  6. linux7离线安装docker19,centos7离线安装docker

    1.制作离线yum源 将Centos7的iso镜像包(dvd完整版)上传到服务器,挂载镜像,制作yum源 mkdir -p /media/centos7/ mount ./CentOS-7-x86_6 ...

  7. centos7 离线安装 rar 解压缩软件

    一.下载最新Linux版本Rar软件 1.windows系统下载 在互联网电脑上进入rar官方网站,点击Downloads链接,进入下载界面,复制RAR 6.11 for Linux x64RAR 6 ...

  8. Centos7离线安装gcc4.8

    有时候CentOS工作在无互联网的环境下,需要在离线环境下安装一些组件,这次实现的是模拟在离线环境下安装gcc4.8. 第一步: 先去http://mirrors.aliyun.com/centos/ ...

  9. centos7离线安装tengine所需依赖

    离线安装tengine所需rpm包

最新文章

  1. 如何设计一个支撑数亿用户的系统
  2. 本周六定位上海!解析百度文心(ERNIE)如何助力快速定制企业级NLP模型
  3. 【Spring注解系列14】@Profile进行环境切换
  4. 基于ReentrantLock发生死锁的解决方案
  5. 一文带你读懂base64编码
  6. 线程调度优先级和关联性
  7. java 参数类型不确定_java泛型的那些事
  8. 大学学python用记笔记吗_学 Python 作笔记,怎么能不用 Jupyter
  9. Struts1+Spring+Ibatis集成开发步骤(三)
  10. 使用Gson解析json
  11. java -jar bat_java jar包和bat批处理命令
  12. QT5.15 安装教程
  13. MTK 6589充电模块分析
  14. 此时不应有 \Common
  15. MySQL --- 函数大全3
  16. SLAM【十一】建图
  17. 第八届 CodeVita 国际编程大赛
  18. 对接京东获取任务工单接口jingdong.homefw.task.search,附接口字段详细说明,数据库设计,Java实现
  19. 如何为4万名订阅者编写自动令牌空投脚本
  20. MTK android WIFI地址 不写随机变动问题

热门文章

  1. 【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
  2. 限流算法之漏桶算法、令牌桶算法
  3. UICollectionView(一)基本概念
  4. 7.Nginx_Keepalived高可用配置
  5. laravel cookie加密解密原理
  6. ZTE物联网之智能电表简介
  7. 《我是一只IT小小鸟》读后感
  8. Unity-WIKI 之 AnimationToPNG
  9. OO第一单元作业总结
  10. 2018-2019-1 20165226 《信息安全系统设计基础》第8周学习总结