声明

出品|博客(ID:moon_flower)

以下内容,来自moon_flower作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。

Potato提权原理

通过各种方法在本地NTLM中继获取SYSTEM令牌,再通过模拟令牌执行命令,通过以上方法提权统称为potato(不管是否基于原potato修改)。就像SQL注入,通过特定SQL语句注入获取特定数据库信息统称为SQL注入,而不管如何编写的SQL语句,是否基于别人的SQL语句修改。

提权条件

1 本地NTLM中继获取SYSTEM令牌
2 SeImpersonatePrivilege特权

测试中任意用户都可以通过本地NTLM中继获取到SYSTEM令牌权限,但是由于USER默认不开户SeImpersonatePrivilege特权,无法模拟令牌创建进程无法执行命令,所以会导致很多Potato提权失败。如下方”Win7管理员提权至SYSTEM“图片上部分就是USER部分的Potato提权失败,下方是管理员权限,而其它环境都是IIS权限。所以为了方便Ladon默认也显示当前用户SeImpersonatePrivilege特权情况。

Rogue Potato

高版本的Windows DCOM解析器不允许OBJREF中的DUALSTRINGARRAY 字段指定端口号,既然这样就在一台远程主机上的135 端口做流量转发,将其转回受害者本机端口,并实现了一个恶意的RPC OXID解析器。
OXID解析器是rpcss服务的一部分,在每台支持COM+ 的机器上的135端口上运行 ,它执行两个重要任务:

1.存储连接远程对象所必须的 RPC 字符串绑定,并将它们提供给本地客户机。
2.将 ping 消息发送给本地机器拥有客户端的远程对象,并接收本地机器运行的对象的 ping 消息。(支持 COM+ 垃圾回收机制)

OXID解析器的工作流程如下:

其中客户端就是RPCSS服务,它将尝试连接到我们的恶意OXID解析器。
在正常情况下,客户端的OXID解析序列中的所有请求都经过身份验证后,就会模拟运行我们选择的CLSID对应COM 的用户(SYSTEM)。

土豆系列的攻击就是拦截这个认证过程并窃取令牌。看一下RPC支持的协议,我们伪造的OXID解析器能选择协议序列标识(protocol sequence),也就是说可以选择调用的具体协议。

RPC transport RPC protocol sequence string
SMB ncacn_np (see section 2.1.1.2)
TCP/IP (both IPv4 and IPv6) ncacn_ip_tcp (see section 2.1.1.1)
UDP ncadg_ip_udp (see section 2.1.2.1)
SPX ncacn_spx (see section 2.1.1.3)
IPX ncadg_ipx (see section 2.1.2.2)
NetBIOS over IPX ncacn_nb_ipx (see section 2.1.1.4)
NetBIOS over TCP ncacn_nb_tcp (see section 2.1.1.5)
NetBIOS over NetBEUI ncacn_nb_nb (see section 2.1.1.6)
AppleTalk ncacn_at_dsp (see section 2.1.1.7)
RPC over HTTP ncacn_http (see section 2.1.1.8)

当使用ncacn_ip_tcp的时候,它允许RPC直接通过TCP。我们使用 IRemUnknown2接口运行RPC服务器,并尝试调用RpcImpersonateClient 的SecurityCallback来验证请求。

在resolveoxid2响应中返回ncacn_ip_tcp:loca-lhost[9998],触发RPC服务器的身份验证(但是只有一个标识符)。

综上,如果我们将OXID 解析请求重定向到我们控制下的端口135的远程服务器,并将请求转发到我们的本地 Fake RPC 服务器,我们将仅获得一个匿名登录。如果将OXID解析请求解析到一个假的RPC服务器,那么将会在 IRemUnkown2 查询的时候获得一个系统令牌(但只是个标识令牌)。

但作者后续借鉴了PrintSpoofer 的利用思路,使用了ncacn _ np(向连接的命名管道)。这里选用了 epmapper 管道(和RpcEptMapper服务有关,用于解析RPC接口标识符以传输端点)。

这个服务和rpcss服务共享进程空间,并且都在NETWORK SERVICE帐户下运行,那么如果能在这个进程下模拟该账户,就可以窃取SYSTEM令牌。但是根据协议的设计,即使使用了ncacn_np:localhost[\pipe\roguepotato],也会最终连接到epmapper管道。

到这里已经有些眉目了,遇到的问题和PrintSpoofer 中的一样,同样也可以通过在主机名中插入/实现绕过。如果返回的绑定信息是

ncacn_np:localhost/pipe/roguepotato[\pipe\epmapper],那么RPCSS就会尝试连接不存在的命名管道\roguepotato\pipe\epmapper,那我们在此管道上进行监听,就能获得SYSTEM权限的模拟令牌了!

工具地址:

https://github.com/antonioCoco/RoguePotato

Ghost potato

为防止用户relay本机,在lsass中添加缓存绕过,如果缓存中有 (Challenge,cifs/B)就会认证失败。然而这个(Challenge,cifs/B)是有时效性的(300s),所有只要等300s再发送type3就可以bypass了。
用修改后的impacket

https://shenaniganslabs.io/files/impacket-ghostpotato.zip可以直接打,用法和MS08-068类似。

SweetPotato

集成了前面几种土豆触发NTLM认证的方式,包括:COM,WinRM,Spoolsv,其中WInRM的攻击原理参考:https://decoder.cloud/2019/12/06/we-thought-they-were-potatoes-but-they-were-beans/

大致思路就是当WinRM在当前系统未启用时,攻击者监听本机5985端口,BITS 服务会向 WinRM5985发起 NTLM 认证,
工具地址:https://github.com/CCob/SweetPotato

参考文献

  • https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/

  • https://www.anquanke.com/post/id/254904

  • https://decoder.cloud/2020/05/11/no-more-juicypotato-old-story-welcome-roguepotato/

  • https://xz.aliyun.com/t/7087

  • https://decoder.cloud/2019/12/06/we-thought-they-were-potatoes-but-they-were-beans/

Rogue Potato绕过相关推荐

  1. Potato提权小结

    前言 当我们拿到webshell 却苦于无法提权 早之前有巴西烤肉提权,有pr提权 今天 来一个土豆提权合集 妈妈再也不担心我的webshell无法提权了 Hot Potato 前言 利用 Windo ...

  2. Potato家族本地提权分析

    0x00 前言 在实际渗透中,我们用到最多的就是Potato家族的提权.本文着重研究Potato家族的提权原理以及本地提权细节 0x01 原理讲解 1.利用Potato提权的是前提是拥有SeImper ...

  3. Potato家族本地提权细节

    本文结合POC源码,研究Potato家族本地提权细节 Feature or vulnerability 该提权手法的前提是拥有SeImpersonatePrivilege或SeAssignPrimar ...

  4. 同源策略禁止读取位于_用浏览器缓存绕过同源策略(SOP)限制

    本文分享的Writeup是作者在做Keybase.io的漏洞众测中发现的SOP(同源策略)绕过漏洞,由于Keybase.io在用的多个API端点都启用了CORS(跨域资源共享)机制,这种缓解同源策略的 ...

  5. linux mint 屏保_Linux Mint 修复了两个孩子发现的屏保锁定绕过漏洞

    Linux Mint 修复了两个孩子发现的屏保锁定绕过漏洞 据 zdnet 报道,两个孩子在爸爸的电脑上玩耍时,意外发现了绕过屏保,进入锁定系统的方法.根据 bug 报告,这两个孩子在物理键盘和屏幕键 ...

  6. WordPress Editorial Calendar插件权限安全绕过漏洞

    漏洞名称: WordPress Editorial Calendar插件权限安全绕过漏洞 CNNVD编号: CNNVD-201302-369 发布时间: 2013-02-22 更新时间: 2013-0 ...

  7. 黑科技:绕过眼睛植入幻觉,科学家成功在盲人脑海中呈现指定图像!

    来源 | 学术头条(ID:SciTouTiao) 头图 | CSDN付费下载自视觉中国 对于全球 5000 多万盲人来说,重见光明是一个遥不可及的梦想.而为了与盲人朋友进行交互,我们发明了盲文,用各种 ...

  8. Ret2Syscall绕过NX、ASLR保护

    Ret2Syscall,即控制程序执行系统调用,进而获取shell. 下面看看我们的vuln程序. 可以看出,程序中的gets有明显的 溢出漏洞 用gdb打开, 检查一下文件开启了哪些防护: 可以看出 ...

  9. php网站安全狗绕过,最新安全狗绕过姿势 - Azeng呐的个人空间 - OSCHINA - 中文开源技术交流社区...

    安全狗是让大家最头疼的安全防护软件,然后我给大家带来最新的安全狗绕过,也不知道能活多久.攻防永无止境吧. 最新版本安全狗从官网下载的,我来说一下思路.要想绕过安全狗首先你要知道,安全狗是怎么防护的,过 ...

最新文章

  1. 2018年阿里妈妈搜索广告转化预测
  2. PCL: 根据几何规则的曲面剖分-贪婪法表面重建三角网格
  3. 如何在IE浏览器播放RTSP或RTMP流
  4. 【2017年第2期】社交网络分析在公共安全领域的应用
  5. GridView控件 72变(一)
  6. 俗话说开店容易,守店难,这句话是错的,百分之一万是错的,守店怎么会难?
  7. 【java学习之路】(java SE篇)(练习)关于常用类的心血来潮小练习
  8. 算法面试避坑指南,助你轻松应对Java面试
  9. JAVA使用bean配置ftp_FTP文件上传(By)java
  10. WordPress搬家教程:换空间与换域名
  11. php rabbmq教程_PHP+RabbitMQ实现消息队列的完整代码
  12. 惠普传真服务器位置,惠普传真机的使用方法
  13. c语言实验上机报告,c语言上机实验报告_实验报告.doc
  14. HTML期末作业课程设计大作业~环境保护学生网页设计作业源码(HTML+CSS)
  15. PATINDEX 的纯 T-SQL 全部替换函数
  16. 计算机算法(二)——进入计算机世界
  17. 世界首款抗量子攻击商用密码芯片 | 沐创
  18. 逻辑航线信息学系列教程:二进制(Binary)
  19. linux下修改或删除包含乱码、特殊符号等文件名的文件
  20. 彻底卸载VMware虚拟机

热门文章

  1. STM32L+BC20+MQTT连接华为云传输温湿度数据并控制继电器
  2. 量化新手初次听闻时序数据库
  3. 移动app开发,调试过程中,手机端浏览器无法正常访问接口
  4. 少儿编程 实操题搭建搅拌器 电子学会机器人等级考试一级真题解析2018-12
  5. Linux实操-网络配置、进程管理、服务管理、动态监控进程、监控网络状态
  6. ERROR Nacos failed to start, please see
  7. Origin画三维柱状图及折线
  8. 努比亚Z17MINI ROOT (Fastboot模式)
  9. 携程在线网页制作(flex布局)
  10. 近端梯度法(Proximal Gradient Descent)