0x01 阅读须知
鸡哥安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
0x02 漏洞说明
1.影响范围
此技术不适用于 >= Windows 10 1809 和 Windows Server 2019 的版本
2.优点
立即触发,而不是有时必须等待 Windows 更新
Rotten Potato相当复杂,但主要使用了 3 个东西
3.原理
1.通过NT AUTHORITY/SYSTEM运行的RPC将尝试通过CoGetInstanceFromIStorage API调用向我们的本地代理进行身份验证
2.135 端口的RPC将用于回复第一个RPC正在执行的所有请求充当模板
3.AcceptSecurityContextAPI调用以在本地模拟NT AUTHORITY/SYSTEM
过程概述
1. 使用CoGetInstanceFromIStorage API 调用欺骗RPC,对代理进行身份验证.在此调用中指定了代理 IP/端口
2. RPC 向代理发送 NTLM 协商包
3. 代理依赖的NTLM协商到RPC在端口135,被用作模板。同时,执行对AcceptSecurityContext的调用以强制进行本地身份验证
注:此包被修改为强制本地身份验证.
4. & 5. RPC 135和AcceptSecurityContext用NTLM Challenge回复
6. 将两个数据包的内容混合以匹配本地协商并转发到RPC
7. RPC使用发送到AcceptSecurityContext(8.)的NLTM Auth包进行响应,并执行模拟(9.)
0x03 漏洞复现
1.步骤如下
1.上传Rotten potato.exe,下载地址如下
https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16-075/potato.exe
2.提权
use incognito
# 加载incoginto功能(用来盗窃目标主机的令牌或是假冒用户)
list_tokens -u
# 列出目标机器用户的可用令牌
execute -cH -f c:/potato.exe
# 创建新的进程
list_tokens -u
impersonate_token "NT AUTHORITYSYSTEM"
#查看权限
getuid
0x04 总结
-
DCOM 不与我们的本地侦听器交谈,因此没有 MITM 和漏洞利用。
-
将数据包发送到我们控制下侦听端口 135 的主机,然后将数据转发到我们的本地 COM 侦听器不起作用。问题是在这种情况下,客户端不会协商本地身份验证。
1个1朵5毛钱
天天搬砖的小M
能不能吃顿好的
就看你们的啦
原文始发于微信公众号(鸡哥的内网渗透之路):内网渗透 Rotten Potato提权