利用Windows RpcSs服务进行提权

简介: 利用Windows RpcSs服务进行提权


0x01 前言

这种提权方式在2020年8-9月时@sailay1996在他的Github就放出了EXP,当时测试这个EXP时发现只能用于本地测试,无法在实战场景中应用(能力有限,不会编写),网上的复现文章也都是在本地测试的。

昨天好友@Arenid给我投稿了这种提权方式的复现文章,又花了点时间重新看了一遍,根据他的文章补充了在实战场景中的

0x02 RpcSs服务简介

服务名称:RpcSs;显示名称:Remote Procedure Call (RPC);启动类型:默认为自动开启状态服务描述:RPCSS服务是COM和DCOM服务器的服务控制管理器。它执行COM和DCOM服务器的对象激活请求、对象导出程序解析和分布式垃圾回收。如果此服务被停用或禁用,则使用COM或DCOM的程序将无法正常工作。强烈建议你运行RPCSS服务。


0x03 EXP本地测试

这个提权EXP可以将当前Network Service/Administrator权限提升为SYSTEM权限。


将下载EXP里的exe和dll文件放在同一目录下执行即可,exe会加载dll中的payload进行攻击得到SYSTEM。


EXP下载地址:

    https://github.com/sailay1996/RpcSsImpersonator


    这个EXP在实战中无法直接利用,因为在Network Service的Webshell下执行这个EXP时是没有任何回显的,也并不是交互的问题,尝试了在交互式cmd/powershell执行,结果都是一样的。


    0x04 实战场景应用

    通过谷歌搜索相关资料得知Metasploit已将@sailay1996提到的RpcSsImpersonator权限提升技术移植到了getsystem命令中,具体详情可查看底部的参考链接。

      0 : All techniques available                  //所有可用技术
      1 : Named Pipe Impersonation(In Memory/Admin) //命名管道模拟(在内存/管理员中)
      2 : Named Pipe Impersonation(Dropper/Admin)   //命名管道模拟(Dropper/Admin)
      3 : Token Duplication(In Memory/Admin)        //令牌复制(在内存/管理员中)
      4 : Named Pipe Impersonation(RPCSS variant)   //命名管道模拟(RPCSS变体)

      由于利用过程过于简单就不再详细写了,大致测试环境和权限如下:

      • 测试系统:Windows Server 2012/2016
      • 当前权限:nt authority\network service


      首先我们先利用Metasploit攻击载荷得到network service权限会话,然后直接执行getsystem命令即可得到SYSTEM权限。

      0x05 参考链接

      http://batcmd.com/windows/10/services/rpcss/

      https://github.com/rapid7/metasploit-payloads/pull/431

      https://github.com/rapid7/metasploit-framework/pull/14030

      相关文章
      |
      1月前
      |
      NoSQL Redis Windows
      windows服务器重装系统之后,Redis服务如何恢复?
      windows服务器重装系统之后,Redis服务如何恢复?
      60 6
      |
      13天前
      |
      边缘计算 安全 网络安全
      |
      13天前
      |
      开发框架 .NET API
      Windows Forms应用程序中集成一个ASP.NET API服务
      Windows Forms应用程序中集成一个ASP.NET API服务
      61 9
      |
      16天前
      |
      应用服务中间件 Apache Windows
      免安装版的Tomcat注册为windows服务
      免安装版的Tomcat注册为windows服务
      25 3
      |
      16天前
      |
      Java 关系型数据库 MySQL
      java控制Windows进程,服务管理器项目
      本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
      22 1
      |
      1月前
      |
      Java 应用服务中间件 Windows
      windows服务器重装系统之后,Tomcat服务如何恢复?
      windows服务器重装系统之后,Tomcat服务如何恢复?
      49 10
      |
      1月前
      |
      消息中间件 Java Kafka
      windows服务器重装系统之后,Kafka服务如何恢复?
      windows服务器重装系统之后,Kafka服务如何恢复?
      25 8
      |
      13天前
      |
      弹性计算 关系型数据库 网络安全
      阿里云国际版无法连接和访问Windows服务器中的FTP服务
      阿里云国际版无法连接和访问Windows服务器中的FTP服务
      |
      1月前
      |
      监控 Windows
      Windows服务器的服务如何实现自动启动?
      Windows服务器的服务如何实现自动启动?
      183 1
      |
      2月前
      |
      API Docker Windows
      2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
      这篇文章是一份关于Ollama工具的一站式使用指南,涵盖了在Windows系统上安装、使用和定制服务,以及实战案例。
      2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例