热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7离线安装metasploit

最近需在内网服务器搭建安全工具环境,苦于内网服务器无法访问互联网,需要很多依赖包比较麻烦,尤其metasploit无互联网安装特别麻烦&#

最近需在内网服务器搭建安全工具环境,苦于内网服务器无法访问互联网,需要很多依赖包比较麻烦,尤其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


 

 


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 我正在使用 Ruby on Rails 构建个人网站。总体而言,RoR 是一个非常出色的工具,它提供了丰富的功能和灵活性,使得创建自定义页面变得既高效又便捷。通过利用其强大的框架和模块化设计,我可以轻松实现复杂的功能,同时保持代码的整洁和可维护性。此外,Rails 的社区支持也非常强大,为开发过程中遇到的问题提供了丰富的资源和解决方案。 ... [详细]
  • 作为140字符的开创者,Twitter看似简单却异常复杂。其简洁之处在于仅用140个字符就能实现信息的高效传播,甚至在多次全球性事件中超越传统媒体的速度。然而,为了支持2亿用户的高效使用,其背后的技术架构和系统设计则极为复杂,涉及高并发处理、数据存储和实时传输等多个技术挑战。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 本文深入解析了通过JDBC实现ActiveMQ消息持久化的机制。JDBC能够将消息可靠地存储在多种关系型数据库中,如MySQL、SQL Server、Oracle和DB2等。采用JDBC持久化方式时,数据库会自动生成三个关键表:`activemq_msgs`、`activemq_lock`和`activemq_ACKS`,分别用于存储消息数据、锁定信息和确认状态。这种机制不仅提高了消息的可靠性,还增强了系统的可扩展性和容错能力。 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • 本文深入探讨了使用Puppet进行软件包分发与管理的方法。首先介绍了fpm这一跨平台的软件包制作工具,其简便的操作流程使得软件包的创建变得轻松快捷。fpm的项目地址为:https://github.com/jordansissel/fpm。通过结合Puppet和fpm,可以实现高效、可靠的软件包管理和部署。 ... [详细]
  • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
  • 本文推荐了六款高效的Java Web应用开发工具,并详细介绍了它们的实用功能。其中,分布式敏捷开发系统架构“zheng”项目,基于Spring、Spring MVC和MyBatis技术栈,提供了完整的分布式敏捷开发解决方案,支持快速构建高性能的企业级应用。此外,该工具还集成了多种中间件和服务,进一步提升了开发效率和系统的可维护性。 ... [详细]
  • Python作为当今IT领域中最受欢迎且高效的语言之一,其框架能够显著加速Web应用程序的开发过程。本文推荐并对比了十大顶级Python Web开发框架,其中CubicWeb以其卓越的代码重用性和模块化设计脱颖而出,为开发者提供了强大的支持。 ... [详细]
author-avatar
Mr尘世美_925
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有