centos安装msf
Metasploit Framework(MSF)是一款开源安全漏洞监测工具,该工具已附带数千个已知的软件漏洞,且仍在保持更新。Metaploit可以用于信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被各大安全社区誉为"可以黑掉整个宇宙"。初期的Metasploit是采用Perl语言编写的,但在后来的新版改成了Ruby。我们常用的kali中则自带了Metasploit工具。
安装
wget https://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run 出现报错 错误: 无法验证 downloads.metasploit.com 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书: 颁发的证书已经过期。 要以不安全的方式连接至 downloads.metasploit.com,使用“--no-check-certificate”。 解决 yum install -y ca-certificates chmod +x metasploit-latest-linux-x64-installer.run 运行这个文件 ./metasploit-latest-linux-x64-installer.run 之后基本回车就可以,有选择y/n的选y
安装postgresql
由于msf需要使用postgresql,所以需要安装并配置它。这里是真的坑。搞得我还原了几次系统。
首先安装postgresql-server这个包:
yum install -y postgresql-server
安装完就开始配置了
初始化数据库:
postgresql-setup initdb
切换用户
su - postgres
whoami
启动postgresql
pg_ctl -D /var/lib/pgsql/data start
[postgres@localhost ~]$ psql -p 5432
psql (9.2.24)
输入 "help" 来获取帮助信息.
postgres=#
postgres=# \password postgres
输入新的密码:
再次键入:
创建msf用户和msf数据库:
创建用户 msf,密码msf,数据库msf,赋予登入权限
postgres=# create user msf with password 'msf'; CREATE ROLE postgres=# create database msf owner msf; CREATE DATABASE postgres=# alter role msf login; ALTER ROLE
\q可以退出postgresql命令。
修改配置文件 ,否则无法登录数据库:
[postgres@localhost ~]$ su - root 密码: 上一次登录:五 10月 13 19:32:11 CST 2023从 192.168.0.102pts/1 上 vi /var/lib/pgsql/data/pg_hba.conf
【注意】必须重启数据库:
[root@localhost ~]# su - postgres 上一次登录:五 10月 13 20:05:58 CST 2023pts/1 上 [postgres@localhost ~]$ pg_ctl -D /var/lib/pgsql/data restart 等待服务器进程关闭 .... 完成 服务器进程已经关闭 正在启动服务器进程
现在切换到root用户
使用这条命令查看新创建的用户是否可以连接数据库:
[postgres@localhost ~]$ su - root 密码: 上一次登录:五 10月 13 20:10:06 CST 2023pts/1 上 [root@localhost ~]# psql -U msf -d msf -h 127.0.0.1 -p 5432 用户 msf 的口令: psql: 致命错误: 用户 "msf" Password 认证失败 [root@localhost ~]# psql -U msf -d msf -h 127.0.0.1 -p 5432 用户 msf 的口令: psql (9.2.24) 输入 "help" 来获取帮助信息. msf=>
msf=> \q
可以连接,进行下一步:
查找msf的数据库配置文件,并修改配置:
[root@localhost ~]# find / -name database.yml.example /opt/metasploit/apps/pro/ui/config/database.yml.example /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit-model-5.0.1/spec/dummy/config/database.yml.example /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit-framework-6.3.36/config/database.yml.example /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit_data_models-6.0.2/spec/dummy/config/database.yml.example /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit-credential-6.0.5/spec/dummy/config/database.yml.example
[root@localhost ~]# cp /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit-framework-6.3.36/config/database.yml.example /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit-framework-6.3.36/config/database.yml
[root@localhost ~]# vi /opt/metasploit/apps/pro/vendor/bundle/ruby/3.0.0/gems/metasploit-framework-6.3.36/config/database.yml
完成配置,重启metasploit与postgresql 即可完成数据库配置
[root@localhost ~]# su - postgres 上一次登录:五 10月 13 20:14:46 CST 2023pts/1 上 [postgres@localhost ~]$ pg_ctl -D /var/lib/pgsql/data restart 等待服务器进程关闭 .... 完成 服务器进程已经关闭 正在启动服务器进程
启动
[postgres@localhost ~]$ msfconsole
msf6 > db_status
[*] Connected to msf3. Connection type: postgresql.