mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 13:13:41 +00:00
135 lines
7.1 KiB
Markdown
135 lines
7.1 KiB
Markdown
# 135, 593 - 渗透测试 MSRPC
|
||
|
||
<details>
|
||
|
||
<summary><strong>从零开始学习 AWS 黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS 红队专家)</strong></a><strong>!</strong></summary>
|
||
|
||
支持 HackTricks 的其他方式:
|
||
|
||
* 如果您想看到您的**公司在 HackTricks 中做广告**或**下载 PDF 版本的 HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
|
||
* 探索[**PEASS 家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或在 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** 上关注**我们。
|
||
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享您的黑客技巧。
|
||
|
||
</details>
|
||
|
||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
加入 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 服务器,与经验丰富的黑客和赏金猎人交流!
|
||
|
||
**黑客见解**\
|
||
参与深入探讨黑客活动的刺激和挑战的内容
|
||
|
||
**实时黑客新闻**\
|
||
通过实时新闻和见解及时了解快节奏的黑客世界
|
||
|
||
**最新公告**\
|
||
了解最新的赏金计划发布和重要平台更新
|
||
|
||
**加入我们的** [**Discord**](https://discord.com/invite/N3FrSbmwdy),立即与顶尖黑客合作!
|
||
|
||
## 基本信息
|
||
|
||
Microsoft 远程过程调用(MSRPC)协议是一个客户端-服务器模型,使程序能够从位于另一台计算机上的程序请求服务,而无需了解网络的具体细节。该协议最初源自开源软件,后来由 Microsoft 进行开发和版权保护。
|
||
|
||
RPC 端点映射器可以通过 TCP 和 UDP 端口 135 访问,SMB 可以通过 TCP 139 和 445(使用空会话或经过身份验证的会话)访问,也可以作为 Web 服务在 TCP 端口 593 上访问。
|
||
```
|
||
135/tcp open msrpc Microsoft Windows RPC
|
||
```
|
||
## MSRPC工作原理
|
||
|
||
由客户端应用程序发起,MSRPC过程涉及调用本地存根过程,然后与客户端运行时库交互,准备并传输请求到服务器。这包括将参数转换为标准的网络数据表示格式。如果服务器是远程的,传输协议的选择由运行时库确定,确保RPC通过网络堆栈传递。
|
||
|
||
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
|
||
|
||
## **识别暴露的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 上:
|
||
```bash
|
||
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](https://github.com/mubix/IOXIDResolver),来自[空中客车研究](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/),可以滥用_IOXIDResolver_接口内的_ServerAlive2_方法。
|
||
|
||
此方法已用于从HTB盒子_APT_中获取**IPv6**地址的接口信息。查看[此处](https://0xdf.gitlab.io/2021/04/10/htb-apt.html)了解0xdf APT解析,其中包括使用[Impacket](https://github.com/SecureAuthCorp/impacket/)的rpcmap.py和_stringbinding_的替代方法(请参见上文)。
|
||
|
||
## 端口593
|
||
|
||
来自[rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/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-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://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
|
||
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
|
||
|
||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||
|
||
加入[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)服务器,与经验丰富的黑客和赏金猎人交流!
|
||
|
||
**黑客见解**\
|
||
参与深入探讨黑客的刺激和挑战的内容
|
||
|
||
**实时黑客新闻**\
|
||
通过实时新闻和见解及时了解快节奏的黑客世界
|
||
|
||
**最新公告**\
|
||
通过最新的赏金计划发布和重要平台更新保持信息更新
|
||
|
||
**加入我们的** [**Discord**](https://discord.com/invite/N3FrSbmwdy),立即与顶尖黑客合作!
|