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

9.4 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 を使用すると、IOXIDResolver インターフェース内の ServerAlive2 メソッドを悪用することが可能です。

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

ポート593

https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctoolsrpcdump.exe がこのポートとやり取りできます。

## 参考文献

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

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

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

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

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