BOF ExecuteAssembly — Cobalt Strike向け.NETアセンブリ実行ツール

Security

概要

BOF_ExecuteAssembly は、Cobalt Strike の Beacon 上で .NET アセンブリをメモリ内で実行するための Beacon Object File(BOF)です。リポジトリは小さく、C/C++(BOF 実装)で書かれたコードと、ビルド用の Makefile / Dockerfile、ロード用の .cna スクリプトを含みます。主な目的はディスクレス実行と検知回避(AMSI/ETW 等を意識した処理)で、レッドチームや攻撃シミュレーションでの柔軟なアセンブリ実行を想定しています。BOF 形式により Beacon から直接呼び出して動作し、標準的な Beacon ワークフローに組み込みやすく設計されています。

GitHub

リポジトリの統計情報

  • スター数: 19
  • フォーク数: 4
  • ウォッチャー数: 19
  • コミット数: 3
  • ファイル数: 6
  • メインの言語: C++

主な特徴

  • Cobalt Strike の Beacon 上でディスクレスに .NET アセンブリを実行可能
  • 検知回避を意識した実行フロー(AMSI/ETW 等への対策を組み込める設計)
  • BOF/Beacon 連携用の .cna スクリプトとビルド用 Makefile、Dockerfile を同梱
  • 小規模で持ち運びやすく、レッドチーム運用に適した実装

技術的なポイント

このプロジェクトは「BOF(Beacon Object File)」という形態をとることで、Cobalt Strike のプロセス内部でコードを実行することに注力しています。BOF は通常、C/C++ で書かれコンパクトにビルドされた関数群を Beacon にロードして呼び出す手法で、ディスクにアーティファクトを残さない点が大きな利点です。本リポジトリの核心は .NET アセンブリをメモリ上でロードして実行する仕組みであり、一般に以下の技術要素が関わります:CLR(.NET ランタイム)のホスティング API またはリフレクティブローダーを用いた Assembly.Load(byte[]) ベースの実行、アンチウイルスやプロセス検知の回避を狙った AMSI/ETW フック解除やパッチ適用、及び Beacon API と連携するための小さなラッパーです。README の構成図が示す通り、Beacon(親プロセス)上で BOF が動作し、その内部から .NET ランタイムを起動/利用してターゲットアセンブリのエントリポイントを呼び出すアーキテクチャになっています。実装面では BOF のサイズ制約や Beacon の呼び出しインターフェイスに合わせたエラーハンドリング、メモリ管理、そしてロードしたアセンブリのライフサイクル管理が重要です。ビルドは Makefile と Dockerfile を用意しており、再現性のあるクロスビルドや CI 環境での利用がしやすくなっています。なお、この種のツールは強力ですがセキュリティ・運用上のリスクが伴うため、法令および組織ポリシーに従った利用が必須です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • BOF_ExecuteAssembly.cna: file
  • Dockerfile: file
  • Img: dir
  • Makefile: file
  • README.md: file

…他 1 ファイル

まとめ

レッドチーム向けに最適化された、ディスクレスで .NET を実行する BOF 実装。運用上の注意が必要。

リポジトリ情報:

READMEの抜粋:

BOF Execute-Assembly

Beacon Object File for Cobalt Strike that executes .NET assemblies in beacon with evasion techniques.

Overview

Core Architecture

┌──────────────────────────────────────────────────────────────────────────────┐
│                         Cobalt Strike Beacon                                 │
│                         (Parent Process)                                     │
└──────────────────────────────────┬───────────────────────────────────────────┘
          ...