7.4 KiB
135, 593 - 渗透测试 MSRPC
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们的独家NFTs
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @carlospolopm** 上关注**我们。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
加入 HackenProof Discord 服务器,与经验丰富的黑客和赏金猎人交流!
黑客见解
参与深入探讨黑客的刺激和挑战的内容
实时黑客新闻
通过实时新闻和见解及时了解快节奏的黑客世界
最新公告
通过最新的赏金计划发布和重要平台更新保持信息更新
加入我们的 Discord,立即与顶尖黑客合作!
基本信息
Microsoft 远程过程调用(MSRPC)协议是一个客户端-服务器模型,使程序能够从位于另一台计算机上的程序请求服务,而无需了解网络的具体细节。该协议最初源自开源软件,后来由 Microsoft 开发并拥有版权。
RPC 端点映射器可以通过 TCP 和 UDP 端口 135 访问,SMB 可以通过 TCP 139 和 445(使用空会话或经过身份验证的会话)访问,也可以作为 Web 服务在 TCP 端口 593 上访问。
135/tcp open msrpc Microsoft Windows RPC
MSRPC是如何工作的?
由客户端应用程序发起,MSRPC过程涉及调用本地存根过程,然后与客户端运行时库交互,准备并传输请求到服务器。这包括将参数转换为标准的网络数据表示格式。如果服务器是远程的,传输协议的选择由运行时库确定,确保RPC通过网络堆栈传递。
识别暴露的RPC服务
通过查询RPC定位器服务和各个端点,可以确定RPC服务在TCP、UDP、HTTP和SMB上的暴露情况。诸如rpcdump之类的工具有助于识别独特的RPC服务,由IFID值表示,揭示服务详细信息和通信绑定:
D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[1028]
访问RPC定位器服务是通过特定协议启用的:ncacn_ip_tcp 和 ncadg_ip_udp 用于通过端口 135 访问,ncacn_np 用于 SMB 连接,ncacn_http 用于基于 Web 的 RPC 通信。以下命令示例展示了利用 Metasploit 模块审计和与 MSRPC 服务交互,主要集中在端口 135 上:
use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py <IP> -p 135
除了tcp_dcerpc_auditor
之外,所有选项都是专门设计用于针对端口135上的MSRPC。
显著的RPC接口
- IFID:12345778-1234-abcd-ef00-0123456789ab
- 命名管道:
\pipe\lsarpc
- 描述:LSA接口,用于枚举用户。
- IFID:3919286a-b10c-11d0-9ba8-00c04fd92ef5
- 命名管道:
\pipe\lsarpc
- 描述:LSA目录服务(DS)接口,用于枚举域和信任关系。
- IFID:12345778-1234-abcd-ef00-0123456789ac
- 命名管道:
\pipe\samr
- 描述:LSA SAMR接口,用于访问公共SAM数据库元素(例如用户名)并对用户密码进行暴力破解,而不受帐户锁定策略的影响。
- IFID:1ff70682-0a51-30e8-076d-740be8cee98b
- 命名管道:
\pipe\atsvc
- 描述:任务计划程序,用于远程执行命令。
- IFID:338cd001-2244-31f1-aaaa-900038001003
- 命名管道:
\pipe\winreg
- 描述:远程注册表服务,用于访问和修改系统注册表。
- IFID:367abb81-9844-35f1-ad32-98f038001003
- 命名管道:
\pipe\svcctl
- 描述:服务控制管理器和服务器服务,用于远程启动和停止服务以及执行命令。
- IFID:4b324fc8-1670-01d3-1278-5a47bf6ee188
- 命名管道:
\pipe\srvsvc
- 描述:服务控制管理器和服务器服务,用于远程启动和停止服务以及执行命令。
- IFID:4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
- 命名管道:
\pipe\epmapper
- 描述:DCOM接口,用于通过WM进行暴力破解密码和信息收集。
识别IP地址
使用https://github.com/mubix/IOXIDResolver,来自空中客车研究,可以滥用_IOXIDResolver_接口内的_ServerAlive2_方法。
此方法已用于从HTB盒子_APT_中获取IPv6地址的接口信息。查看这里了解0xdf APT的解析,其中包括使用Impacket的rpcmap.py和_stringbinding_的替代方法(请参见上文)。
使用有效凭据执行RCE
如果具有有效用户的凭据,则可以使用impacket框架中的dcomexec.py在计算机上执行远程代码。
记得尝试使用不同的可用对象
- ShellWindows
- ShellBrowserWindow
- MMC20
端口593
来自rpctools的rpcdump.exe可以与此端口进行交互。
参考资料
- https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/
- https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/
- https://0xffsec.com/handbook/services/msrpc/
加入HackenProof Discord服务器,与经验丰富的黑客和赏金猎人交流!
黑客见解
参与深入探讨黑客的刺激和挑战的内容
实时黑客新闻
通过实时新闻和见解保持与快节奏的黑客世界同步
最新公告
通过最新的赏金计划启动和重要平台更新保持信息更新
加入我们的 Discord,立即与顶尖黑客合作!