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

128 lines
9.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 135, 593 - MSRPCのペンテスティング
<details>
<summary><strong>htARTEHackTricks AWS Red Team Expert</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>でAWSハッキングをゼロからヒーローまで学ぶ</strong></a><strong></strong></summary>
HackTricksをサポートする他の方法:
* **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**公式PEASSHackTricksスワッグ**](https://peass.creator-spring.com)を入手する
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)コレクションを見つける
* **💬 [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](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 Remote Procedure CallMSRPCプロトコルは、クライアントサーバーモデルであり、プログラムがネットワークの詳細を理解せずに別のコンピューター上のプログラムからサービスを要求できるようにするもので、元々オープンソースソフトウェアから派生し、後にMicrosoftによって開発および著作権が付与されました。
RPCエンドポイントマッパーは、TCPおよびUDPポート135、TCP 139および445でのSMBヌルまたは認証セッション、およびTCPポート593でWebサービスとしてアクセスできます。
```
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ロケーターサービスと個々のエンドポイントをクエリすることで、TCP、UDP、HTTP、およびSMBを介したRPCサービスの公開を特定できます。rpcdumpなどのツールを使用すると、**IFID**値によって示される一意のRPCサービスを特定し、サービスの詳細と通信バインディングを明らかにすることができます。
```
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ロケーターサービスへのアクセスは、特定のプロトコルを介して有効になっています: ポート135を介してアクセスするためのncacn_ip_tcpおよびncadg_ip_udp、SMB接続のためのncacn_np、WebベースのRPC通信のためのncacn_http。次のコマンドは、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
* **Named Pipe**: `\pipe\lsarpc`
* **Description**: ユーザーを列挙するために使用されるLSAインターフェース。
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
* **Named Pipe**: `\pipe\lsarpc`
* **Description**: ドメインと信頼関係を列挙するために使用されるLSAディレクトリサービスDSインターフェース。
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
* **Named Pipe**: `\pipe\samr`
* **Description**: アカウントロックアウトポリシーに関係なく、パブリックSAMデータベース要素ユーザー名にアクセスし、ユーザーパスワードを総当たり攻撃するために使用されるLSA SAMRインターフェース。
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
* **Named Pipe**: `\pipe\atsvc`
* **Description**: コマンドをリモートで実行するために使用されるタスクスケジューラ。
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
* **Named Pipe**: `\pipe\winreg`
* **Description**: システムレジストリにアクセスして変更するために使用されるリモートレジストリサービス。
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
* **Named Pipe**: `\pipe\svcctl`
* **Description**: サービスコントロールマネージャーおよびサーバーサービスをリモートで開始および停止し、コマンドを実行するために使用される。
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
* **Named Pipe**: `\pipe\srvsvc`
* **Description**: サービスコントロールマネージャーおよびサーバーサービスをリモートで開始および停止し、コマンドを実行するために使用される。
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
* **Named Pipe**: `\pipe\epmapper`
* **Description**: DCOMインターフェースで、WMを介してパスワードを総当たり攻撃し、情報収集に使用される。
### IPアドレスの特定
[https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver)を使用すると、_**ServerAlive2**_メソッドを悪用して、_**IOXIDResolver**_インターフェース内から**IPv6**アドレス情報を取得できます。
このメソッドは、HTBボックス_APT_から**IPv6**アドレス情報を取得するために使用されています。0xdf APTの解説は[こちら](https://0xdf.gitlab.io/2021/04/10/htb-apt.html)を参照してください。また、_stringbinding_を使用した[Impacket](https://github.com/SecureAuthCorp/impacket/)のrpcmap.pyを使用した代替方法も含まれています。
## ポート593
**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)**に参加して、今日からトップハッカーと協力を始めましょう!