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

136 lines
14 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><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>
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASSHackTricksグッズ**](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)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
</details>
<figure><img src="../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
**HackenProofはすべての暗号バグバウンティの場所です。**
**遅延なしで報酬を受け取る**\
HackenProofのバウンティは、顧客が報酬予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。
**Web3ペンテストの経験を積む**\
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです上昇期のWeb3セキュリティをマスターしましょう。
**Web3ハッカーレジェンドになる**\
各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
[**HackenProofでサインアップ**](https://hackenproof.com/register)して、ハッキングから報酬を得ましょう!
{% embed url="https://hackenproof.com/register" %}
## 基本情報
Microsoft Remote Procedure CallMSRPCは、関数呼び出しまたはサブルーチン呼び出しとも呼ばれるプロトコルであり、クライアント-サーバーモデルを使用して、プログラムが他のコンピュータ上のプログラムにサービスを要求するために、そのコンピュータのネットワークの詳細を理解する必要がありません。 MSRPCは元々オープンソースソフトウェアから派生していましたが、Microsoftによってさらに開発され、著作権が保護されています。
ホストの設定によっては、RPCエンドポイントマッパーはTCPおよびUDPポート135を介してアクセスでき、SMBを介してヌルまたは認証済みセッションTCP 139および445でアクセスでき、TCPポート593でリッスンするWebサービスとしても利用できます。
```
135/tcp open msrpc Microsoft Windows RPC
```
## MSRPCの動作原理は
[MSRPCプロセスはクライアント側で始まります](https://technet.microsoft.com/en-us/library/cc738291.aspx)。クライアントアプリケーションは、手続きを実装するコードの代わりにローカルスタブ手続きを呼び出します。クライアントスタブコードは、必要なパラメータをクライアントアドレススペースから取得し、それらをクライアントランタイムライブラリに渡します。その後、クライアントランタイムライブラリはパラメータを標準のネットワークデータ表現形式に変換してサーバに送信します。
クライアントスタブは、RPCクライアントランタイムライブラリの関数を呼び出してリクエストとパラメータをサーバに送信します。サーバがリモートにある場合、ランタイムライブラリは適切なトランスポートプロトコルとエンジンを指定し、RPCをネットワークスタックに渡してサーバに転送します。\
ここから:[https://www.extrahop.com/resources/protocols/msrpc/](https://www.extrahop.com/resources/protocols/msrpc/)
![](<../.gitbook/assets/image (133).png>)
**書籍「ネットワークセキュリティ評価 第3版」からの画像**
## **公開されたRPCサービスの特定**
**書籍「ネットワークセキュリティ評価 第3版」からの抜粋**
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ロケーターサービスには、以下の4つのプロトコルシーケンスを使用してアクセスできます
* ncacn\_ip\_tcpおよびncadg\_ip\_udpTCPおよびUDPポート135
* ncacn\_npSMB経由の\pipe\epmapperという名前のパイプ
* ncacn\_httpTCPポート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
```
_上記のオプションから、**`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 | 公開SAMデータベース要素ユーザー名などにアクセスし、アカウントロックアウトポリシーに関係なくユーザーパスワードを総当たり攻撃するために使用されるLSA SAMRインターフェース [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 | WMIをサポートするDCOMインターフェース |
### IPアドレスの特定
[https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver)を使用すると、_**IOXIDResolver**_インターフェース内の_**ServerAlive2**_メソッドを悪用することができます。
このメソッドは、HTBボックス_APT_から**IPv6**アドレスのインターフェース情報を取得するために使用されました。0xdfのAPT解説については[こちら](https://0xdf.gitlab.io/2021/04/10/htb-apt.html)を参照してください。rpcmap.pyを使用した代替方法については、[Impacket](https://github.com/SecureAuthCorp/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-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/)
## ポート593
[rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools)の**rpcdump.exe**を使用して、このポートと対話することができます。
<figure><img src="../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
**HackenProofはすべての暗号バグバウンティの場所です。**
**遅延なしで報酬を受け取る**\
HackenProofのバウンティは、顧客が報酬予算を入金した後に開始されます。バグが検証された後に報酬を受け取ることができます。
**Web3ペントestingの経験を積む**\
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです成長するWeb3セキュリティをマスターしましょう。
**Web3ハッカーレジェンドになる**\
各検証済みのバグで評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
[**HackenProofでサインアップ**](https://hackenproof.com/register)して、ハッキングから報酬を得ましょう!
{% embed url="https://hackenproof.com/register" %}
<details>
<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>
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけて、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションを発見してください。
* [**公式のPEASSHackTricks swag**](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 repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出**してください。
</details>