metasploit是一个渗透测试平台,能够查找、利用和验证漏洞
体系结构
基本模块
- Auxiliary 辅助模块 为渗透测试信息收集提供了漏洞的扫描和探测
- Exploits 攻击模块 利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,从而 获得对远程目标系统访问权的代码组件
- Payload 攻击载荷模块 攻击成功后促使靶机运行的一段植入代码
- Post 后渗透攻击模块 攻击拿到shell后收集更多信息或进一步访问被利用的目标系统
- Encoders 编码模块 将攻击载荷进行编码,来绕过防护软件拦截
- Nops 空指令模块
基本使用方法
-
需要使用postgresql数据库,是一个关系型数据库
启动msf之前启动数据库:systemctl start postgresql
或者systemctl enable postgresql //开机自启动 -
命令类型
(1)Core commands 核心命令
(2)Module commands 模块命令
(3)Job commands 后台任务命令
(4)Resource script commands 资源脚本命令
(5)Database backend commands 数据库后端命令
(6)Credentials backend commands 证书/凭证后端命令
(7)Developer commands 开发人员命令 -
常用命令(每一个命令都有很多参数使用-h查看)
(1)Connect命令主要用于远程连接主机,一般用于内网渗透 connect 192.168.3.3 80
(2)Show用于查看 show exploites/show options
(3)Search用于搜索 search keywords:名字 (例如Search platform:Android )
也可以联合查找 search type:exploit name:mysql
每一个漏洞利用模块基于他们对目标系统的潜在影响被标记了一个rank字段
用户可以基于rank对漏洞利用模块进行搜索,分类以及排序
(4)Use使用模块的命令 use 模块的名称
(5)Info 查看详细信息命令