135, 593 - Pentesting MSRPC

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

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

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

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

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

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

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

基本情報

Microsoft Remote Procedure Call(MSRPC)プロトコルは、クライアントサーバーモデルであり、プログラムがネットワークの詳細を理解せずに別のコンピューター上のプログラムからサービスを要求できるようにするもので、元々オープンソースソフトウェアから派生し、後にMicrosoftによって開発および著作権が付与されました。

RPCエンドポイントマッパーは、TCPおよびUDPポート135、TCP 139および445でのSMB(ヌルまたは認証セッション)、およびTCPポート593でWebサービスとしてアクセスできます。

135/tcp   open     msrpc         Microsoft Windows RPC

MSRPCの動作原理

クライアントアプリケーションによって開始されるMSRPCプロセスは、ローカルスタブ手順を呼び出し、それがクライアントランタイムライブラリとやり取りしてリクエストをサーバーに準備して送信します。これには、パラメータを標準のネットワークデータ表現形式に変換する作業が含まれます。サーバーがリモートの場合、輸送プロトコルの選択はランタイムライブラリによって決定され、RPCがネットワークスタックを介して配信されることが保証されます。

公開された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: WMを介して情報収集および総当たりパスワードグラインディングに使用されるDCOMインターフェース。

IPアドレスの特定

https://github.com/mubix/IOXIDResolverを使用すると、_IOXIDResolver_インターフェース内の ServerAlive2 メソッドを悪用することが可能です。

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

有効な資格情報を使用してRCEを実行する

有効なユーザーの資格情報が利用可能な場合、impacketフレームワークのdcomexec.pyを使用してマシン上でリモートコードを実行できます。

利用可能な異なるオブジェクトで試してみてください

  • ShellWindows

  • ShellBrowserWindow

  • MMC20

ポート593

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

参考文献

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

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

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

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

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

Last updated