走进渗透测试利器—Metasploit【提高篇】

发布时间: 2018-01-12      作者:并擎科技

通过阅读 走近渗透测试利器—Metasploit【基础篇】介绍篇之后,我们对Metasploit有了初步认知,本篇将引导大家进一步学习其模块化的结构。

M

总体来说,Metasploit的设计具有以下特点:

  • 采用模块化的理念

  • 在原有基础库的基础上,提供核心框架功能的支持

  • 实现渗透测试功能的主体代码以模块化方式组织,按照不同用途分为6种类型模块

  • 为了扩充其框架对渗透测试全过程的支持功能特性,metasploit还引入了插件机制,支持将外部的安全工具集成到框架中

  • metasploit框架通过集成模块和插件实现渗透测试功能

  • 渗透测试员通过用户接口和功能程序进行使用

Metasploit的模块是通过框架装载和集成实现渗透测试功能的代码,其中包括渗透攻击模块(Exploits)、辅助模块(Aux)、攻击载荷模块(payloads)、空指令模块(Nops) 、编码器模块(Encoders) 、后渗透攻击模块(Post)。这些模块拥有非常清晰的结构和一个预设好的接口,并可以组合支持信息收集、渗透攻击与后渗透攻击拓展。


一. 渗透攻击模块(exploit):

利用发现的安全漏洞或配置弱点对远程目标系统进行攻击的代码,按照利用的安全漏洞所在位置不同分为主动渗透攻击和被动渗透攻击。

(1)主动渗透模块(服务端渗透)

主动渗透攻击所利用的安全漏洞位于网络服务端软件与服务承载的上层应用程序之中,由于这些服务通常是在主机上开启一些监听端口并等待客户端连接,因此针对它们的渗透攻击就可以主动发起,通过连接目标系统网络服务,注入一些特殊构造的包含“邪恶”攻击数据的网络请求内容,触发安全漏洞,并使得远程服务进程执行在“邪恶”数据中包含的攻击载荷,从而获取目标系统的控制会话。

(2)被动渗透模块(客户端渗透)

被动渗透攻击与主动渗透攻击有个显著不同的标识,就是攻击者向用户主机发送的恶意数据不会直接导致用户系统中的服务进程溢出,而是需要结合一些社会工程学技巧,诱使客户端用户去访问这些恶意数据,间接发生攻击。

Exploit模块


二. 辅助模块(Aux):

实现信息收集及口令猜测、Dos攻击等无法直接取得服务器权限的攻击。

Auxiliary模块


三. 攻击载荷模块(payload):

攻击载荷是在渗透攻击成功后促使目标系统运行的一段植入代码 。

Payload模块


四. 空指令模块(Nop):

空指令(NOP)是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令。最典型的空指令就是空操作,在X86 CPU体系结构平台上的操作码是ox90. 在渗透攻击构造邪恶数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区,这样当触发渗透攻击后跳转执行ShellCode时,有一个较大的安全着陆区,从而避免受到内存 地址随机化、返回地址计算偏差等原因造成的ShellCode执行失败,提高渗透攻击的可靠性。

Nops模块


五. 编码器模块(encode):

攻击载荷与空指令模块组装完成一个指令序列后,在这段指令被渗透攻击模块加入邪恶数据 缓冲区交由目标系统运行之前,Metasploit框架还需要完成一道非常重要的工序--编码。 编码模块的个使命是确保攻击载荷中不会出现渗透攻击过程中应加以避免的”坏字符“。 编码器第二个使命是对攻击载荷进行”免杀“处理,即逃避反病毒软件、IDS入侵检测系统和 IPS入侵防御系统的检测与阻断。

Encoders模块


六. 后渗透模块(post):

用于维持访问。接口:msfconsole (最常见)、msfcli(新版本已取消)、msfgui(图形化界面)等。功能程序:msfconsole主框架可实现渗透全过程(信息收集、渗透、维持访问)。msfvenom(融合了msfpayload、msfencode 的所有功能)、msfpayload(新版本已取消)、msfencode(新版取消) 可将攻击载荷封装成各种形式(exe、PHP、Java、apk、C、Python…功能很强大)。msf*scan(msfelfscan、msfpescan、msfbinscan、msfmachscan)提供了在PE、ELF等各种类型文件中搜索特定指令的功能,可以帮助渗透代码开发人员定位指令地址。

Post模块


各模块的可使用攻击方法很多,进行合理的搭配组合就可以做到很多渗透测试目的。这是一个新手就可以尝试的工具,但是友情提醒,禁止做威胁公共安全的事哇。

了解了这么多的关于Metasploit的基础知识,你是否已经对渗透测试充满兴趣并准备大展身手呢,可是渗透测试并不是你想象中那么容易,那么是否有这样的产品能在降低工程师的技术要求的同时又能更有效率的实施渗透测试工作呢?那就是大名鼎鼎的Metasploit Enterprise啦。

Metasploit Enterprise在渗透测试过程中帮您管理数据并实现工作流程自动化:

1) 大型项目的数据管理

  • Metasploit Pro 可以支持超过1,000台主机

  • 注释、标记、排序、分组和查找

2) 作出决定, Metasploit自动执行

  • 自动向导: 标准工作流, 例如. 快速渗透测试,Web app测试,钓鱼攻击模拟测试 

  • 任务流程: 自定义工作流, 例如. 你喜欢一个特定的“开场动作”

  • Metaspliot多种组件: 离散性任务, 例如. 在一个网络中针对所有服务测试同一个授权

Metasploit Enterprise

3) 自动配置躲过Anti-Virus, Bypass Firewalls, 然后掌握全局

  • 通过动态更换Payloads规避anti-virus解决方案

  • 默认可以规避top 10 AV 解决方案

  • 分段编码或者控制传输层传输从而通过IPS检测

  • 通过VPN技术绕过firewall

  • 通过被控制的主机访问所有本地网络

  • 控制被渗透的主机

  • 当session建立,可以从过去200多种成功的攻击方式中选择,进而控制主机




关于 Metasploit(Rapid7产品之一):

Rapid7 是全球率先的信息安全风险解决方案提供商,旗下有三款产品用于漏洞管理、渗透测试和应用漏洞扫描,分别是Nexpose(业界率先漏洞管理平台)、Metasploit(自动化渗透测试平台)、AppSpider(应用评估利器)。Metasploit 是一款开源的安全渗透测试框架(也是事实上的行业标准),可以帮助信息安全人员识别安全问题,验证漏洞的防御措施,提供“威胁驱动”的安全风险情报。使用Metasploit模拟可控的攻击测试您网络的防护能力,您可以率先于恶意攻击者采取必要的动作。现在来尝试免费的Metasploit:www.metasploit.com


关于 Binqsoft(上海并擎科技):

上海并擎软件科技有限公司 (简称“并擎科技”)是一家深耕于信息安全领域,提供相关解决方案及技术服务的高新技术企业。并擎科技凭借丰富的解决方案、专业的服务团队、众多的行业案例、深入的厂商合作以及全国范围内的服务支持能力等综合优势,已向国内外众多知名企业提供了优质解决方案和专业技术服务。我们的客户包括百度、京东、安邦保险集团、德勤、中国银联、新开发银行、中国航油、中国商飞、中国东方航空、上海浦发集团、上海浦开集团、吉利汽车、汇众汽车、南京银行、苏州银行、交银租赁、中交三航院、通联支付、汽车之家、饿了么、美特斯邦威、德邦物流、益学堂、普洛斯等。我们的合作伙伴包括Microsoft、Fortinet、Rapid7、Barracuda、Imperva、CyberArk、Checkmarx、Radware等业界率先品牌。