135, 593 - Pentesting MSRPC

从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)

支持 HackTricks 的其他方式:

加入 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

来自rpctoolsrpcdump.exe可以与此端口进行交互。

参考资料

加入HackenProof Discord服务器,与经验丰富的黑客和赏金猎人交流!

黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解保持与快节奏的黑客世界同步

最新公告 通过最新的赏金计划启动和重要平台更新保持信息更新

加入我们的 Discord,立即与顶尖黑客合作!

最后更新于