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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/med0x2e/vba2clr
Scripting & AutomationPost-ExploitationRed TeamingPayload DevelopmentAdversarial Attack
GitHubmed0x2e/vba2clr

vba2clr

Running .NET from VBA

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

人気

すべて見る →

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

すべてのツールを探索

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

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

TLDR:

VBA から AccessVBOM(Visual Basic プロジェクトへのプログラムによるアクセスが信頼されていない)を回避した後、AppDomain.ExecuteAssembly またはその他の便利なメソッドを使用して、CLR(.NET)アセンブリをローカルおよびリモートで VBA に読み込むさまざまな方法を試しているだけです。

  • vba2clr.*.vba:
    • AccessVBOM レジストリキーを 1 に設定します。
    • Word.Application COMオブジェクトをインスタンス化します。(Excel.Application、MS PowerPoint、Access なども可能です)。
    • 文字列からマクロを追加します(マクロは b64/hex エンコードされた ExecuteAssembly.vba に対応します)。
    • wordObj.Application.Run... を使用して ExecuteAssembly.vba マクロを実行します。

VBA から .NET:

  • ExecuteAssembly.clr.2.0.vba: .NET 3.5 まで

    • 必要な mscordlib 参照を追加します
    • 必要なオブジェクト(IDomain、ICRHost)をインスタンス化します
    • 必要な AppDomain.ExecuteAssembly 引数を2つの別々の配列(変数、型)にパックします
    • DispCallFunc を使用して AppDomain.ExecuteAssembly(Arg1, Arg2)(VFTable オフセット 51)を呼び出します。ここで、Arg1 は ".NET アセンブリ URL" または "ローカルパス"、Arg2 は戻り値です。
    • AppDomain メソッドの VFTable オフセットは AppDomain IDL _AppDomain.idl で確認できます。ただし、AppDomain インターフェースは IUnknown インターフェースから継承しているため、関数/メソッドの VTable オフセットは3番目以降から始まることに注意してください。これは、IUnknown から継承するインターフェースでは、vtable の最初の3エントリが QueryInterface、AddRef、Release メソッドに設定されているためです。
    • WinDbg または IDA も、関数/メソッドの VTable オフセットを抽出するための代替手段として使用できます。
  • ExecuteAssembly.clr.x.vba: .NET 2、3.5、4.x をサポートします。

OPSEC ノート:

  • Word.Application(または Excel.Application など)の COM オブジェクトを作成すると、メインの WinWord.exe プロセスの代わりに、svchost.exe の子プロセスとして追加の WinWord.exe が生成されます。
  • AccessVBOM レジストリキーは、WScript.Shell を使用した COM 経由で変更/復元されます。win32 API を使用する方がより良い代替手段になる可能性があります。
  • VBA で win32 API を使用して CLR をホストすることは、AccessVBOM レジストリキーを更新するよりも明らかに安全です。これはまたの日にします...
  • System.CodeDom.Compiler などの他の .NET API を使用して、VBA から C# コードをコンパイル/実行できます。以下の参照を確認してください。

参照:

  • https://github.com/jet2jet/vb2clr
  • https://github.com/med0x2e/NET-Assembly-Inject-Remote
ツールをダウンロード