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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Remote-BOF-Runner — Remote BOF Runner は、Crystal Palace 製の PIC ローダーを使用して Beacon Object Files (BOFs) をリモート実行するための Havoc 拡張フレームワークです。 | Kitploit
ツール/GitHubGitHub/pard0p/remote-bof-runner
ペネトレーションテストフレームワーク特権昇格エクスプロイトフレームワーク横移動シェルコードポストエクスプロイトコマンド&コントロール学習と教育レッドチーミングペイロード開発バイナリエクスプロイト
102578ヶ月前Kitploit レビュー済み
GitHub
pard0p/remote-bof-runner

Remote-BOF-Runner

Remote BOF Runner は、Crystal Palace 製の PIC ローダーを使用して Beacon Object Files (BOFs) をリモート実行するための Havoc 拡張フレームワークです。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

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

Remote BOF Runner

Crystal Palace製のPICローダーを使用してBeacon Object Files(BOF)をリモート実行するためのHavoc拡張フレームワーク。

概要

Remote BOF Runnerは、Crystal Palace PICローダーを活用して、任意のプロセスでのBOFの安全な実行を可能にします。このフレームワークは、名前付きパイプを介した高度なプロセス間通信(IPC)メカニズムを実装し、インジェクションされたプロセスからのビーコン出力をコマンド&コントロール(C2)サーバーへ透過的に転送します。

セットアップとインストール

拡張機能のインストール

Havocの拡張機能ディレクトリに拡張機能がインストールされていることを確認してください:

root@kitploit:~
YOUR_HAVOC_FOLDER + /data/extensions/

依存関係

PICローダーをコンパイルするには、次のツールとライブラリがシステムにインストールされている必要があります:

  • MinGW-w64: Windowsターゲット用のクロスコンパイラ
  • Make: ビルド自動化ツール
  • OpenJDK 11: Java開発キット(Crystal Palaceのコンパイルに必要)
  • Zip: 圧縮ユーティリティ

詳細なセットアップ手順については、WSLセットアップガイドを参照してください。

インストールコマンド

root@kitploit:~
sudo apt-get update
sudo apt-get install mingw-w64
sudo apt-get install make
sudo apt-get install openjdk-11-jdk
sudo apt-get install zip

アーキテクチャ

コンポーネント

1. BOFインジェクタ

BOFコンポーネントは以下を担当します:

  • ダミープロセスの作成と一時停止。
  • Crystal PalaceローダーとターゲットBOFをダミープロセスにインジェクション。
  • 出力通信用のIPCチャネル(名前付きパイプ)の確立。
  • リモートBOF実行からの出力の受信と集約。

2. PICローダー(Crystal Palace)

PICローダーは以下で構成されます:

  • Crystal Palaceローダー: メモリ割り当て、BSSセクション管理、安全な実行コンテキストの初期化を処理します。
  • リモートBOFペイロード: 実行するBOFコード本体(whoami、ipconfig、cacls、reg-queryなど)。
  • 引数のマーシャリング: リモートBOF実行のためにローダーを介して渡されるシリアライズされた引数。

実行フロー

root@kitploit:~
┌───────────────────────────────────────────────────────────────────┐
│ 1. Beacon Process (Havoc)                                         │
│    ├─ Execute BOF Injector                                        │
│    ├─ Create dummy process (suspended)                            │
│    ├─ Inject PIC Loader + Remote BOF                              │
│    └─ Create IPC named pipe                                       │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 2. PIC Loader Execution                                           │
│    ├─ Crystal Palace loader                                       │
│    ├─ Performs BSS section allocation                             │
│    ├─ Initializes UI context (for .NET compatibility)             │
│    └─ Hooks beacon functions (BeaconPrintf, BeaconOutput, etc.)   │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 3. Remote BOF Execution                                           │
│    ├─ Execute target BOF (whoami, ipconfig, etc.)                 │
│    ├─ BOF calls hooked beacon functions                           │
│    ├─ Hooked functions redirect output to IPC pipe                │
│    └─ Output accumulates in beacon process via pipe               │
└────────────┬──────────────────────────────────────────────────────┘
             │
             ▼
┌───────────────────────────────────────────────────────────────────┐
│ 4. Output Collection & Transmission                               │
│    ├─ Beacon waits for remote process termination                 │
│    ├─ Accumulates all output from IPC pipe                        │
│    ├─ Aggregates fragmented messages (8KB buffer)                 │
│    ├─ Filters protocol delimiters (@START@, @END@)                │
│    └─ Transmits consolidated output to Team Server                │
└───────────────────────────────────────────────────────────────────┘

主な特徴

1. プロセス分離

  • BOF実行は分離された独立プロセスで行われます。
  • ビーコンプロセスの安定性への影響を最小限に抑えます。
  • 任意のプロセスコンテキストでの実行を可能にします。

2. IPC出力転送

  • 名前付きパイプベースの通信チャネル。
  • リモートBOFからの透過的な出力リダイレクト。
  • メッセージ断片化の処理(8KB蓄積バッファ)。
  • プロトコルデリミタのフィルタリング。

3. .NETプロセス実行

主なユースケースは、ネイティブ.NETプロセスでのBOF実行です:

ビーコンへの直接CLRロードがリスクな理由: ビーコンプロセスに.NETアセンブリを直接ロードすることは、本質的に安全ではなく、検出可能です:

  • ビーコンプロセス(通常はcmd.exeやrundll32.exeなどのネイティブバイナリ)は、通常CLRを生成しません。
  • 非.NETプロセスにCLRがロードされると、即座にEDR/XDRアラートがトリガーされます。

可能な解決策: ネイティブ.NETプロセスへのインジェクション: ビーコンにCLRをロードする代わりに、すでに.NETネイティブであるプロセスにinline-execute-assembly BOFをインジェクションして実行します:

root@kitploit:~
// ❌ DETECTABLE: Direct execution in beacon
beacon.exe (native) → load ClrCreateInstance → load .NET assembly → EDR ALERT

// ✅ STEALTHY: Execution in native .NET process
dotnet.exe (native .NET) → inject BOF → inline-execute-assembly → 
execute .NET assembly in already-CLR context → normal behavior

このアプローチは、.NETプロセス内で.NETを実行することが通常のアプリケーション動作と区別できないという事実を利用します。

4. Crystal Palace統合

  • 位置独立コード(PIC)の実行。
  • ハッシュベースの関数ルックアップによる動的API解決。
  • インポートアドレステーブル(IAT)への依存なし。
  • ディープインジェクションシナリオに適しています。

実行モード

ローカル実行

root@kitploit:~
remote-bof-runner whoami
remote-bof-runner ipconfig
remote-bof-runner cacls C:\Windows\System32

リモートホスト実行

root@kitploit:~
remote-bof-runner reg-query DC01 HKLM SYSTEM\CurrentControlSet

レジストリクエリ

root@kitploit:~
remote-bof-runner reg-query HKLM SYSTEM\CurrentControlSet\Control\Lsa
remote-bof-runner reg-query HKLM SYSTEM\CurrentControlSet\Control\Lsa RunAsPPL

.NETアセンブリ実行

root@kitploit:~
remote-bof-runner execute-assembly --dotnetassembly "/Payloads/Rubeus.exe" --assemblyargs "triage"

出力例:

execute-assembly

利用可能なBOF

  • whoami - 現在のユーザーとグループ情報を表示します(CS-Situational-Awareness-BOF)。
  • ipconfig - ネットワークアダプタの構成を表示します(CS-Situational-Awareness-BOF)。
  • cacls - ファイルのアクセス許可を一覧表示します(CS-Situational-Awareness-BOF)。
  • reg-query - Windowsレジストリを照会します(CS-Situational-Awareness-BOF)。
  • execute-assembly - .NETアセンブリを実際のプロセスにロードします(https://github.com/VoldeSec/PatchlessInlineExecute-Assembly)。
  • bof - カスタムBOFバイナリを実行します。

運用セキュリティ(OPSEC)に関する考慮事項

⚠️ 重要: このプロジェクトはProof-of-Concept(概念実証)であり、デフォルトではOPSECを優先しません。

推奨される修正

BOFインジェクタとPICローダーの両方に、敵対的シミュレーションのための大幅なハードニングが必要です:

BOFインジェクタのハードニング

  • カスタムプロセス作成メソッドを実装する(CreateProcessWではない)。
  • 標準のWriteProcessMemory以外の代替インジェクション技術を使用する。
  • IPCパイプ名を難読化する(識別子をランダム化する)。

PICローダーのハードニング

  • 通信プロトコル(パイプメッセージ)を暗号化する。
  • 既知のシグネチャに対するYARAルール回避を実装する。
  • プロセスフックを回避するメソッドを追加する(間接システムコール、アンフッキング手法など)。
  • ターゲットBOFと引数を暗号化して保存するメソッドを追加する。

参考文献

  • Crystal Palace
  • LibIPC - 名前付きパイプに基づくプロセス間通信用のCrystal Palace共有ライブラリ。
  • PatchlessInlineExecute-Assembly - ハードウェアブレークポイントを使用したパッチレスAMSIおよびETWバイパスにより、プロセス内に.NETアセンブリをロードするBOF InlineExecute-Assembly。
  • CS-Situational-Awareness-BOF - Beacon Object Filesを使用して実装された状況認識コマンド。

免責事項

このツールは、教育および許可されたセキュリティテストの目的でのみ提供されます。コンピュータシステムへの不正アクセスは違法です。ユーザーは、適用されるすべての法律および規制の遵守を確保する責任があります。

ツールをダウンロード