什么是metasploit?
可以用来发现漏洞,利用漏洞,提交漏洞,并实施攻击,用户可以从其他漏洞扫描程序导入数据,基于漏洞主机的详细信息来发现可攻击漏洞。
模块按照不同用途可分为7中类型,分别是Exploits(渗透攻击模块),Auxiliary(辅助模块),Post(后渗透攻击模块),Payloads(攻击载荷模块),Encoders(编码器模块),Nops(空指令模块),Evasion(规避模块)。
1.渗透攻击模块
主要利用发现的安全漏洞或配置弱点对目标主机进行攻击,以植入和运行攻击载荷,从而获得目标系统的访问控制权,分为主动渗透攻击和被动渗透攻击。
主动渗透攻击:利用的安全漏洞位于网络服务端软件承载的上层应用程序之中
被动渗透攻击:利用的漏洞位于客户端软件(如浏览器,浏览器插件,电子邮件客户端,Office与Adobe等各种文档与编辑软件)
2.辅助模块
辅助模块包括对各种网络服务的扫描与检测,构建虚假服务登陆密码,口令猜测等模块,辅助模块海包含一些无须加载的攻击载荷,这些模块不用来取得目标系统远程控制权,如拒绝服务。
3.后渗透模块
用于取得目标系统远程控制权之后得环节,实现在受控制的系统中进行各种各样的后渗透攻击动作,如敏感信息,进一步拓展,实施跳板攻击。
4.攻击载荷模块
在渗透攻击成功后促进目标系统运行的一段植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接,攻击载荷分为Single(独立),Stager(传输器)和Stage(传输体)3种类型。
Single:是一种完全独立的Payload,使用简单,就像运行calc.exe一样简单,由于Single是完全独立的,因此他们有可能会被类似netcat这样的metasploit处理工具所捕获。
Stager:这种payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。
一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条TCP连接,让目标系统主动连接渗透测试者的端口(反向连接)。另一种常见的的bind_TCP,它可以让目标系统开启一个TCP监听器,而攻击者随时可以与目标系统进行通信(正向连接)。
Stage:是stager payload下的一种payload组件,这种payload可以提供更加高级的功能,而且没有大小限制
5.空指令模块
空指令是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令最典型的空指令就是空操作,在X86CPU体系结构平台上的操作码是ox90。
6.编码模块
攻击载荷与空指令模块组装完成一个指令序列后,在这段指令被渗透攻击模块加入恶意数据缓冲区交由目标系统运行之前,metaspliot还需要编码。
编码模块的主要作用由两个:第一,确保攻击载荷中不会出现“坏字符”,第二,是对攻击载荷进行“免杀”处理,即躲避反病毒软件,IDS入侵检测系统和IPS入侵防御系统的检测与拦截。
7.规避模块
规避模块是在metasploit5中心增加的,用户可以使用规避模块来规避Windows Defender防火墙,windows Defender现在是windows自带的防火墙工具,不仅可以扫描系统,还可以对系统进行实时监控。
8.插件
插件能够扩充框架的功能,或者封装已有功能构成高级功能的组件,可以用于集成一些现有的一些歪卜安全工具,如N二审诉讼,OpenVAS漏洞扫描等。
原文链接:https://blog.csdn.net/Kris__zhang/article/details/106885662