12 KiB
135, 593 - MSRPC 渗透测试
☁️ HackTricks 云 ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?想要在 HackTricks 上宣传你的公司吗?或者你想要获取最新版本的 PEASS 或下载 HackTricks 的 PDF吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品——The PEASS Family
- 获取官方 PEASS & HackTricks 商品
- 加入💬 Discord 群组 或 telegram 群组,或者关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks 仓库 和hacktricks-cloud 仓库 提交 PR 来分享你的黑客技巧。
HackenProof 是所有加密漏洞赏金的家园。
无需等待即可获得奖励
HackenProof 的赏金只有在客户存入奖励预算后才会启动。在漏洞验证后,您将获得奖励。
在 web3 渗透测试中积累经验
区块链协议和智能合约是新的互联网!在它崛起的日子里掌握 web3 安全。
成为 web3 黑客传奇
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
在 HackenProof 上注册 开始从您的黑客攻击中获利!
{% embed url="https://hackenproof.com/register" %}
基本信息
Microsoft 远程过程调用(Remote Procedure Call,RPC)也称为函数调用或子程序调用,是一种使用客户端-服务器模型的协议,允许一个程序向另一台计算机上的程序请求服务,而无需了解该计算机的网络细节。MSRPC 最初是从开源软件衍生而来,但已经得到了进一步的开发并由 Microsoft 版权所有。
根据主机配置,RPC 端点映射器可以通过 TCP 和 UDP 端口 135 进行访问,通过空或经过身份验证的会话的 SMB(TCP 139 和 445),以及作为在 TCP 端口 593 上监听的 Web 服务。
135/tcp open msrpc Microsoft Windows RPC
MSRPC是如何工作的?
MSRPC过程始于客户端,客户端应用程序调用本地存根过程而不是实现该过程的代码。客户端存根代码从客户端地址空间中检索所需参数,并将它们传递给客户端运行时库,然后将参数转换为标准的网络数据表示格式以传输到服务器。
然后,客户端存根调用RPC客户端运行时库中的函数将请求和参数发送到服务器。如果服务器位于远程位置,运行时库会指定适当的传输协议和引擎,并将RPC传递给网络堆栈以进行传输到服务器。
来源:https://www.extrahop.com/resources/protocols/msrpc/
图片来自书籍《网络安全评估第三版》
识别暴露的RPC服务
从书籍《网络安全评估第三版》中提取的部分内容
您可以查询RPC定位器服务和单个RPC端点,以记录在TCP、UDP、HTTP和SMB(通过命名管道)上运行的有趣服务。通过此过程收集的每个IFID值表示一个RPC服务(例如,5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc是Messenger接口)。
Todd Sabin的rpcdump和ifids Windows实用程序查询RPC定位器和特定的RPC端点以列出IFID值。rpcdump的语法如下:
D:\rpctools> rpcdump [-p port] 192.168.189.1
IfId: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:192.168.189.1[1028]
您可以通过使用四个协议序列访问RPC定位器服务:
- ncacn_ip_tcp和ncadg_ip_udp(TCP和UDP端口135)
- ncacn_np(通过SMB的\pipe\epmapper命名管道)
- ncacn_http(通过TCP端口80、593和其他端口的RPC over HTTP)
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接口,用于枚举用户 |
3919286a-b10c-11d0-9ba8-00c04fd92ef5 | \pipe\lsarpc | LSA目录服务(DS)接口,用于枚举域和信任关系 |
12345778-1234-abcd-ef00-0123456789ac | \pipe\samr | LSA SAMR接口,用于访问公共SAM数据库元素(例如用户名)并对用户密码进行暴力破解,而不受帐户锁定策略的限制Oreilly library |
1ff70682-0a51-30e8-076d-740be8cee98b | \pipe\atsvc | 任务计划程序,用于远程执行命令 |
338cd001-2244-31f1-aaaa-900038001003 | \pipe\winreg | 远程注册表服务,用于访问系统注册表 |
367abb81-9844-35f1-ad32-98f038001003 | \pipe\svcctl | 服务控制管理器和服务器服务,用于远程启动和停止服务并执行命令 |
4b324fc8-1670-01d3-1278-5a47bf6ee188 | \pipe\srvsvc | 服务控制管理器和服务器服务,用于远程启动和停止服务并执行命令 |
4d9f4ab8-7d1c-11cf-861e-0020af6e7c57 | \pipe\epmapper | DCOM接口,支持WMI |
识别IP地址
使用https://github.com/mubix/IOXIDResolver,来自Airbus research,可以滥用_IOXIDResolver_接口中的_ServerAlive2_方法。
这种方法已被用于从HTB盒子_APT_获取IPv6地址的接口信息。请参阅此处以获取0xdf APT的写作,其中包括使用rpcmap.py从Impacket和_stringbinding_的替代方法(见上文)。
参考资料:
- 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/
端口593
来自rpctools的rpcdump.exe可以与此端口进行交互。
HackenProof是所有加密漏洞赏金的家园。
即时获得奖励
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞经过验证后,您将获得奖励。
在web3渗透测试中积累经验
区块链协议和智能合约是新的互联网!在其崛起之时掌握web3安全。
成为web3黑客传奇
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
在HackenProof上注册开始从您的黑客行动中获利!
{% embed url="https://hackenproof.com/register" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想获得最新版本的PEASS或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFT收藏品The PEASS Family
- 获得官方PEASS和HackTricks衣物
- 加入💬 Discord群组或电报群组,或在Twitter上关注我🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享您的黑客技巧。