1. 简介

UAC (User Account Control) 是Windows的一个安全机制,当一些敏感操作发生时,会跳出提示显式要求系统权限。

当用户登陆Windows时,每个用户都会被授予一个access token,这个token中有security identifier (SID) 的信息,决定了用户的权限。

2. 会触发UAC的操作

  • 以管理员权限启动应用

  • 修改系统、UAC设置

  • 修改没有权限的文件或者目录( %SystemRoot% / %ProgramFiles% 等 )

  • 修改ACL (access control list)

  • 安装驱动

  • 增删账户,修改账户类型,激活来宾账户

3. 权限提升

权限提升有多重方式,有利用二进制漏洞、逻辑漏洞等技巧。利用二进制漏洞获取权限的方式是利用运行在内核态中的漏洞来执行代码。比如内核、驱动中的UAF或者其他类似的漏洞,以获得较高的权限。

逻辑漏洞主要是利用系统的一些逻辑存在问题的机制,比如有些文件夹用户可以写入,但是会以管理员权限启动。

3.1. 任意写文件利用

在Windows中用户可以写的敏感位置主要有以下这些

  • 用户自身的文件和目录,包括 AppData Temp

  • C:\ ,默认情况下用户可以写入

  • C:\ProgramData 的子目录,默认情况下用户可以创建文件夹、写入文件

  • C:\Windows\Temp 的子目录,默认情况下用户可以创建文件夹、写入文件

具体的ACL信息可用AccessChk, 或者PowerShell的 Get-Acl 命令查看。

可以利用对这些文件夹及其子目录的写权限,写入一些可能会被加载的dll,利用dll的加载执行来获取权限。

3.2. MOF

MOF是Windows系统的一个文件( c:/windows/system32/wbem/mof/nullevt.mof )叫做"托管对象格式",其作用是每隔五秒就会去监控进程创建和死亡。

当拥有文件上传的权限但是没有Shell时,可以上传定制的mof文件至相应的位置,一定时间后这个mof就会被执行。

一般会采用在mof中加入一段添加管理员用户的命令的vbs脚本,当执行后就拥有了新的管理员账户。

3.3. sethc

sethc.exe 是 Windows系统在用户按下五次shift后调用的粘滞键处理程序,当有写文件但是没有执行权限时,可以通过替换 sethc.exe 的方式留下后门,在密码输入页面输入五次shift即可获得权限。

3.4. 凭证窃取

    • mimikatz

    • wce

    • gsecdump

    • copypwd

    • Pwdump

    • Windows本地密码散列导出工具

    • L0phtCrack

    • SAMInside

    • Ophcrack

    • Windows本地密码破解工具

  • 彩虹表破解

  • 本机hash+明文抓取

  • win8+win2012明文抓取

  • ntds.dit的导出+QuarkPwDump读取分析

  • vssown.vbs + libesedb + NtdsXtract

  • ntdsdump

  • 利用powershell(DSInternals)分析hash

  • 使用 net use \\%computername% /u:%username% 重置密码尝试次数

Windows下UAC安全机制笔记相关推荐

  1. Windows下的日志机制

    对于日志,大部分人的想法应当和我起初的想法一致,只要写个函数,在这个函数中打开一个文件,把需要记录的事件信息写到这个文件中.然后在需要记录日志的地方调用这个函数. 但此时需要考虑的问题有很多,包括文件 ...

  2. windows下越狱iphone X笔记2

    之前写越狱iphoneX的笔记,那种方式已经失效,通过Unic0ver的方式也失效了,官方封了impactor,其中如果有mac os那方式还是很多的,使用checkra1n,如果没有mac,可以搭建 ...

  3. 在windows下安装ubuntu子系统笔记

    介绍了Microsoft Store 应用不可用时该如何处理 https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4-do ...

  4. Windows下x86和x64平台的Inline Hook介绍

    原文链接:https://blog.csdn.net/PeaZomboss/article/details/129095200?spm=1001.2014.3001.5501 前言 我在之前研究文明6 ...

  5. 如何在windows开启UAC(用户账号控制)的情况下优雅的管理程序的权限申请方案(一)

    问题起源: 简单的说就是在windows vista之前的windows系统,只要是管理员(比如Administrator)账户登录系统以后,该账户下的任何程序的启动权限都具有管理员权限:这个权限是很 ...

  6. windows下32位汇编语言学习笔记

    windows下32位汇编语言学习笔记 第一章  第一章 背景知识 80x86处理器的存储器 4个数据寄存器 EAX,EBX,ECX,EDX EAX寄存器 所有API函数的返回值都保存在EAX里,注意 ...

  7. 程序员的自我修养--链接、装载与库笔记:Windows下的动态链接

    Windows下的PE的动态链接与Linux下的ELF动态链接相比,有很多类似的地方,但也有很多不同的地方. 1. DLL简介 DLL即动态链接库(Dynamic-Link Library)的缩写,它 ...

  8. 学习笔记:Windows 下Keras安装和配置指南

    目录: 目录: Windows下Keras安装和配置指南 Keras 框架搭建 安装 本系列参考官方文档官方文档 这就是keras可以参考前篇:这就是keras 学习笔记 Keras:一些基本概念 一 ...

  9. 【学习笔记】在windows下进行基于TCP的本地客户端和服务端socket通信

    文章目录 socket介绍 java中使用socket 基于tcp的socket通信 使用ServerSocket类创建一个web服务器:(java) windows下的基于tcp的socket编程( ...

最新文章

  1. 微信小程序web-view使用
  2. 程序员持续成长,需要持久而痛苦的学习
  3. 在Vista操作系统中通过manifest文件使VC应用程序获得管理员权限
  4. 大数据WEB 部署项目到linux中
  5. 【疑】poj 2773 Happy 2006 互素问题(★★☆☆☆)
  6. 设计模式C++实现 ——观察者模式
  7. 从A页面跳转到B页面动态路由参数
  8. 程序员50题(JS版本)(二)
  9. 20130331java语言基础学习笔记-语句_breakcontinue
  10. SQL Server Join方式
  11. springboot cloud依赖关系
  12. JAVA描述汽车喇叭_描写车声音的词语
  13. matlab四面体网格分割,分割球面
  14. 归宿 - 写给无处安放的内心
  15. redis的消息队列(面试题)
  16. word-search
  17. springboot-莫名其妙的登录界面“Please sign in“
  18. 飞鸽传书源码分析-程序启动过程
  19. JavaScript时间换算单位
  20. laravel下视图间共享数据

热门文章

  1. 大华Global Shutter CMOS摄像机剖析
  2. HALCON示例程序measure_screw.hdev螺纹尺寸测量
  3. TCP/IP 协议簇的逐层封装
  4. C++STL总结笔记(二)——仿函数(函数对象)
  5. html设置百度协议,网站HTML结构SEO要求说明(含移动站)
  6. python怎么用lambda和map函数_Python之lambda匿名函数及map和filter的用法
  7. RC电路输出波形的时域与频域分析
  8. 命令点亮硬盘灯_macOS下移动硬盘无法挂载且硬盘灯一直闪烁的解决方法
  9. 几种经典的数据排序及其Java实现
  10. python FTP服务器实现(Python3)