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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DCOMrade — 脆弱なDCOMアプリケーションを列挙するためのPowerShellスクリプト | Kitploit
ツール/GitHubGitHub/sud0woodo/dcomrade
脆弱性分析横移動ポストエクスプロイトペネトレーションテストレッドチーミング
GitHubsud0woodo/dcomrade

DCOMrade

脆弱なDCOMアプリケーションを列挙するためのPowerShellスクリプト

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

人気

すべて見る →

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

すべてのツールを探索

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

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

DCOMrade

DCOMradeは、横方向の移動、コード実行、データ流出などに悪用される可能性のあるDCOMアプリケーションを列挙するPowerShellスクリプトです。このスクリプトはPowerShell 2.0で動作するように作られていますが、それ以降のすべてのバージョンでも動作します。現在、以下のWindowsオペレーティングシステム(x86およびx64の両方)をサポートしています。

  • Microsoft Windows 7
  • Microsoft Windows 10
  • Microsoft Windows Server 2012 / 2012 R2
  • Microsoft Windows Server 2016

背景

現在、私はHackDefenseでインターンシップを行っており、既存のDCOM横方向移動技術の調査と、これらの(および新しい可能性のある技術)列挙を自動化する方法を模索しています。この研究から、このスクリプトと、以下にリンクされた関連する研究論文が生まれました。

仕組み

このスクリプトは、Matt Nelson(@enigma0x3)の研究、特にペネトレーションテスターやレッドチームに役立つDCOMアプリケーションを見つける方法について詳しく書かれた第2ラウンドのブログ記事に基づいて作成されました。

まず、対象システムとのリモート接続が確立され、この接続はスクリプト全体でさまざまな操作に使用されます。対象システム上でPowerShellコマンドが実行され、すべてのDCOMアプリケーションとそのAppIDが取得されます。AppIDはWindowsレジストリをループ処理し、エントリにLaunchPermissionサブキーが設定されていないAppIDをチェックするために使用されます。これらのAppIDは保存され、関連するCLSIDを取得するために使用されます。

スクリプトはOSごとに特定のブラックリストを使用します。これが、対象オペレーティングシステムに異なるオプションがある理由です。ブラックリストは、アクティブ化できないDCOMアプリケーションによってスクリプトが停止する可能性のあるCLSIDエントリをスキップし、対象システムへの負荷を軽減し、スクリプトの完了時間を短縮します。

CLSIDを使用して、関連するDCOMアプリケーションをアクティブ化できます。'Shortcut' CLSIDは、それに関連するMemberTypesの数をカウントするために使用され、デフォルトのMemberTypes数を確認します。この数値は、この数値とは異なるCLSIDをチェックするために使用されます。スクリプトは、Microsoft Windowsオペレーティングシステム間で共有されているCLSIDであることから、'Shortcut'のCLSID()を使用してこれを行います。の数が異なるCLSIDは、(悪用)可能なまたはを持つ可能性があり、配列に追加されます。

HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}
MemberTypes
Method
Property

配列内のCLSIDは、MemberTypes内の文字列に基づいてチェックされ、(悪用)可能な方法を示す可能性があります。この文字列のリストはVulnerableSubsetファイルにあります。このリストは、すべての脆弱なDCOMアプリケーションを完全に見つけるためのものではありませんが、このリストがプロセスの動的な部分であることで、スクリプトのユーザーは目的に役立つ可能性のあるDCOMアプリケーションの機能を示す特定の文字列を検索できるようになります。

スクリプトの結果はHTMLレポートとして出力され、予防策としてシステムの監査に使用できるはずです。攻撃側としては、執筆時点でマスターブランチへの追加が承認待ちのEmpireモジュールを作成しました。自分でEmpireに追加したい場合は、こちらにあるモジュールを追加することで可能です。

アイデア、スクリプト、および可能な検出方法の完全な技術的説明については、関連する研究論文をお読みください。

前提条件

このスクリプトは、Empireモジュールとして使用しない場合、スクリプトの動作と対象マシンへの接続方法が異なるため、いくつかの制限があります。

  • このスクリプトを動作させるには、WindowsファイアウォールでWindowsリモート管理サービスを許可する必要があります(5985)。
  • 対象システムのネットワークプロファイルがPublicに設定されている場合、対象システムでWindowsリモート管理サービスを使用できるようにするために、次のコマンドを実行する必要があります: Enable-PSRemoting -SkipNetworkProfilecheck -Force
  • このスクリプトは、対象システムのローカル管理者の資格情報を持っている場合にのみ機能します。これらの資格情報がないと、対象マシンとのリモートセッションを開始したり、DCOMアプリケーションをアクティブ化したりすることはできません。

使用例

Microsoft Windowsドメイン内の場合:

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [コンピュータ名 / IP] -User [ローカル管理者] -OS [オペレーティングシステム] -Domain [ドメイン名]

Microsoft Windowsドメイン外の場合:

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [コンピュータ名 / IP] -User [ローカル管理者] -OS [オペレーティングシステム]

制限事項

  • 現在、スクリプトはインスタンス化/アクティブ化されたDCOMアプリケーションを解放しようとしますが、一部のアクティブ化は新しいプロセス(Internet Explorerなど)を開始します。プロセスを停止することも可能ですが、対象システムのユーザーがその特定のアプリケーションを使用している場合、そのユーザーに対してもプロセスが停止することになります。
  • もう1つの点は、おそらく私の不十分なコーディングスキルに起因するものですが、対象システムのリソースが十分でない場合、スクリプトが対象システムにかなりの負荷をかける可能性があることです。本番環境やサーバーで使用する際は注意してください。
  • スクリプトの完全な実行には時間がかかる場合があります。これは、DCOMアプリケーションの数と脆弱なサブセットファイルのサイズに依存します。

謝辞

このスクリプトは、Eva Tanaskoska氏が行ったDCOM横方向移動ワークショップに触発されました。このワークショップがなければ、これを自動的に列挙しようというアイデア全体は決して生まれなかったでしょう。

Matt Nelson氏(@enigma0x3)の研究のおかげで、自動化の形式を考案するのに十分な情報を見つけることができました。

横方向移動に利用可能なDCOM技術のほとんどをまとめ、その仕組みについて詳しく説明しているPhilip Tsukerman氏の記事にも感謝します。

ツールをダウンロード