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

55d6a2a2cb197d634d48b0b147c3b4d3.png

418bf136c7e3ba746b43112417e7109c.png

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

18cdc34beff75a7f04a7ad5546e3dc62.png

36dfc6c8501a30379875b1cb9cf7c283.png

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/develyum 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/srctar zxvf yaml-0.2.2.tar.gz cd yaml-0.2.2./configure --prefix=/usr/localmake && make install
3、ruby安装教程
将下载的ruby-2.7.0-preview1.tar.gz 复制到内网主机的目录/usr/src
cd /usr/srctar zxvf ruby-2.7.0-preview1.tar.gz./configure --prefix=/usr/local --with-opt-dir=/usr/local/libmake && make install
4、安装postgresql-11
将下载的postgresql-11软件及依赖包拷贝至内网主机的目录/opt/postgresql
cd /opt/postgresqlyum install -y ./* //安装所有postgresql-11软件及依赖包
此处注意,如果测试互联网主机为centos系统,内网主机为redhat系统,注意先删除下载的centos-release-7-6.1810.2.el7.centos.x86_64.rpm此文件,再yum安装。

be7220eb54dd4d2f0cf8829f5cb797cf.png


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

c01d3749a193671875f671d4745837f9.png


systemctl enable postgresql-11.service //服务开机启动
systemctl start postgresql-11.service //启动服务
systemctl status postgresql-11.service //查看服务状态

b196c8629d53a707e05bd34de7530d06.png

因为编译ruby所必须的gem时,需要把新安装的加入路径,这样编译器就能找到库和二进制文件,执行命令:
echo export PATH=/usr/pgsql-11/bin:$PATH >> /etc/bashrcsource ~/.bashrc
切换到Postgres用户,创建我们将要用于Metasploit的用户名和数据库,命令如下:
su - postgrescreateuser 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 md5host msf msf 127.0.0.1/32 md5host 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报错

e8734d18fac0c80ca3abce105d09f3b1.png


解决办法:
yum install zlib-devel //安装依赖包zlib-develcd /usr/src/ruby-2.7.0-preview1/ext/zlib //进入ruby的软件包解压目录的ext/zlib目录中ruby extconf.rbmake&&make install
2)openssl报错

5009288f5e6ae96cd36c5a931ad0d450.png


解决办法:
yum install openssl-devel //安装依赖包 openssl-develcd /usr/src/ruby-2.7.0-preview1/ruby-2.3.8/ext/openssl //进入ruby的软件包解压目录的ext/openssl目录中ruby extconf.rbmake&&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.zipmv 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-frameworkbundle install //需较长时间
将自动加载在本地的gem包拷贝出来供内网使用,目录:/usr/local/lib/ruby/gems/2.7.0/cache
将此目录中的所有文件拷贝出供内网主机安装使用。
cd /usr/local/lib/ruby/gems/2.7.0/cachegem install -l ./* //安装所有的gem文件
3) 创建Metasploit框架将要使用的database.yml,命令如下:
vim /opt/metasploit-framework/database.yml
database.yml中的具体内容如下:
  production:  adapter: postgresql  database: msf  username: msf  password: mypass //上面创建的用户msf的密码  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/bashrcsource ~/.bashrc
7、 最后,让我们运行已经安装的Metasploit,命令如下:
msfconsole

565d0a4b0ed3d64c3c7874c70cec2eff.png

转载自Freebuf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

净资产的结构

Netty的包装结构很棒。 每个程序员都应该研究它。 每个系统都应该模仿它; 每个项目经理都应将其打印出来,拍在墙上,然后对开发人员说:“那样。” Netty是一个“……用于快速开发可维护的高性能协议服务器和客户端的异步事件驱动…

常用的HTTP响应头

响应头 说明 示例 状态 Access-Control-Allow-Origin 指定哪些网站可以跨域源资源共享 Access-Control-Allow-Origin: * 临时 Accept-Patch 指定服务器所支持的文档补丁格式 Accept-Patch: text/example;charsetutf-8 固定 Accept-Ranges 服务器所支持的内容范围 …

iframe嵌入页面白屏_封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作

在页面中嵌入PDF文件在上一篇《在html页面中嵌入其他页面的方法——零基础自学网页制作》(结尾见目录)中我们学习了如何在页面中嵌入其他页面的操作。今天我们来嵌入一个pdf文件。其实使用示例代码如下:页面效果如下:考虑到pdf的版权问题就不给大家上传云…

ITK读取RGB图像像素值

/*这个程序接收输入参数作为文件路径, 读取指定的图片数据(RGB), 并显示指定位置的像素值。(这里是[0,0]位置) */ #include "itkImage.h" #include "itkRGBPixel.h" #include "…

微小宝公众号排行榜_排行榜 | 山西省高校、高职中专微信公众号周数据排行榜...

戳上面的蓝字关注我们哦!《山西教育》杂志社公众号“山西教育杂志”微信号shanxi_jiaoyu山西教育杂志社山西教育山西省高校微信公众号2020年周数据分析11月22日至11月28日WCI指数 通过微信公众号推送文章的传播度、覆盖度及公号的成熟度和影响力,来反映微…

二阶段冲刺第七天

站立会议时间:5.15 站立会议地点: 站立会议内容: 王建宁: 昨天把管理员界面上的listview添加了点击事件,点击进去可以填写维修信息,也可以对维修信息进行更改 今天制作管理员界面,长按对反馈信息…

垃圾收集算法,垃圾收集器_为什么我不能关闭垃圾收集器?

垃圾收集算法,垃圾收集器让我们开始快速回顾一下我作为Java开发人员的职业生涯的早期。 我想消除正在进行的测试中的垃圾回收(GC)暂停。 瞧,当我发现无法完成时,我很生气。 那时,我把问题留在了“设计错误”中&#xf…

串口 驱动 热敏打印机_热敏纸标签打印不出来文字 是因为……

点击↑箭头处“蓝色字”,关注我们哦!!Hello,各位纸友们好呀!我是小冠~随着生活的需要,热敏纸标签在生活中也成了必不可少一个部分!那么,为什么有的热敏纸标签有的时候会打印不出来文…

四级英语day14

1. instance /ˈɪnstəns/ n.例子 vt.举…为例2. formal /ˈfɔːməl/ a.①形式上的②正式的3. casual /ˈkʒuəl/ a.①漫不经心的②非正式的③临时的4. cause /kɔːz/ n.①原因②理由③事业 vt.引起5. foundation /faunˈdeɪʃən/ n.①地基②建立③根据6. generous…

JDK 9已完成功能!

今天的马克莱因霍尔德 ( Mark Reinhold)消息JDK 9已完成功能完善-现在该降级了 , 它宣布JDK 9的“总体功能集已冻结”。 甲骨文Java平台小组的首席架构师Reinhold补充说:“极不可能将任何进一步的JEP定向到该发行版。” 与该消息类…

登录样式:log4j 2,上下文,自动清理…全部不附带任何字符串!

日志记录-保持操作的时间跟踪-对于任何关键任务系统,无论大小,都至关重要。 我们的Project-X框架也是如此 ,这就是为什么我们希望从一开始就正确地做到这一点。 基于我们在传奇的UltraESB上的登录经验, 上下文日志记录&#xff0…

java date加一天_Java日期时间API系列15-----Jdk8中API类,java日期计算2,年月日时分秒的加减等...

通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, TemporalAdjuster, ChronoLocalDate等,有非常丰富的方法。例如:LocalDateTime&#xff1…

霍夫变换(Hough Transform)

一、直线检测相关算法   1.1 霍夫变换(Hough Transform)  霍夫变换(Hough Transform)换于1962年由Paul Hough 首次提出,后于1972年由Richard Duda和Peter Hart推广使用,是图像处理中从图像中检测几何形…

JDK 9是某些功能的终结

几天前宣布JDK 9是Feature Complete! 进行剪切的许多“功能”都是添加项,但有些是删除项。 这篇文章介绍了从OpenJDK和/或Oracle的JDK Java 9中删除的一些项目。 JEP 220 (“模块化运行时图像”)的一部分是删除了Java认可标准覆盖…

一种table超出高度自动出滚动条的解决方案

参考链接: http://www.cnblogs.com/xiaoafei1991/archive/2015/09/30/4781592.html转载于:https://www.cnblogs.com/ziyoublog/p/10870048.html

最近邻插值、双线性插值、双三次插值

1.最近邻插值 越是简单的模型越适合用来举例子,我们就举个简单的图像:3X3 的256级灰度图,也就是高为3个象素,宽也是3个象素的图像,每个象素的取值可以是 0-255,代表该像素的亮度,25…

java map转json字符串_Java-Gso-json字符串解析-php后台返回字段类型可能为字符串(/空字符串)或者对象的情况...

其实本来android前端定义的对象类型是对象,如果后台没有值的情况下,理论上给null,如果是数组给[]或者null都可以的。这样Gson再解析转换的时候就不会出问题!但是最近重构发现后台如果没有字段值给的是""空字符串&#x…

oracle中时间加减一年的写法

select add_months(date2019-5-15,-12) from dual; -- 2018-5-15 通过add_months(x,y)函数,在给定的时间x固定的月份y select date2019-5-15 interval -1 year from dual; --2018-5-15 通过interval函数,这个用来表示一段时间间隔,有固定的格式,这里用来加一年&a…

'fopen' This function or variable may be unsafe

1>...error C4996: fopen: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> 正在生成代码... 生成: 成功 0 个,失败 1 个,最…

python3捕获异常_python中异常捕获方法详解

在Python中处理异常使用的是try-except代码块,try-except代码块放入让python执行的操作,同时告诉python程序如果发生了异常该怎么办,try-except这个功能其实很多入门书籍中都放到了高级篇幅里,在入门的时候一般不会讲这个使用&…