
Elite は Covenant プロジェクトのクライアント側コンポーネントです。Covenant は .NET の攻撃対象領域を浮き彫りにし、攻撃的な .NET トレードクラフトの利用を容易にし、レッドチーマー向けの協調型コマンド&コントロールプラットフォームとして機能することを目的とした .NET コマンド&コントロールフレームワークです。
親プロジェクトである Covenant は、もはやクライアントサイドアプリケーションを必要としません。Elite は一時的に非推奨となりました。代わりに、Covenant プロジェクトに含まれる Web インターフェースを使用してください。
Elite は、いずれ Covenant プロジェクトに合わせて代替インターフェースとして最新の状態に更新される可能性がありますが、現時点ではこのプロジェクトは更新されておらず、Covenant v0.3 以降では動作しません。
Elite は、Covenant と対話するために構築された .NET Core クライアントアプリケーションです。
Covenant は、.NET の攻撃面を浮き彫りにし、攻撃的な .NET のトレードクラフトをより簡単に使用できるようにし、レッドチームのための協調的なコマンド&コントロールプラットフォームとして機能することを目的とした .NET コマンド&コントロールフレームワークです。
Covenant は、ASP.NET Core 製のクロスプラットフォームアプリケーションであり、堅牢な API を備えているため、マルチユーザーコラボレーションを可能にするクライアントサーバーアーキテクチャを実現しています。Covenant のアーキテクチャには、主に 3 つのコンポーネントがあります。
Covenant には、いくつかの主要な機能があります。
Indicators メニューに要約します。これにより、オペレーターは操作全体を通じて追跡されるアクションを実行し、それらのアクションを評価中または評価終了時にブルーチームに容易に要約して、コンフリクト解消や教育目的に使用できます。この機能はまだ初期段階にあり、改善の余地があります。まず、Covenant を起動する必要があります。Covenant README を確認して、その方法を確認してください。
Elite を使用する最も簡単な方法は、dotnet core をインストールすることです。お使いのプラットフォーム用の dotnet core は、ここ からダウンロードできます。
dotnet core をインストールしたら、dotnet CLI を使用して Elite をビルドして実行できます。
$ ~/Elite/Elite > dotnet build
$ ~/Elite/Elite > dotnet run
Elite は Docker でも実行できます。Docker にはいくつかの落とし穴があるため、Docker に精通しているか、微妙な落とし穴を学ぶ意思がある場合にのみ Docker の使用をお勧めします。
まず、Docker イメージをビルドします。
$ ~/Elite/Elite > docker build -t elite .
これで、Elite を Docker コンテナ内で実行できます。
$ ~/Elite/Elite > docker run -it --rm --name elite -v /absolute/path/to/Elite/Data:/app/Data elite --username AdminUser --computername <Covenant IP>
--username AdminUser と --computername <Covenant IP> は、Elite に渡される引数です。これは、Elite に指定された IP アドレスでホストされている Covenant インスタンスに接続し、AdminUser という名前のユーザーとしてログインするように指示します。
-it パラメーターは、対話型 tty で Elite を開始することを示す Docker パラメーターです。Elite は対話型コンソールアプリケーションであるため、これは重要です。-v /absolute/path/to/Elite/Data:/app/Data パラメーターは、ホストとコンテナ間で共有 Data フォルダーをマウントし、Elite を使用した操作中に生成された外部ツールやペイロードを簡単にコピー/ペーストできるようにします。/absolute/path/to/Elite/Data は、ご自身の Elite Data フォルダーの場所に置き換えてください。
また、AdminUser ユーザーのパスワードの入力を求められます。または、--password パラメーターを Elite に渡して非対話的に設定することもできますが、この場合、パスワードがコマンド履歴に平文で残るため、理想的ではありません。
質問がある場合や、Covenant/Elite についてもっと話したい場合は、BloodHound Gang Slack の #Covenant チャンネルに参加してください。