Metasploit工具
(1)术语解释:
<1> 渗透攻击(Exploit):指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。
<2> 攻击载荷(Payload):是希望目标系统被渗透攻击后去执行的代码。能帮我们在系统上获取需要的访问和行动权限。Meterpreter是一种使用内存技术的攻击载荷,可注入到进程之中,提供了各种可以在目标上执行的功能,从而成为最受欢迎的攻击载荷。
<3> 模块:指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。
常用模块:
- Aux辅助模块:主要完成信息搜集;
- Exploits模块:进行渗透攻击;
- Payload攻击载荷模块:攻击成功后促使目标系统运行的一段执行代码,通常是为渗透攻击者打开在目标系统上的控制会话连接。
<4> 终端(Msfconsole):是Metasploit最受欢迎的用户接口,提供与用户交互式输入。
(2)基本使用方法:
(3)Exploit原理
exploit总的来说共分为两类溢出(exploit)方法,即主动溢出和被动溢出。主动溢出是针对目标主机的漏洞主动的进行攻击以获得控制权限;被动溢出是针对目标主机被动的监听然后获取相应的操作。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。
最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序输入root且有suid权限的话,攻击者就会获得一个有root权限的shell,可对系统进行任意操作。
漏洞利用 --- VSFTPD 2.3.4 后门
(1)环境准备
攻击方主机:kali系统
优势:
- - 自带 msf v5 版本,无需安装;
- - 系统会内置所需的一些服务和渗透使用到的工具,适合进行安全渗透测试
被攻击主机(靶机):推荐使用metasploit靶场
优势:
- 自带各种场景漏洞;
- 轻量易部署,metasploit团队维护的一个集成了各种漏洞弱点的 linux 主机镜像,免去搭建各种测试环境。
- 链接:Metasploitable - Browse /Metasploitable2 at SourceForge.net
(2)漏洞介绍
对VSFTPD 2.3.4 的攻击就是通过向21端口发送一个特定字节的序列来触发恶意的vsf_sysutil_extra()函数。一旦成功执行,就会在系统的6200端口打开一个后门,从而进行利用
(3)攻击:
<1> 步骤1:准备阶段。相关配置完成,Metasploit支持将扫描结果保存到数据库中。配置相应数据库,可保留已扫描的数据,方便查询
<2> 步骤2:信息收集
为获知主机上是否有漏洞,因此使用nmap对一些常用端口进行探测
查询是否有被可利用的模块:
<3> 步骤3:漏洞利用
查看options:
配置需攻击的目标主机:
查看支持的payload:
配置payload:
执行: