Kharon エージェント — AdaptixC2向けポータブルエージェント

Security

概要

Kharon は小規模で機能特化した C++ 製エージェントで、AdaptixC2 のエコシステム向けに作られています。位置独立コード(PIC)で動作し、リフレクティブローダーを利用しない設計を採用しているため、単体でのメモリ内実行やモジュール連携が可能です。横展開機能(WMI、Service Control Manager、WinRM、DCOM)や、BOF(Beacon Object File)/ .NET / シェルコードのインメモリ実行をサポート。加えてスリープ時のヒープ難読化、スタックスポッフィングや間接的なシステムコール、BOF API プロキシといった回避技術を実装し、モジュール化されたポストエクス機能群と統合して利用できます。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 1
  • ウォッチャー数: 5
  • コミット数: 9
  • ファイル数: 5
  • メインの言語: C++

主な特徴

  • 位置独立コード(PIC)ベースのエージェント設計で単体実行が可能
  • BOF / .NET / シェルコードのメモリ内実行をサポート
  • 横展開(WMI、SCM、WinRM、DCOM)機能を有するモジュール群
  • スリープ難読化・ヒープ難読化・スタックスポッフィング等の回避機構

技術的なポイント

Kharon の技術的な核は「小型かつ位置独立で拡張性のあるエージェント設計」にあります。PIC(Position Independent Code)としてビルドされるため、ロード先アドレスに依存せずにメモリ内での実行が前提になっており、リフレクティブローダーを用いない設計は単体バイナリの使用やカスタムローダとの組み合わせを容易にします。エージェント内部では、BOF(単一関数実行フレーム)や .NET ランタイムを介したインメモリ実行、純粋なシェルコード実行といった複数の実行モードをサポートし、用途に応じてモジュールを差し替えられる柔軟性を持ちます。

防御回避の観点では、スリープ動作中のヒープ難読化やスタックスポッフィング、間接システムコールの活用といったテクニックを実装しており、これらは検知ロジックやサンドボックスの一般的な観測パターンを変えることを目的とした設計上の工夫です。また、BOF API プロキシ機能により、BOF 形式のモジュールを既存のAPI呼び出し経路で間接的に実行できるようにしており、これはモジュール互換性と侵入後の運用効率を高めるための仕組みです。

拡張性については Adaptix フレームワークの Extension-Kit と互換性があり、専用の PostEx モジュール群(PostEx-Arsenal)と組み合わせることで、横展開や後続攻撃に必要な機能を追加できます。コードベースは C++ で記述され、主要なディレクトリは agent 側とリスナー(listener_kharon_http)に分かれており、軽量な構成であるため解析やカスタマイズが比較的扱いやすい構造です。なお、設計上の機能や回避手法はセキュリティ研究や防御評価のための参照として有用ですが、具体的な悪用方法や侵害手順の提供は行われていません。

プロジェクトの構成

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

  • .gitignore: file
  • LICENSE: file
  • README.md: file
  • agent_kharon: dir
  • listener_kharon_http: dir

まとめ

AdaptixC2 環境向けの小型で拡張性の高い C++ エージェントで、モジュール連携と回避機構に重点を置いた設計が特徴です(約50字)。

リポジトリ情報:

READMEの抜粋に記載されている設計方針やモジュール連携の仕組みは、研究や防御評価での参照に適しています。リポジトリを参照する際は、利用目的と法的・倫理的な要件を遵守してください。