Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
rpcfirewall — Windows RPCファイアウォールは、悪意のあるリモートプロシージャコールを監査、検出、ブロックし、DCSyncやZeroLogonなどのRPCベースの攻撃による横移動、偵察、悪用を防止します。 | Kitploit
ツール/GitHubGitHub/zeronetworks/rpcfirewall
防御ツール偵察エクスプロイトIDS/IPS回避横移動ネットワークセキュリティペネトレーションテストインシデントレスポンス
GitHubzeronetworks/rpcfirewall

rpcfirewall

Windows RPCファイアウォールは、悪意のあるリモートプロシージャコールを監査、検出、ブロックし、DCSyncやZeroLogonなどのRPCベースの攻撃による横移動、偵察、悪用を防止します。

リポジトリを見る
547801年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

GitHub release (latest SemVer) GitHub all releases

もっと詳しく知りたい方へ

RPC Firewall のブログ記事や、BlackHatの講演 をご覧いただくと、RPC、RPC攻撃、そしてその解決策であるRPC Firewallについてより深く理解できます。

ご質問や問題、あるいは単に声を上げたい方は、|Zero| Labs Slackコミュニティワークスペースにご参加ください。

また、メールでのご連絡も歓迎します(そんなタイプの方)。[email protected] までお問い合わせください。

始め方

以下のチュートリアルでは、RPC Firewallの基本的なインストールとセットアップ、および様々なRPCベースの攻撃から保護するデモを示します。

RPC Firewall 2.0 チュートリアル

なぜ気にする必要があるのか?

RPCは、数多くの横移動テクニック、偵察、リレー攻撃、または単に脆弱なRPCサービスを悪用するために使用される基盤となるメカニズムです。

DCSync攻撃? RPC経由。リモートDCOM? RPC経由。WMIC? RPC経由。SharpHound? RPC経由。PetitPotam? RPC経由。PsExec? RPC経由。ZeroLogon? RPC経由… まあ、お分かりいただけるでしょう :)

用語

このドキュメントでは、以下の用語を使用します。

  • RPC Firewall: 実際のRpcFirewall.dllを指します。これは様々なRPCサーバーに読み込まれ、保護します。
  • RPC Filters: ネイティブのWindows RPCフィルタリングメカニズムを指します。
  • RPCFW Configuration: RpcFw.confファイルを指します。これはRPC FirewallとRPC Filtersの動作を制御するために使用されます。
  • RPCFW Manager: コマンドラインインターフェースで、ユーザーにRPC FirewallとRPC Filtersの両方へのアクセスを提供します。

何に使われるのか?

研究

すべてのリモートRPC呼び出しを監査するために使用できます。 リモート攻撃ツールを実行すると、どのRPC UUIDとOpnumがリモートから呼び出されたかを確認できます。

設定例はこちらにあります。

リモートRPC攻撃の検出

RPCFW Configurationが監査するように設定されている場合、イベントはWindowsイベントログに書き込まれます。 RPC Filter イベントはセキュリティログにイベントID 5712として書き込まれます。RPC Firewallのログはアプリケーション/RPCFWに書き込まれます。

ユーザーはこれらのログをSIEMに転送し、様々なサーバーにおけるリモートRPCトラフィックのベースラインを作成するために使用できます。 異常なRPC呼び出しが監査された場合、SOCチームにアラートをトリガーするために使用します。

いくつかのSigmaルールを統合しており、異常なRPCアクティビティや攻撃を検出するために使用できます。

リモートRPC攻撃の防止

RPCFW Configurationは、悪意のある可能性があるRPC呼び出しのみをブロックおよび監査するように設定できます。他のRPC呼び出しはノイズを減らしパフォーマンスを向上させるために監査されません。

悪意のある可能性のあるRPC呼び出しが検出されると、ブロックされて監査されます。これにより、SOCチームに警告を発しつつ、サーバーを保護し続けることができます。

保護を補完するために、RpcFwManager.exeを介してサポートされるRPCフィルタリング機能を使用することもできます。

そのような設定の例はこちらにあります。

RPC Firewallのコンポーネントは何ですか?

3つのコンポーネントで構成されています。

  1. RpcFwManager.exe - RPCフィルターとファイアウォールの展開のためのスタンドアロンコマンドラインマネジメントツールとして機能します。また、RPCファイアウォールを展開するためのインストール済みサービスとしても機能します。
  2. RpcFirewall.dll - RPC呼び出しの監査とフィルタリングを実行する注入DLLです。
  3. RpcMessages.dll - 関数を共有し、Windowsイベントビューアーにデータを書き込むロジックを提供する共通ライブラリです。

RPC FirewallとRPC Filtersのどちらを使うべきか?

それぞれの方法には長所と短所がありますが、RPC Firewallを使用する際のいくつかの大きな利点には特に注意が必要です。それは以下の通りです。

  1. 粒度: RPC Firewallは各RPC呼び出しに適用され、特定のRPC機能に対してより細かい制御を作成できます。
  2. 送信元アドレスの特定: RPC Firewallは呼び出し元の送信元アドレスをより適切に特定できます。RPC Filtersは名前付きパイプ(SMB)を介した呼び出しの送信元アドレスを特定できません。つまり、名前付きパイプを介したRPC呼び出しではRPCフィルタリングルールが機能しません!!!
  3. バグ!: RPC Filtersには、Microsoftが修正に積極的でない様々なバグがあります。いくつかの例として、IP範囲が機能しない、catch-allフィルターを適用できない(いくつかのドメインコントローラーサービス、例えばNetLogonに損傷を与える可能性がある)などがあります。

一方、RPC Filtersは、UUID全体の一括許可または拒否に優れており、問題なく実行できます。

使い方

ステータスは?

コマンドを実行する前に、展開のステータスを確認することをお勧めします。これは'/status'コマンドを発行することで行います。

root@kitploit:~
RpcFwManager.exe /status

これにより、RPC FirewallとRPC Filtersの両方のステータスが表示されます。インストールステータスと実行中の展開のステータスに関する詳細情報が出力されます。

'fw' / 'flt' サフィックス

ほとんどのコマンドの末尾にfwまたはfltを付けることができます。これにより、RPCFW Managerに、コマンドがRPC Firewall('fw')、RPC Filters('flt')、またはサフィックスなしの場合は両方に適用されるかを指示します。

インストール / アンインストール

関連する機能(RPC Filters / RPC Firewall / 両方)のインストールを実行します。

  • RPC Firewallのインストール: イベントログを設定し、関連するDLLを%SystemRoot%\System32フォルダーに配置し、イベントビューアー用のRPCFWアプリケーションログを設定します。また、永続化に使用される"RPC Firewall"サービスもインストールします。
  • RPC Filtersのインストール: RPCイベントのセキュリティ監査を有効にします。これらはセキュリティログにイベントID 5712として見つけることができます。

インストール/アンインストール中はイベントビューアーを閉じてください。 また、以前のバージョンがインストールされていないことを確認するために、インストール前に停止およびアンインストールすることをお勧めします。

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall
RpcFwManager.exe /install

アンインストールは逆の操作を行います。ここでも、アンインストール前にサービスが停止していることを確認することをお勧めします。

root@kitploit:~
RpcFwManager.exe /stop
RpcFwManager.exe /uninstall

起動 / 停止

RPC Filtersは、その性質上、システム全体のすべてのRPCサーバーに適用されます。このようなフィルターの適用は再起動後も永続的です。 新しいプロセスも古いプロセスも、RPCFW Configurationに従ってRPC Filtersによって保護されます。

RPC Firewallは注入され、リモートRPC呼び出しをリッスンしているRPCサーバープロセスを保護します。 これは、RPCRT4.DLL(RPCランタイム)をロードするプロセスにRPC Firewallを注入することによって行われます。ロードされると、RPC FirewallはRPCサーバーがリモートRPC呼び出しをリッスンしているかどうかを検出します。そうでない場合は、自身をアンロードします。 プロセスが有効なRPCサーバーである場合、rpcFirewallはRPCFW Configurationに従って、着信RPC呼び出しの監査と監視を開始します。

RPCサービスを保護する推奨方法は、*'/start'*コマンドを使用することです。これにより、RPC Firewallサービスが開始され('fw'またはサフィックスなしの場合)、RPC Filtersが作成されます('flt'またはサフィックスなしの場合)。

root@kitploit:~
RpcFwManager.exe /start

RPC Firewallをアドホックに使用して、特定のプロセスを保護することも可能です。これはRPC Firewallサービスを開始せず、再起動後も永続化しません。

プロセスID(PID)によって単一のプロセスを保護するには:

root@kitploit:~
RpcFwManager.exe /start pid <pid>

名前によって単一のプロセスを保護するには:

root@kitploit:~
RpcFwManager.exe /start process <プロセス名>

保護を停止するには、適切なサフィックスを付けて*'/stop'*コマンドを発行するだけです(特定のプロセスの保護を停止することはできません)。

root@kitploit:~
RpcFwManager.exe /stop

使用されたサフィックス('fw'、'flt'、またはなし)に応じて、これによりRPC Firewallサービスが停止され、すべてのプロセスからRPC Firewall DLLがアンロードされます。RPC Filtersの場合、RPCFW Managerによって生成されたすべてのフィルターが削除されます。

永続性

一度開始されると、RPC Firewallは再起動後も永続します。 RPC Filtersも永続的です。

設定

RPCFW Managerは、実行可能ファイルと同じディレクトリにあるRpcFw.confファイルを探します。 このファイルは以下の設定オプションを使用します。

重要: 各設定行は、その行がRPC Firewall用かRPC Filter用かを示すために、'fw:'または'flt:'を接頭辞として付ける必要があります。

その他の表示

RPC関連の"もっと"を表示するには、show コマンドがあります。現時点では、RPCファイアウォールモジュールで保護できない保護対象プロセスのみを表示します。

root@kitploit:~
RpcFwManager.exe /show

設定の順序は重要であり、最初に一致したものがRPC呼び出しの結果を決定します。

例えば、次の設定スニペットは、RPC Firewallを使用してDCをDCSyncから保護します。 これは、MS-DRSR UUIDの"危険な"opnum 3 DRSGetNCChangesを他のドメインコントローラーからのみ許可することで実現します。

root@kitploit:~
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr1> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 addr:<dc_addr2> opnum:3 action:allow
fw:uuid:e3514235-4b06-11d1-ab04-00c04fc2dcd2 opnum:3 action:block

設定が変更された場合は、updateコマンドを使用してrpcFirewall.dllに通知する必要があります。

root@kitploit:~
RpcFwManager.exe /update

ログの表示

RPC Firewallの場合、イベントビューアー -> アプリケーションとサービスログ -> RPCFW を開きます。 イベントID 1と2は'保護'および'保護解除'イベントを参照します。イベント3は実際のRPC呼び出しを監査します。 また、キーワード列を追加します。この列には監査成功/失敗が含まれ、RPC呼び出しがブロックされたかどうかを示します。

RPC Filtersの場合、イベントビューアー -> セキュリティ -> RPCFW を開きます。イベントID 5712でフィルターします。

貢献できますか?

はい!プルリクエストを遠慮なくお送りください。

RPC Firewallにもっと機能を追加してほしい!

私たちもそれを望んでいます! ご意見、アイデア、問題などがありましたら、[email protected] までご連絡ください。

ライセンスはありますか?

詳細については LICENSE をご覧ください。

ツールをダウンロード
パラメータ名説明サポート対象
opnum:RPC opnumに一致RPC Firewall
verbose:true または false のいずれか。trueの場合、特定のRPC呼び出しのデバッグ情報を出力します(デフォルトはfalse)RPC Firewall
prot:使用するプロトコルをプロトコルシーケンス定数のいずれかに一致させますRPC FirewallとFiltersの両方
addr:リモートIPアドレス(IPv4またはIPv6、CIDRを含む)に一致RPC Firewall、およびRPC Filtersでは部分的にサポート。詳細はこちら
uuid:特定のuuidに一致RPC FirewallとFiltersの両方
action:allow または block のいずれか(デフォルトはallow)RPC FirewallとFiltersの両方
audit:true または false のいずれか。イベントをRPCFWログに書き込むかどうかを制御します(デフォルトはfalse)RPC FirewallとFiltersの両方
sid:認証されたユーザーをセキュリティ識別子に一致させます。特定のユーザーまたはグループにできます。RPC FirewallとFiltersの両方