SafeBreach-Labs/RPC-Racer
GitHub: SafeBreach-Labs/RPC-Racer
利用 Windows RPC 服务启动竞态条件,伪装合法 RPC 端点以触发机器账户 NTLM 认证的攻防工具集。
Stars: 108 | Forks: 12
# RPC-Racer
该工具用于在没有管理员权限的情况下,伪装成操作系统合法的内置 RPC server。
它模拟了 Storage Service (StorSvc.dll) 的 RPC interface,并强制 Delivery Optimization Service (dosvc.dll) 向其发送 RPC 请求。RPC-Racer 发送的响应包含一个将被 DoSvc 访问的路径。通过指定一个网络共享作为该路径,将触发机器账户的 NTLM 认证。随后,该认证可以被中继以利用机器账户的权限。
此攻击只有在 Storage Service 关闭的情况下才会成功。为了在该服务启动之前执行工具,应为 RPC-Racer 指定参数 `/register`。这将使工具创建一个计划任务,在当前用户登录时启动。机器重启并再次登录后,RPC-Racer 将使用注册时指定的 IP 地址自动执行。
更多技术信息可在 [SafeBreach 博客](https://www.safebreach.com/blog/you-snooze-you-lose-winning-rpc-endpoints/) 上找到
在 DEF CON 33 发表 - [You snooze you lose: RPC-Racer winning RPC endpoints against services](https://defcon.org/html/defcon-33/dc-33-speakers.html#content_60313)
## 用法
```
RPC-Racer.exe RELAY_SERVER_IP_ADDRESS [/register]
```
## 注意事项
- 如果 Storage Service 在 RPC-Racer 的计划任务之前启动,应开启以下设置:Windows Update -> 高级选项 -> 传递优化 -> 允许从其他设备下载
# RPC-Recon
该工具用于查找易受攻击的 interfaces,攻击者可以在系统启动后、大多数服务启动之前立即注册这些 interfaces。它查询 Endpoint Mapper 以获取所有已注册的动态 endpoints,并扫描进程内存以查找知名 endpoints。然后,它等待并再次执行相同的检索,以查找较晚注册的 RPC server。RPC-Recon 完成后,将创建一个文本文件,其中包含所有可以在原始服务之前注册的 interfaces。
要创建一个在当前用户登录时执行 RPC-Recon 的计划任务,请指定参数 `/register`。
## 用法
```
RPC-Recon.exe [/register]
```
## 注意事项
- RPC-Recon 需要读取高权限进程的内存。因此,它应使用管理员权限执行。
## 致谢
* [Ron Ben Yizhak](https://x.com/RonB_Y)
## 参考
* [RpcView](https://github.com/silverf0x/RpcView)
* [RpcDump](https://github.com/fortra/impacket/blob/master/examples/rpcdump.py)
标签:C/C++, CTF学习, DEF CON, DoSvc, Endpoint Mapper, ICS, NTLM Relay, RPC 劫持, StorSvc, UML, Windows RPC, 事务性I/O, 内网渗透, 凭据中继, 协议分析, 安全测试, 攻击性安全, 服务伪造, 机器账户, 权限提升, 竞争条件, 计划任务, 身份验证攻击