hacktricks/network-services-pentesting/135-pentesting-msrpc.md

137 lines
12 KiB
Markdown
Raw Normal View History

2023-08-03 19:12:22 +00:00
# 135, 593 - MSRPC 渗透测试
2022-04-28 16:01:33 +00:00
<details>
2023-08-03 19:12:22 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks 云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
* 你在一家**网络安全公司**工作吗?想要在 HackTricks 上**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**telegram 群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向**[**hacktricks 仓库**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud 仓库**](https://github.com/carlospolop/hacktricks-cloud) **提交 PR 来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2022-10-27 23:22:18 +00:00
2023-08-03 19:12:22 +00:00
**HackenProof 是所有加密漏洞赏金的家园。**
2023-02-27 09:28:45 +00:00
2023-08-03 19:12:22 +00:00
**无需等待即可获得奖励**\
HackenProof 的赏金只有在客户存入奖励预算后才会启动。在漏洞验证后,您将获得奖励。
2023-02-27 09:28:45 +00:00
2023-08-03 19:12:22 +00:00
**在 web3 渗透测试中积累经验**\
区块链协议和智能合约是新的互联网!在它崛起的日子里掌握 web3 安全。
2023-02-27 09:28:45 +00:00
2023-08-03 19:12:22 +00:00
**成为 web3 黑客传奇**\
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
2023-07-14 14:20:34 +00:00
2023-08-03 19:12:22 +00:00
[**在 HackenProof 上注册**](https://hackenproof.com/register) 开始从您的黑客攻击中获利!
2023-07-14 14:20:34 +00:00
{% embed url="https://hackenproof.com/register" %}
2022-10-27 23:22:18 +00:00
2023-08-03 19:12:22 +00:00
## 基本信息
2023-08-03 19:12:22 +00:00
Microsoft 远程过程调用Remote Procedure CallRPC也称为函数调用或子程序调用是一种使用客户端-服务器模型的协议允许一个程序向另一台计算机上的程序请求服务而无需了解该计算机的网络细节。MSRPC 最初是从开源软件衍生而来,但已经得到了进一步的开发并由 Microsoft 版权所有。
2023-08-03 19:12:22 +00:00
根据主机配置RPC 端点映射器可以通过 TCP 和 UDP 端口 135 进行访问,通过空或经过身份验证的会话的 SMBTCP 139 和 445以及作为在 TCP 端口 593 上监听的 Web 服务。
```
135/tcp open msrpc Microsoft Windows RPC
```
2023-08-03 19:12:22 +00:00
## MSRPC是如何工作的
2023-08-03 19:12:22 +00:00
[MSRPC过程始于客户端](https://technet.microsoft.com/en-us/library/cc738291.aspx),客户端应用程序调用本地存根过程而不是实现该过程的代码。客户端存根代码从客户端地址空间中检索所需参数,并将它们传递给客户端运行时库,然后将参数转换为标准的网络数据表示格式以传输到服务器。
2023-08-03 19:12:22 +00:00
然后客户端存根调用RPC客户端运行时库中的函数将请求和参数发送到服务器。如果服务器位于远程位置运行时库会指定适当的传输协议和引擎并将RPC传递给网络堆栈以进行传输到服务器。\
来源:[https://www.extrahop.com/resources/protocols/msrpc/](https://www.extrahop.com/resources/protocols/msrpc/)
![](<../.gitbook/assets/image (133).png>)
2023-08-03 19:12:22 +00:00
**图片来自书籍《网络安全评估第三版》**
2023-08-03 19:12:22 +00:00
## **识别暴露的RPC服务**
2023-08-03 19:12:22 +00:00
**从书籍《网络安全评估第三版》中提取的部分内容**
2023-08-03 19:12:22 +00:00
您可以查询RPC定位器服务和单个RPC端点以记录在TCP、UDP、HTTP和SMB通过命名管道上运行的有趣服务。通过此过程收集的每个IFID值表示一个RPC服务例如5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc是Messenger接口
2023-08-03 19:12:22 +00:00
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]
```
2023-08-03 19:12:22 +00:00
您可以通过使用四个协议序列访问RPC定位器服务
2023-08-03 19:12:22 +00:00
* ncacn\_ip\_tcp和ncadg\_ip\_udpTCP和UDP端口135
* ncacn\_np通过SMB的\pipe\epmapper命名管道
* ncacn\_http通过TCP端口80、593和其他端口的RPC over HTTP
```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
```
2023-08-03 19:12:22 +00:00
_请注意除了**`tcp_dcerpc_auditor`**之外,所有选项都**只能**针对**端口135**上的**msrpc**执行。_
2023-08-03 19:12:22 +00:00
#### 显著的RPC接口
2023-08-03 19:12:22 +00:00
| **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](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#idm139659172852688) |
| 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 |
2023-08-03 19:12:22 +00:00
### 识别IP地址
2020-12-22 15:35:42 +00:00
2023-08-03 19:12:22 +00:00
使用[https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver),来自[Airbus research](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/)可以滥用_IOXIDResolver_接口中的_ServerAlive2_方法。
2023-08-03 19:12:22 +00:00
这种方法已被用于从HTB盒子_APT_获取**IPv6**地址的接口信息。请参阅[此处](https://0xdf.gitlab.io/2021/04/10/htb-apt.html)以获取0xdf APT的写作其中包括使用rpcmap.py从[Impacket](https://github.com/SecureAuthCorp/impacket/)和_stringbinding_的替代方法见上文
2020-12-22 15:35:42 +00:00
2023-08-03 19:12:22 +00:00
参考资料:
2021-04-22 13:58:44 +00:00
2023-04-23 22:34:35 +00:00
* [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/)
2020-12-22 15:35:42 +00:00
2023-08-03 19:12:22 +00:00
## 端口593
2023-08-03 19:12:22 +00:00
来自[rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools)的**rpcdump.exe**可以与此端口进行交互。
2022-04-28 16:01:33 +00:00
2022-10-27 23:22:18 +00:00
<figure><img src="../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
2023-07-14 14:20:34 +00:00
2023-08-03 19:12:22 +00:00
**HackenProof是所有加密漏洞赏金的家园。**
2023-07-14 14:20:34 +00:00
2023-08-03 19:12:22 +00:00
**即时获得奖励**\
HackenProof的赏金只有在客户存入奖励预算后才会启动。在漏洞经过验证后您将获得奖励。
2022-10-27 23:22:18 +00:00
2023-08-03 19:12:22 +00:00
**在web3渗透测试中积累经验**\
区块链协议和智能合约是新的互联网在其崛起之时掌握web3安全。
2023-02-27 09:28:45 +00:00
2023-08-03 19:12:22 +00:00
**成为web3黑客传奇**\
每次验证的漏洞都会获得声誉积分,并占据每周排行榜的榜首。
2023-02-27 09:28:45 +00:00
2023-08-03 19:12:22 +00:00
[**在HackenProof上注册**](https://hackenproof.com/register)开始从您的黑客行动中获利!
2023-02-27 09:28:45 +00:00
2023-07-14 14:20:34 +00:00
{% embed url="https://hackenproof.com/register" %}
2022-10-27 23:22:18 +00:00
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
* 您在**网络安全公司**工作吗您想在HackTricks中看到您的**公司广告**吗或者您想获得最新版本的PEASS或下载PDF格式的HackTricks吗请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现我们的独家[NFT](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获得[**官方PEASS和HackTricks衣物**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或在**Twitter**上**关注**我[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享您的黑客技巧。**
2022-04-28 16:01:33 +00:00
</details>