- 浏览: 290936 次
-
文章分类
- 全部博客 (276)
- burp+hydra暴力破解 (1)
- kali linux工具集 (6)
- kali (59)
- linux (54)
- password (14)
- web (63)
- 渗透测试 (50)
- windows (40)
- metasploit (9)
- 信息收集 (32)
- burp suit (4)
- 安全审计 (9)
- https://github.com/secretsquirrel/the-backdoor-factory (0)
- nmap (4)
- arachni (2)
- 工具 (5)
- sql (3)
- 网络 (2)
- 后渗透测试 (10)
- 内网 (5)
- 无线 (2)
- C (3)
- bios (1)
- RoR (12)
- mongodb (1)
- linxu (1)
- gdb (1)
- linux,虚拟化 (1)
- python (4)
最新评论
原文地址:http://blog.cobaltstrike.com/2014/03/20/user-account-control-what-penetration-testers-should-know/
UAC是User Account Control缩写。通过UAC,可以用来提权(包含vista)。
本文聚焦Windows完整性级别和UAC提权。
进程完整性级别
vista和后来的系统中,进程有三种不同的完整性级别:高,中,低。一个高级别的进程拥有管理员权限。中级别进程是标准用户权限,而低级别进程的权限非常低。
低级别进程不可以写注册表以及在user文件夹中大多数地方被限制写操作。保护模式下的Internet Explorer以低权限运行。目的之用来降低当浏览器被漏洞利用的时候造成的损失。
大多数桌面程序以中权限运行,即使当前user是本地管理员。使用Process Explorer可以用来查看你的程序的权限级别。
UAC
为了提权,一个程序必须运行另一个程序并且要求更高的完整性级别。如果user是管理员,将会发生的事情取决于UAC设置。
Always Notify:为最高UAC设置。当任何程序运行时,即使是window自带的程序需要跟高的权限都会提示user。
Notify me only when programs try to make changes to my computer:默认UAC设置。使用该设置时,当一些Windows自带程序需要高权限时,不会提示user。但是当其他程序需要高权限时,会提示user。这个区别很重要,因为我们接下来说的绕过UAC就是这个级别。
Notify me only when programs try to make changes to my computer (do not dim my desktop):类似默认设置,除了user的桌面不会变暗当UAC提示弹出的时候。用于有些电脑缺乏变暗桌面的能力以及显示一个对话框。
Never notify:把我们带入旧社会(vista之前)。在Windows 7,如果一个user是管理员,他的所有程序都会以最高权限运行。在Windows 8,程序以中级别权限运行,但是管理员运行的任何程序希望获得更高权限的时候,都会获得高权限而不提示user。
如果user不是管理员运行一个需要高权限的程序,那么他们将会看到一个对话框需要一个高权限的username和password。如果UAC设置为Never Notify,系统将会自动拒绝高权限的请求。
Who Am I?
当从客户端获得一个立足点之后,我通常需要立即解答几个问题。首先我想知道我现在代表哪个user执行程序。其次,我想知道我的权限。而UAC使事情变得更加复杂。
一种可以知道我的身份的方法是Windows命令whoami /groups该命令会显示当前user属于的组。
该命令同时也显示我的命令以什么级别完整性运行。如果我们的命令是一个是一个高权限上下文,那么我将看到Mandatory Label\High Mandatory Level,这意味着我有管理员权限。
如果如果命令是在中等权限中运行,那么我将看到Mandatory Label\Medium Mandatory Level,这意味着我有一个标准user权限
RunAs
如果被一个中等进程完整级别的运行,但是该user属于管理员组,可以潜在的从标准user权限提升到管理员权限。一个选择是运行ShellExecute函数指定runas参数。将会运行一个程序然后请求高权限。
如果UAC被设为除了Never Notify以外的其他值,user将会看到一个提示窗口来问user是否允许动作发生。
metasploit框架的exploit/windows/local/ask模块实现这种攻击。确保你设置的EXE::Custom可以绕过杀毒软件。
如果user接收提示,系统将会以高权限运行我的程序。记住,中权限是系统标准user的权限,而高权限是管理员权限也是我们的目标。
绕过UAC
RunAs选项提示user,并且可能被user发现。我们需要一种没有提示就可以获得高级别的方法。
exploit/windows/local/bypassuac模块可以实现。
绕过UAC需要user设为默认值Notify me only when programs try to make changes to my computer。如果UAC被设为Always Notify,这个攻击将不会有效。同时要求我们的user是管理员组的一员。
绕过UAC:如何工作
UAC首先从COM开始说起。COM是一种可以重复利用的写组件方法。当运行一个带有Windows签名证书的程序时,一些COM组件可以自动提升它们成为高级别。如果相同的组件被一个没有签名证书的程序运行时,它会有和当前程序一样的级别。
我不能在一个高级别上下文中创建一个COM object因为我的程序没有微软的证书。但是我可以衍生微软签名的程序(例如notepad.ext)然后注入dll。从这个dll中,我可以实例化一个我指定的自我提权的COM object。
Leo的绕过UAC攻击创建一个IFileOperation COM object实例。该object有copy/delete文件的方法。从一个高级别的上下文中运行,该object运行我们进行以高级别权限copy文件到任何位置。
然后我们需要从文件copy到以高级别权限执行代码。在此之前,我们需要讨论Windows 7的另一个缺陷。
当默认UAC设定时,当一些Windows自带程序需要提权时,不会弹出提示。换句话说,这意味着一些Windows自带程序运行在高级别上下文。
这些自动提权的程序有一个特点,他们有微软的签名证书。他们位于一个安全的文件夹下(例如c:\windows\system32),他们都含有autoElevate证书。
我们可以使用strings来查看autoElevate。
现在我们知道可以自动提权的程序以及我们拥有了copy任意文件的能力。我们通过DLL搜索顺序注入攻击来进行代码执行。公共的绕过UAC攻击是copy一个CRYPTBASE.dll文件到c:\windows\system32\sysprep文件夹,然后运行c:\windows\system32\sysprep.exe。当sysprep.exe运行时它会查找CRYPTBASE.dll,并且先会找到恶意代码库。
因为sysprep.exe自动运行在高级别(当UAC设置为默认值时),攻击者控制的CRYPTBASE.dll也会在高级别权限中运行。
可以使用exploit/windows/local/bypassuac_inject模块进行dll注入
绕过Windows 8UAC
leo的metasploit模块不适合Windows 8,但是可以尝试使用Beacon的UAC命令
http://www.advancedpentest.com/help-beacon
UAC是User Account Control缩写。通过UAC,可以用来提权(包含vista)。
本文聚焦Windows完整性级别和UAC提权。
进程完整性级别
vista和后来的系统中,进程有三种不同的完整性级别:高,中,低。一个高级别的进程拥有管理员权限。中级别进程是标准用户权限,而低级别进程的权限非常低。
低级别进程不可以写注册表以及在user文件夹中大多数地方被限制写操作。保护模式下的Internet Explorer以低权限运行。目的之用来降低当浏览器被漏洞利用的时候造成的损失。
大多数桌面程序以中权限运行,即使当前user是本地管理员。使用Process Explorer可以用来查看你的程序的权限级别。

UAC
为了提权,一个程序必须运行另一个程序并且要求更高的完整性级别。如果user是管理员,将会发生的事情取决于UAC设置。
Always Notify:为最高UAC设置。当任何程序运行时,即使是window自带的程序需要跟高的权限都会提示user。
Notify me only when programs try to make changes to my computer:默认UAC设置。使用该设置时,当一些Windows自带程序需要高权限时,不会提示user。但是当其他程序需要高权限时,会提示user。这个区别很重要,因为我们接下来说的绕过UAC就是这个级别。
Notify me only when programs try to make changes to my computer (do not dim my desktop):类似默认设置,除了user的桌面不会变暗当UAC提示弹出的时候。用于有些电脑缺乏变暗桌面的能力以及显示一个对话框。
Never notify:把我们带入旧社会(vista之前)。在Windows 7,如果一个user是管理员,他的所有程序都会以最高权限运行。在Windows 8,程序以中级别权限运行,但是管理员运行的任何程序希望获得更高权限的时候,都会获得高权限而不提示user。
如果user不是管理员运行一个需要高权限的程序,那么他们将会看到一个对话框需要一个高权限的username和password。如果UAC设置为Never Notify,系统将会自动拒绝高权限的请求。
Who Am I?
当从客户端获得一个立足点之后,我通常需要立即解答几个问题。首先我想知道我现在代表哪个user执行程序。其次,我想知道我的权限。而UAC使事情变得更加复杂。
一种可以知道我的身份的方法是Windows命令whoami /groups该命令会显示当前user属于的组。
该命令同时也显示我的命令以什么级别完整性运行。如果我们的命令是一个是一个高权限上下文,那么我将看到Mandatory Label\High Mandatory Level,这意味着我有管理员权限。

如果如果命令是在中等权限中运行,那么我将看到Mandatory Label\Medium Mandatory Level,这意味着我有一个标准user权限

RunAs
如果被一个中等进程完整级别的运行,但是该user属于管理员组,可以潜在的从标准user权限提升到管理员权限。一个选择是运行ShellExecute函数指定runas参数。将会运行一个程序然后请求高权限。
如果UAC被设为除了Never Notify以外的其他值,user将会看到一个提示窗口来问user是否允许动作发生。
metasploit框架的exploit/windows/local/ask模块实现这种攻击。确保你设置的EXE::Custom可以绕过杀毒软件。

如果user接收提示,系统将会以高权限运行我的程序。记住,中权限是系统标准user的权限,而高权限是管理员权限也是我们的目标。
绕过UAC
RunAs选项提示user,并且可能被user发现。我们需要一种没有提示就可以获得高级别的方法。
exploit/windows/local/bypassuac模块可以实现。
绕过UAC需要user设为默认值Notify me only when programs try to make changes to my computer。如果UAC被设为Always Notify,这个攻击将不会有效。同时要求我们的user是管理员组的一员。
绕过UAC:如何工作
UAC首先从COM开始说起。COM是一种可以重复利用的写组件方法。当运行一个带有Windows签名证书的程序时,一些COM组件可以自动提升它们成为高级别。如果相同的组件被一个没有签名证书的程序运行时,它会有和当前程序一样的级别。
我不能在一个高级别上下文中创建一个COM object因为我的程序没有微软的证书。但是我可以衍生微软签名的程序(例如notepad.ext)然后注入dll。从这个dll中,我可以实例化一个我指定的自我提权的COM object。
Leo的绕过UAC攻击创建一个IFileOperation COM object实例。该object有copy/delete文件的方法。从一个高级别的上下文中运行,该object运行我们进行以高级别权限copy文件到任何位置。
然后我们需要从文件copy到以高级别权限执行代码。在此之前,我们需要讨论Windows 7的另一个缺陷。
当默认UAC设定时,当一些Windows自带程序需要提权时,不会弹出提示。换句话说,这意味着一些Windows自带程序运行在高级别上下文。
这些自动提权的程序有一个特点,他们有微软的签名证书。他们位于一个安全的文件夹下(例如c:\windows\system32),他们都含有autoElevate证书。
我们可以使用strings来查看autoElevate。
引用
cd c:\windows\
strings –s *.exe | findstr /i autoelevate
strings –s *.exe | findstr /i autoelevate
现在我们知道可以自动提权的程序以及我们拥有了copy任意文件的能力。我们通过DLL搜索顺序注入攻击来进行代码执行。公共的绕过UAC攻击是copy一个CRYPTBASE.dll文件到c:\windows\system32\sysprep文件夹,然后运行c:\windows\system32\sysprep.exe。当sysprep.exe运行时它会查找CRYPTBASE.dll,并且先会找到恶意代码库。
因为sysprep.exe自动运行在高级别(当UAC设置为默认值时),攻击者控制的CRYPTBASE.dll也会在高级别权限中运行。
可以使用exploit/windows/local/bypassuac_inject模块进行dll注入
绕过Windows 8UAC
leo的metasploit模块不适合Windows 8,但是可以尝试使用Beacon的UAC命令
http://www.advancedpentest.com/help-beacon
发表评论
-
[图] windows 10
2015-08-18 20:37 314网上下载的图片,忘了来源 -
windows提权集合
2015-06-30 00:23 602https://blog.netspi.com/5-ways- ... -
[转]Access to every PC and become local Admin
2015-06-29 21:50 535原文地址:http://www.gosecure.it/blo ... -
[转]Top Five Ways SpiderLabs Got Domain Admin on Your Internal Network
2015-06-29 21:46 1682原文地址:https://www.trustwave.com/ ... -
[转]如何获得window管理员权限
2015-06-29 21:21 482引用A tutorial on how to get into ... -
Window提权基本步骤
2015-06-03 22:00 784原文地址: http://www.fuzzysecurity. ... -
[转]malware persistence
2015-05-06 23:46 414原文地址:http://jumpespjump.blogspo ... -
[转]backdoor a windows domain
2015-05-06 22:56 505原文地址:http://jumpespjump.blogspo ... -
[译]解密MSSQL密码
2015-03-26 00:43 2886原文地址: https://blog.ne ... -
[转]badsamba
2015-03-20 00:55 331原文地址:http://blog.gdssecurity.co ... -
window增加硬盘性能方法
2015-02-05 01:03 357参考地址:http://way2h.blogspot.com/ ... -
[译]Skeleton Key Malware & Mimikatz
2015-01-28 20:29 813原文地址: http://adsecurity.org/?p= ... -
绕过PowerShell执行策略的15种方法
2015-01-28 02:27 999https://blog.netspi.com/15-ways ... -
[译]Veil-Pillage
2015-01-23 03:09 850原文地址:http://resources.infosecin ... -
[翻译]oledump: Extracting Embedded EXE From DOC
2015-01-04 22:40 950原文地址:http://blog.didierstevens. ... -
[工具]volatility----Windows内存取证
2015-01-04 22:01 1549下载地址:https://github.com/volatil ... -
[译]Windows提权:ahcache.sys/NtApphelpCacheControl
2015-01-03 21:12 1034原文地址:https://code.google.com/p/ ... -
[译]使用Volatility从memory dump获得密码
2014-12-30 12:27 3829原文地址:https://cyberarms.wordpres ... -
vmss2core将VMware镜像转换成memory dump
2014-12-26 23:59 0参考:http://kb.vmware.com/selfser ... -
Windows工具集
2014-12-25 00:54 540参考:https://community.rapid7.com ...
相关推荐
总结来说,PyInstaller的`--uac-admin`选项在打包单文件exe时可能需要额外的步骤才能正确生效。通过手动处理`.manifest`文件并将其作为资源嵌入,我们可以确保打包的exe文件具备所需的管理员权限提示。这个方法不仅...
`PyInstaller`提供了`--uac-admin`选项来实现这一需求,但在某些情况下,这个选项可能不生效。 标题所提及的问题是,当使用`PyInstaller`以单文件模式(-F)打包Python脚本时,`--uac-admin`选项未能在生成的exe...
标题中的“byeintegrity-uac-master_exp_UAC_advanced_vc++_win7/win8_”似乎是一个项目或软件的名称,暗示我们正在处理一个与Windows操作系统用户账户控制(User Account Control, UAC)相关的高级安全研究或者开发...
EDIMAX EW-7611UCB EW-7822UAC EW-7833UAC等USB无线网卡(12款)LINUX系统驱动: 型号如下: EW-7611UCB EW-7611ULB EW-7811DAC EW-7811UAC EW-7811UN EW-7811UN V2 EW-7811UTC EW-7822UAC EW-7822UAN EW-7822ULC EW...
标题中的"VB-UAC-BYPASS.rar"是一个与VB(Visual Basic)编程语言相关的压缩文件,专门用于绕过Windows操作系统的用户账户控制(User Account Control, 简称UAC)。UAC是Windows的一项安全特性,旨在防止未经授权的...
在"uac-acesso-web-master"这个项目中,我们可以预期找到与这些概念相关的代码和配置,包括用户模型、中间件、路由定义以及可能的角色和权限管理。通过深入研究这个项目,你可以进一步理解如何在实践中应用这些概念...
总之,"exosip-uac-uas-demo_for_VC7"是一个针对VC7平台的项目,其目的是展示如何在该环境中编译Exosip2和Osip2,并实现SIP协议的客户端和服务器端DEMO程序。这个项目对于理解和实践VoIP技术,特别是SIP协议的实现...
直接通过sipp进行压力测试,下载这个包就可以进行sip压力测试了,不需要安装其他依赖
在这个“渗透测试培训介绍”的视频中,我们可能会了解到关于这个领域的核心概念、工具和技术。 首先,视频可能涵盖了渗透测试的基本流程,包括信息收集、漏洞扫描、漏洞利用、权限提升、维持访问和清理痕迹等阶段。...
### 向日葵软件在渗透测试中的应用 #### 一、向日葵软件简介 向日葵是一款功能全面且操作简便的远程控制软件,适用于多种操作系统(如Windows、Linux、MacOS、Android以及iOS),其核心特性包括但不限于远程桌面...
用户可能需要解压并运行程序来亲自测试UAC的行为,或者查看源代码了解实现细节。 总的来说,这个项目涉及到了Windows 7的安全机制,特别是用户账户控制,以及如何通过编程和资源管理来测试这一功能。对于那些希望...
EDIMA系列网卡MaC驱动EW-7611UCB 7822UAC 7833UAC系列USB无线网卡苹果MAC驱动,支持型号如下: EW-7611UCB EW-7611ULB EW-7811DAC EW-7811UAC EW-7811UN EW-7811UN V2 EW-7811UTC EW-7822UAC EW-7822UAN EW-7822ULC ...
UAC-公共银行-回购
了解和正确实施UAC自我提升对于开发Windows桌面应用程序至关重要,它既能保证程序的功能完整性,又能保护用户的系统安全。开发者在设计和实现这个功能时,需要充分理解UAC的工作原理,确保程序在不同权限级别下的...
UAC状态:关闭 192.168.88.58 (00:00:00:80:CB:E5) 192.168.198.1 (00:50:56:C0:00:08) 192.168.164.1 (00:50:56:C0:00:01) -------------------------------------------------------------- 是否具有管理员权限:1 -...
5. **网卡抓包**:可能是指该驱动程序包含网络数据包捕获功能,这对于网络故障排查、网络安全分析或性能测试很有用。 6. **8812AU芯片**:这是网卡内部使用的主控芯片型号,由Realtek公司生产,专门用于无线网络设备...
1. **获取驱动源码**:首先,你需要找到适用于你当前Linux发行版的7822UAC驱动源码。这通常可以从制造商的官方网站或者开源社区如GitHub上下载。 2. **编译内核模块**:在获得源码后,需要在Linux终端中进行编译。...
一键Win7关闭windows firewall-Defender-Tablet pc-UAC服务
"uac-launchinf-poc:Windows 10 UAC使用LaunchInfSection绕过PoC" 这个标题提到了一个安全漏洞利用技术,主要针对Windows 10系统的用户账户控制(User Account Control,简称UAC)。"LaunchInfSection"是该漏洞利用...