`

[译]Windows提权:ahcache.sys/NtApphelpCacheControl

 
阅读更多
原文地址:https://code.google.com/p/google-security-research/issues/detail?id=118

平台:Windows 8.1 Update 32/64 bit(其他版本未测试)
Windows8更新的系统函数NtApphelpCacheControl(位于ahcache.sys)当新进程创建时允许缓存程序通用数据来达到快速重复使用的目的。普通用户可以查询缓存但是不能添加缓存实体,因为这个操作被限制为管理员权限。这是通过AhcVerifyAdminContext函数检查的。
但是该函数存在漏洞--它不正确检查调用者的伪装token来确定用户是否是管理员。它使用PsReferenceImpersonationToken函数读取调用者的伪装token,然后比较token中的user SID和LocalSystem的SID。它不检查token的伪装级别所以可以从本地系统进程中获得一个token来绕过检查。本PoC使用BITS服务和COM来获得伪装token,但是仍有可能存在其他办法来绕过。
在PoC中,创建一个缓存实体来进行UAC自动提权可执行文件(omputerDefaults.exe)。然后把缓存指向regsvr32的app compat实体,用来强制RedirectExe shim来重载regsvr32.exe。然而,可以使用任何可执行文件,技巧是找到一个合适的预存在的app compat配置。

[url]步骤:
1. 把AppCompatCache.exe和Testdll.dll放到磁盘
2. 确保使用了UAC,当前user是一个split-token admin,UAC设置为默认设置
3. 在命令行中运行AppCompatCache.exe c:\windows\system32\ComputerDefaults.exe testdll.dll
4. 如果成功,那么将会出现一个以管理员权限运行的计算器。否则,重新运行步骤三,有时第一次运行的时候会出现caching/timing问题[/url]

AppCompat介绍:http://technet.microsoft.com/en-us/library/cc728440%28v=ws.10%29.aspx
split-token admin:http://michaelkleef.blogspot.com/2011/09/understanding-whats-in-user-token.html
split-token admin:概要的说,即使你是管理员,你也只能访问部分权限。
分享到:
评论

相关推荐

    golang.org/x/sys/windows

    golang.org/x/sys/windows

    win10 null.sys 文件 fatal:open /dev/null or dup failed: No such file or directory

    win10安装git报错 fatal:open /dev/null or dup failed: No such file or directory错误,将该文件复制到C:\Windows\System32\drivers 替换掉原有的null.sys文件重启即可

    量产自动加载USB-CD驱动

    device=himem.sys /testmem:off devicehigh=ramfd.sys DEVICEHIGH=QCDROM.SYS /D:PATACD01 DEVICEHIGH=GCDROM.SYS /D:SATACD01 /C0 DEVICEHIGH=GCDROM.SYS /D:SATACD02 /C1 DEVICEHIGH=GCDROM.SYS /D:SATACD03 /C2 ...

    程序员需要经常刷题吗-glide:https://github.com/Masterminds/glide

    修复错误:Windows 操作系统无法将依赖项导出到供应商目录。 修复镜像导出子包到供应商目录错误。 错误 1 修复错误:Windows 操作系统无法将依赖项导出到供应商目录。 因为获取包后的 Windows 文件系统权限将无法...

    win10的sermouse.sys与serial.sys文件.rar

    sermouse.sys和serial.sys是Windows 10系统中两个关键的驱动程序文件,它们分别对应鼠标串行端口(Serial Mouse)和串行端口(Serial)驱动。这两个驱动文件位于C:\Windows\System32\Drivers目录下,负责管理系统的...

    ORA-29541: class SYS.oracle/jpub/runtime/dbws/DbwsProxy could not be resolved

    NULL 博文链接:https://lyh7609.iteye.com/blog/516672

    Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞

    Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞 Windows XP 核心驱动 secdrv.sys 本地权限提升漏洞是一种本地溢出漏洞,发生在驱动程序“secdrv.sys”的 IRP_MJ_DEVICE_CONTROL 例程中,由于缺少必要的对必要的...

    适用于Java,kotlin的mastodon客户端https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md-Android开发

    官方API文档https://github.com/tootsuite/documentation/blob/master/Using-the-API/API.md示例应用程序Android应用程序https://github.com/sys1yagi/DroiDon入门Mastodon4j在jitpack中发布。 将其添加到存储库末尾...

    sys/**. h sys文件夹里面的头文件

    在这个压缩包中,我们关注的是"sys"文件夹内的头文件,如`socket.h`, `uio.h`, `types.h`, `cdefs.h`, `fcntl.h`, `file.h`, `locking.h`, `param.h`, 和 `.utime.h`等。这些头文件都是GNU C Library的一部分,为...

    sys/**.h sys文件夹里面的头文件

    标题中的"sys/**.h sys文件夹里面的头文件"提到了一系列位于sys文件夹内的头文件,这通常是操作系统内核的一部分,用于提供编程接口给开发者。描述中列举了一些具体的头文件,如`socket.h`, `uio.h`, `types.h`, `...

    Windows XP系统自动安装的方法.docx

    - 在软盘中创建`Config.sys`文件,添加命令行`device=C:windowshimem.sys`以加载Windows系统信息文件himem.sys。 - 创建`Autoexec.bat`文件,输入命令行`C:windowssmartdrv.exe`及`X:i386winnt/u:i386UNATTEND.TXT...

    rxtx-2.2pre2.zip

    2. 修改 vim /usr/local/rxtx/rxtx-2.2pre2/./src/RawImp.c 中把#include <sys/io.h> 改成 #include <sys/uio.h> 3. 在/usr/include/linux/version.h 文件中添加 #define UTS_RELEASE "4.9.201-tegra" 其中 4.9.201-...

    ser2pl64.sys是电脑重要系统文件,主要用于串口转USB,描述:USB-to-Serial Cable Driver

    ser2pl64.sys是电脑重要系统文件,字面意思就是64位的串口Pl驱动系统配置文件,如果你的电脑安装PL2303等问题弹出”非旺玖原装的PL2303,请联系您的供货商“或者出现提示信息”ser2pl64.sys丢失“或者“ser2pl64.sys...

    fatal: open /dev/null or dup failed: No such file or directory

    win10专业版,在命令行使用git的时候出现此报错,或者...在别的win10专业版上的电脑上拷贝C:\Windows\System32\drivers文件夹中的null.sys文件到覆盖到相应目录下的相应文件,即可完美解决此问题 ,下载解压到对应文件

    golang.org开发包sys包

    例如,对于不同的操作系统(如Linux、Windows、macOS等)和处理器架构(如x86、AMD64、ARM等),`sys`包会提供相应的系统调用实现。 5. **系统信息获取**:`sys`包提供了获取系统信息的方法,比如系统版本、CPU信息...

    fatal: open /dev/null or dup failed: No such file or directory 修复

    使用git Bash here闪退并生成mintty.exe.stackdump文件 cmd使用git 报错 fatal:open /dev/null or dup failed: No such file or directory 并弹出mitty.dump文件 使用方法见我的CSDN

    win10专业版 null.sys

    在Windows 10专业版操作系统中,安装Git时遇到找不到`/dev/null`的问题,这通常是由于Windows与Unix/Linux系统之间文件系统结构的差异引起的。`/dev/null`在Linux和Unix-like系统中是一个特殊设备文件,它用于丢弃...

    sogou_toolchain.tar.gz

    arm-openwrt-linux-g++ -c record.c -I./include -o ./obj/record.o In file included from ./include/alsa/asoundlib.h:32:0, from record.c:13: /home/rootroot/sogou/toolchain/include/sys/poll.h:1:2: warning...

    修复win10闪退 null.sys null.zip

    标题 "修复win10闪退 null.sys" 描述的是一个针对Windows 10系统中Git闪退问题的解决方案。在Windows 10操作系统中,有时用户可能会遇到Git客户端或者其他应用程序因null.sys驱动程序问题而异常退出的情况。这个问题...

    golang.org.zip

    lint net sys text time tools 解决依赖报错! go语言 下载依赖 package golang.org/x/net/http2/hpack: unrecognized import path "golang.org/x/net/http2/hpack" (https fetch: Get ...

Global site tag (gtag.js) - Google Analytics