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

9.3 KiB
Raw Blame History

135, 593 - MSRPCのペンテスティング

htARTEHackTricks AWS Red Team Expert でAWSハッキングをゼロからヒーローまで学ぶ

HackTricksをサポートする他の方法:

経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るためにHackenProof Discordサーバーに参加しましょう!

ハッキングの洞察
ハッキングのスリルとチャレンジに深く入り込むコンテンツに参加する

リアルタイムのハックニュース
リアルタイムのニュースと洞察を通じて、ハッキングの世界の速いペースについていく

最新の発表
最新のバグバウンティの開始や重要なプラットフォームの更新に関する情報を入手する

**Discordに参加して、今日からトップハッカーと協力を始めましょう!

基本情報

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

公開された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に焦点を当てています:

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を使用すると、_ServerAlive2メソッドを悪用して、IOXIDResolver_インターフェース内からIPv6アドレス情報を取得できます。

このメソッドは、HTBボックス_APT_からIPv6アドレス情報を取得するために使用されています。0xdf APTの解説はこちらを参照してください。また、_stringbinding_を使用したImpacketのrpcmap.pyを使用した代替方法も含まれています。

ポート593

rpctoolsからのrpcdump.exeは、このポートとやり取りできます。

## 参考文献

HackenProof Discordサーバーに参加して、経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取りましょう!

ハッキングの洞察
ハッキングのスリルとチャレンジに深く入り込むコンテンツに参加しましょう

リアルタイムハックニュース
リアルタイムのニュースと情報を通じて、ハッキングの世界を最新の状態に保ちましょう

最新の発表
最新のバグバウンティの開始や重要なプラットフォームの更新情報を把握しましょう

**Discord**に参加して、今日からトップハッカーと協力を始めましょう!