关于bypassUAC

什么是UAC?

UAC:用户账户控制是一种常见的安全机制,旨在防止未经授权的程序对计算机系统进行恶意操作。例如当你要以管理员的身份运行一个exe程序的时候,他会弹出一个窗口,这就是UAC。

什么是bypassUAC?

BypassUAC是一种技术手段,旨在绕过用户账户控制,使未经授权的程序能够获取系统权限。通过BypassUAC,黑客可以绕过UAC的弹窗提示,直接以管理员权限运行程序,从而实施恶意行为。

什么时候会用到bypassuac?

1. 提权的时候,直接提升为管理员权限

2. 在使用猕猴桃抓取密码的时候需要管理员权限运行

3. 在钓鱼时,有的木马需要管理员权限运行但是又不要弹窗则需要管理员权限运行

接下来讲解几种绕过UAC的方法:

UAC白名单程序替换

原理:注册表中的一些程序,在运行时,由于被加入白名单了,这些程序要么本身具有管理员权限,要么可以直接获取管理员权限,那么可以点击运行后静默为管理员权限,不需要弹出uac的窗口,那么攻击者可以通过修改注册表中的这些uac白名单的程序,将其换成一个恶意的程序那么即可管理员权限运行绕过uac认证

什么是白名单程序?

举例

例如eventvwr.exe 他是一个uac白名单程序,他在注册表中是这样的

那么如果把“数据”这一值的路径更改为恶意程序、shell那么即可以管理员权限运行了。

如何判断一个程序是否为白名单程序呢?

可以通过微软自带的sigcheck来判断

执行sigcheck.exe /accepteula -m C:\Windows\System32\eventvwr.exe即可查看eventvwr.exe的autoElevate的值是否为true

DLL劫持

原理:DLL劫持同样与一些白名单程序有关,这些白名单程序通常情况下可能不是一个完整可执行文件,他们在运行时,会加载一些dll模块,而这些dll模块存放的位置是不同的,在加载这些模块时,如果这些dll模块没有指定的绝对路径,那么系统就会按照一定的路径去寻找这个模块,路径如下:程序安装目录 --> 系统目录(c:\windows\System32) --> 16位系统目录(c:\windows\system) --> windows目录(c:\windows) --> 当前工作目录 --> PATH环境变量中的目录路径。假如一个正常的dll模块他是在windows目录(c:\windows),那么攻击者在系统目录下面写入一个恶意的dll模块,且名字与正常的dll模块是相同的,那么就会去加载那个恶意的dll模块,又因为是白名单程序,故在运行时,就直接是管理员权限不需要弹出uac窗口。但是这个方法有一个缺陷就是你要向那些顺序靠前的目录写入文件,那么你就必须要有写入文件的权限。以上就是DLL劫持致bypassUAC的原理。

当然微弱对对于DLL劫持也做出了一些防护,微软将一些容易被劫持的系统DLL写进了一个注册表项中,那么凡是此项下的DLL文件就会被禁止从EXE自身所在的目录下调用,而只能从系统目录即SYSTEM32目录下调用。那么要进行DLL劫持就需要寻找不在注册项中的dll进行劫持

要寻找可以劫持的dll就可以选择一个白名单程序,然后利用火绒剑或是Process Explorer查看该程序加载的dll 再排除KnownDLL中的dll,把剩下的用作劫持dll

关于DLL劫持还有一个需要注意的,当你劫持了一个DLL之后,那么原先的程序就不能正常运行了,甚至可能会损坏系统,为了防止这种事故发生,一般会在恶意的dll中去加载真正的dll,这样就不会影响程序的正常运行了。

COM组件劫持

COM组件:COM(Component Object Model)组件是一种用于创建可重用的软件组件的技术。它是微软公司提出的一种软件架构,用于在不同的应用程序之间进行交互和通信。COM组件可以被多个应用程序共享和重用。COM组件可以是以二进制形式存在的动态链接库(DLL),也可以是以二进制形式存在的可执行文件(EXE),也可以是.com文件、二进制PE文件、进程(虽然原理与DLL劫持类似但是劫持的文件类型不止DLL)

CLSID:CLSID(Class Identifier)是一个用于唯一标识COM组件的标识符。每个COM组件都有一个唯一的CLSID,用于在系统中定位和识别该组件。即windows系统对于不同的应用程序,文件类型,OLE对象,特殊文件夹以及各种系组件分配的一个唯一表示他的ID代码

COM组件加载顺序为

1.HKCU\Software\Classes\CLSID

2.HKCR\CLSID

3.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\shellCompatibility\Objects\

原理:通过修改注册表中的CLSID的键值,改为一个恶意程序的路径即可达到COM劫持,原理与DLL劫持类似只是劫持的文件不仅仅是DLL

使用工具一把梭

MSF的bypassUAC模块

Akagi64/Akagi32

UACME

Yuubari

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值