135, 593 - Pentesting MSRPC
加入 HackenProof Discord 服务器,与经验丰富的黑客和漏洞赏金猎人交流!
黑客见解 参与深入探讨黑客的刺激与挑战的内容
实时黑客新闻 通过实时新闻和见解,跟上快速变化的黑客世界
最新公告 了解最新的漏洞赏金计划和重要平台更新
今天就加入我们的 Discord,与顶尖黑客开始合作吧!
基本信息
Microsoft 远程过程调用 (MSRPC) 协议是一种客户端-服务器模型,使程序能够请求位于另一台计算机上的程序提供服务,而无需了解网络的具体情况。该协议最初源于开源软件,后来由 Microsoft 开发并获得版权。
RPC 端点映射器可以通过 TCP 和 UDP 端口 135 访问,SMB 在 TCP 139 和 445(使用空会话或经过身份验证的会话)上,以及作为 Web 服务在 TCP 端口 593 上访问。
MSRPC是如何工作的?
由客户端应用程序发起,MSRPC过程涉及调用本地存根过程,然后与客户端运行时库交互,以准备和传输请求到服务器。这包括将参数转换为标准网络数据表示格式。如果服务器是远程的,传输协议的选择由运行时库决定,确保RPC通过网络栈传递。
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F0xffsec.com%2Fhandbook%2Fimages%2Fmsrpc.png&width=768&dpr=4&quality=100&sign=42551849&sv=1)
识别暴露的RPC服务
通过查询RPC定位服务和各个端点,可以确定通过TCP、UDP、HTTP和SMB暴露的RPC服务。工具如rpcdump有助于识别唯一的RPC服务,以IFID值表示,揭示服务细节和通信绑定:
访问RPC定位服务是通过特定协议启用的:ncacn_ip_tcp和ncadg_ip_udp用于通过端口135访问,ncacn_np用于SMB连接,以及ncacn_http用于基于Web的RPC通信。以下命令示例展示了利用Metasploit模块审计和与MSRPC服务交互,主要集中在端口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,来自 Airbus research,可以滥用 ServerAlive2 方法在 IOXIDResolver 接口内。
该方法已被用于从 HTB 盒子 APT 获取接口信息,如 IPv6 地址。有关 0xdf APT 的详细信息,请参见 这里,其中包括使用来自 Impacket 的 rpcmap.py 和 stringbinding 的替代方法(见上文)。
使用有效凭据执行 RCE
如果有有效用户的凭据,可以使用来自 impacket 框架的 dcomexec.py 在机器上执行远程代码。
记得尝试不同的可用对象
ShellWindows
ShellBrowserWindow
MMC20
端口 593
来自 rpctools 的 rpcdump.exe 可以与此端口进行交互。
参考文献
加入 HackenProof Discord 服务器,与经验丰富的黑客和漏洞赏金猎人交流!
黑客见解 参与深入探讨黑客的刺激与挑战的内容
实时黑客新闻 通过实时新闻和见解,跟上快速变化的黑客世界
最新公告 及时了解最新的漏洞赏金计划和重要平台更新
加入我们 Discord,今天就开始与顶级黑客合作!
Last updated