MSF的简介
-
目前最流行、最强大、最具扩展性的渗透测试平台软件
-
基于Metasploit进行渗透测试和漏洞分析的流程和方法
-
2003年由HD More发布第一版,2007年用ruby语言重写
-
架集成了渗透测试标准 (PETS) 思想
-
一定程度上统一了渗透测试和漏洞研究的工作环境
-
新的攻击代码可以比较容易的加入框架
-
开发活跃版本更新频繁(每周)
-
早期版本基于社区力量维护,被 Fapid 7收购后打造出其商业版产品
-
目前分化为四个版本,社区版本依然十分活跃
-
HD More说:为Metasploit写书是种自虐!
-
2014年之后市场上没有再出现新的Metasploit教材
Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续 更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以 黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。
MSF基本使用
MSF安装与更新
我们使用kali Linux来讲解 安装其实我们只需要安装kali就可以了,但是kali是一个操作系统,我们就需要用到虚拟机。 MSF更新:apt update; apt install metasploit-framework
MSF的数据库使用
msf使用的是postgresql, 这个数据库默认端口是5432
msf我们如果单个模块使用,其实用不用数据库都不影响,但是如果模块之间有数据需要沟通,那么数据
库就必须使用。
启动PostgreSQL服务
msfconsole连接PostgreSQL数据库
root@kali:~ service postgresql start ###启动PostgreSQL服务
root@kali:~ service postgresql status ###查看状态
msfconsole连接PostgreSQL数据库
root@kali:~ msfdb init ###初始化数据库
初始化成功就是上图
已经初始化过就是下图
打开msf
root@kali:~ msfconsole ###打开msf
查看数据库状态
msf6 > db_status
断开数据库连接
主要作用是可以让msf去连接其他数据库
msf6 > db_disconnect
配置文件连接数据库
连接数据库,主要通过配置文件去连接
默认的数据库的配置文件在: /usr/share/metasploit-framework/config/database.yml
所以我们可以通过这个配置文件连接上数据库
msf6 > db_connect -y /usr/share/metasploit-framework/config/database.yml
此外在msfconsole之外,管理数据库的命令:
msfdb init #删除并重新初始化数据库
msfdb reinit # 启动并初始化数据库
msfdb delete # 删除并停止使用数据库
msfdb start # 启动数据库
msfdb stop # 停止数据库
msfdb status # 检查服务状态启
msfdb run # 启动数据库并运行msfconsole
MSF常用指令
启动MSF
msfconsole
或者msfdb run
在msfconsole下面可以使用MSF所有的命令,甚至可以使用操作系统的命令:
cd /usr/share/metasploit-framework/modules#进入模块
msf6 > ls [-l]#输入ls可以看到7个模块
msf6 > pwd#当前目录位置
#操作用户
msf6 > whoami
不在管理员模式下运行可能会有权限不够的提示,为了避免命令执行失败,在管理员下运行
help命令
直接使用help,比如说不知道怎么使用search,直接使用help search
search命令
主要用来搜索模块,经常使用。 搜索漏洞专用。
use命令
使用命令模块,经常使用。 可以通过info命令查看模块的详细信息。
show命令
show options命令
设置相关参数。
show targets命令
哪些目标适合使用该攻击方式。
show payloads命令
显示出适用于当前模块的payloads。
show advanced命令
显示高级命令,有些模块需要设置高级命令才可以使用。
show missing命令
看有什么参数没有设置到,比较有用
设置参数相关命令
check命令
检测是否可用,并没有真正发起攻击,但并不是所有模块都适用。 和run和exploit的有很大区别。
back命令
回退,返回上一级。