DCOM Exec
Try Hard Security Group
MMC20.Application
このテクニックについての詳細情報は、https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/から元の投稿をチェックしてください
分散コンポーネントオブジェクトモデル(DCOM)オブジェクトは、ネットワークベースのオブジェクトとのやり取りに興味深い機能を提供します。Microsoftは、DCOMとComponent Object Model(COM)の包括的なドキュメントを提供しており、DCOMの場合はこちら、COMの場合はこちらでアクセスできます。PowerShellコマンドを使用してDCOMアプリケーションのリストを取得できます:
The COM object, MMC Application Class (MMC20.Application), enables scripting of MMC snap-in operations. Notably, this object contains a ExecuteShellCommand
method under Document.ActiveView
. More information about this method can be found here. Check it running:
This feature facilitates the execution of commands over a network through a DCOM application. To interact with DCOM remotely as an admin, PowerShell can be utilized as follows:
このコマンドはDCOMアプリケーションに接続し、COMオブジェクトのインスタンスを返します。その後、ExecuteShellCommandメソッドを呼び出してリモートホストでプロセスを実行できます。プロセスは以下の手順を含みます:
メソッドの確認:
RCEを取得します。
ShellWindows & ShellBrowserWindow
この技術についての詳細は、元の投稿を参照してください https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
MMC20.Application オブジェクトは、明示的な "LaunchPermissions" が不足していることが特定され、管理者がアクセスできる権限を許可するデフォルト権限になっています。詳細については、こちらのスレッドを参照し、@tiraniddo の OleView .NET の使用をお勧めします。
ShellBrowserWindow
と ShellWindows
という2つの特定のオブジェクトが、明示的な Launch Permissions が不足しているために強調されました。HKCR:\AppID\{guid}
の下に LaunchPermission
レジストリエントリが存在しない場合、明示的な権限がないことを示します。
ShellWindows
ShellWindows
には ProgID がないため、.NET メソッド Type.GetTypeFromCLSID
と Activator.CreateInstance
を使用して、その AppID を利用してオブジェクトのインスタンス化が可能です。このプロセスでは、OleView .NET を使用して ShellWindows
の CLSID を取得します。インスタンス化されると、WindowsShell.Item
メソッドを介して相互作用が可能となり、Document.Application.ShellExecute
のようなメソッドの呼び出しが行われます。
PowerShell の例として、オブジェクトのインスタンス化とリモートでコマンドを実行するコマンドが提供されました:
Excel DCOMオブジェクトを使用した横方向移動
DCOM Excelオブジェクトを悪用することで、横方向移動を実現することができます。詳細な情報については、CybereasonのブログでExcel DDEを介したDCOM経由の横方向移動を活用する議論を読むことをお勧めします。
Empireプロジェクトは、Excelを使用してDCOMオブジェクトを操作することでリモートコード実行(RCE)を実証するPowerShellスクリプトを提供しています。以下は、ExcelをRCEに悪用するためのさまざまな方法を示す、EmpireのGitHubリポジトリで利用可能なスクリプトからのスニペットです:
レータルムーブメントのための自動化ツール
これらのテクニックを自動化するために2つのツールが強調されています:
Invoke-DCOM.ps1: Empireプロジェクトによって提供されたPowerShellスクリプトで、リモートマシンでコードを実行するためのさまざまなメソッドの呼び出しを簡素化します。このスクリプトはEmpire GitHubリポジトリでアクセスできます。
SharpLateral: リモートでコードを実行するために設計されたツールで、次のコマンドと共に使用できます:
自動ツール
PowershellスクリプトInvoke-DCOM.ps1は、他のマシンでコードを実行するためのすべてのコメント付き方法を簡単に呼び出すことができます。
SharpLateralも使用できます:
参考
Try Hard Security Group
Last updated