セキュリティチームの97%は、自組織のエクスポージャーが実際に悪用可能かどうかを判断できていません。あなたのチームは大丈夫ですか?レポートを読む
Filigran
侵害・攻撃シミュレーションソフトウェア開発

敵対者のようにOpenAEVエージェントを展開し、セキュリティ態勢を検証する

19 分で読めます
Deploy OpenAEV Agents Like an Adversary and Validate Your Security Posture

OpenAEV 1.14では、Adversarial Exposure Validation (AEV)プラットフォームにおいて、OpenAEVエージェントのインストール方法を新たに導入しました。このアップデートは、パフォーマンスの強化、機能の最適化、全体的なユーザーエクスペリエンスの向上に向けた継続的な取り組みにおける重要な一歩となります。

新しいインストールモードをサポートすることで、ユーザーがより幅広い攻撃シナリオをシミュレートし、セキュリティ態勢を強化する可能性が広がります。異なるインストールモードにより、エージェントは標準ユーザーアカウントや管理者コンテキストなど、さまざまな権限レベルで動作できます。この柔軟性は、一部の攻撃シミュレーションが現実世界の脅威を正確に反映するために特定の権限を必要とするため、不可欠です。

これらの改善により、エージェントはより適応性が高く、人的側面の準備状況を評価できるようになります。


要約

  • 新しいエージェントインストールモードは、標準または管理者権限を使用して攻撃者の行動をシミュレートします。
  • エージェントは、現実世界の資格情報ベースの脅威を模倣するために、ドメインユーザーとして実行できるようになりました。
  • 完全な侵害後のフローをシミュレート:共有の列挙、資格情報の抽出、横方向の移動のテストが可能です。
  • 集約された検出結果と詳細なメトリクスにより、検知、防止、アナリストの対応を評価できます。

背景

OpenAEVエージェントは、OpenAEVプラットフォームの主要コンポーネントであり、エンドポイントの登録、割り当てられたタスクの取得、およびターゲットマシン上での実行のためのインプラントへの転送を担当します。

パフォーマンス、安全性、移植性のためにRustで開発されたエージェントは、バックグラウンドで静かに実行され、シミュレーションが干渉なく現実的に実行されるよう、エンドポイントに対して直接アクションを実行しません。Windows、Linux、macOSを含む複数のオペレーティングシステムをサポートしています。軽量で中立的な動作により、多様な環境で包括的なセキュリティ評価を実施するのに理想的です。

以下の図は、OpenAEVエージェントが典型的なアーキテクチャ内でどのように動作するかを示しています:

  • OpenAEVプラットフォームとのインターフェース
  • Microsoft Defender for EndpointsやCrowdStrikeなどのエンドポイント検知・応答(EDR)、Microsoft Sentinelとの対話
  • シミュレーションオーケストレーションをサポートするコレクターとの通信
filigran blogpost agent oaev workflow new

インストールモード

OpenAEVは現在、エージェントのために3つのインストールモードをサポートしており、それぞれ異なるメカニズムと権限レベルを使用します。

セッションユーザー

デフォルトはセッションユーザーと呼ばれるものです。このインストールは特定の権限を必要とせず、管理者アクセスなしでユーザーがインストールできます。プロセスは、エージェントをインストールしたユーザーに紐付けられます。セッションユーザーは、管理者と非管理者の両方のエージェントを許可します。このインストールモードでは、Linux/MacOSにはsystemctlまたはlaunchctlを使用し、インストールするユーザーが管理者権限を持っている場合、エージェントは管理者権限を持ちます。Windowsの場合、管理者権限を持つターミナルからエージェントがインストールされる場合はスケジュールタスクを使用し、標準ターミナルの場合はレジストリにスタートアップアプリケーションを書き込みます。

次に、両方とも管理者アクセスを必要とし、Linux/MacOSにはsystemctl/launchctlを、WindowsにはWindowsサービスを使用する2つの高度なインストールモードがあります。

サービスシステム

サービスシステムと呼ばれるインストール(このインストールモードは以前はデフォルトでした)。このインストールは、LinuxとmacOSでは"root"ユーザーを、Windowsでは"nt authority/system"を使用します。

サービスユーザー

3番目のインストールはサービスユーザーです。これはサービスシステムと非常に似ていますが、エージェントを所有するユーザーを指定できます。インストールコマンドを実行する際、ユーザーの資格情報を指定する必要があり、プロセスはこのユーザーによって所有されます。

💡1台のマシン上で、異なるインストールモードまたは異なるユーザーで複数のエージェントを実行できます。サービスシステムエージェントのみ、マシンごとに1インスタンスに制限されています。その他には制約はありません。

具体的な例を見てみましょう。1台のマシンに、次のようにインストールできます:

obas agent

ユースケース概要

OpenAEVで資格情報の悪用をシミュレート:ドメインアカウントとしてエージェントを展開

現代の攻撃シミュレーションでは、リアリズムが鍵となります。悪意のあるアクションを模倣するだけでなく、攻撃者が実際に環境内でどのように動作するかを反映する方法でそれを行うことが重要です。

この方向における大きな前進が、OpenAEVで可能になりました:

任意のドメインユーザーアカウントのIDでエージェントを展開できます—ローカルSYSTEMや管理者アカウントだけではありません。

これが重要な理由

マシンを侵害した後、実際の攻撃者は権限を昇格させる必要がないことがよくあります。代わりに、正当で見過ごされがちなドメインユーザーアカウント—特にサービスアカウント—を利用して、横方向に移動し、環境を探索し、永続性を維持します。

OpenBASのこの新機能により、まさにそれをシミュレートできます:

  • 攻撃者が盗んだ資格情報で行うように、ドメインアカウントでアクションを実行
  • SYSTEMレベルの権限に依存せず、侵害されたアカウントがどこまで到達できるかを測定
  • 単なるノイズの多い権限昇格ではなく、微妙な資格情報ベースの移動に対する検知と対応能力をテスト

現実的なシナリオ

次のような状況を想像してください:

  • 攻撃者が標準のワークステーションを侵害
  • ネットワーク共有を列挙し、ドメインサービスアカウントの平文資格情報を発見
  • 昇格された権限を使用する代わりに、単にそれらの資格情報を再利用して別の場所で認証し、操作を継続

OpenBASを使用すると、このフローをエンドツーエンドで再現できます:

  • ターゲットを列挙
  • 資格情報の露出を特定
  • それらの資格情報で認証
  • 侵害されたドメインアカウントでエージェントを展開・操作

これが実際の脅威の振る舞いであり、今やあなたのシミュレーションも同様に振る舞えます。

微妙さと正確さのために設計

OpenAEVエージェントは、一般的な攻撃者ツールキットと同様にHTTPS経由で通信するため、ネットワークトラフィックに自然に溶け込みます。ドメインコンテキストでの実行と組み合わせることで、次のようなシミュレーションが可能になります:

  • レーダーの下に潜む
  • 実際の攻撃者の戦術を反映
  • 組織の横方向移動リスクに対する高忠実度のインサイトを提供

シナリオウォークスルー:ゲストアクセス可能なサーバーの探索と資格情報の探索

この最初のスクリーンショットでは、OpenBASを通じて可能になった攻撃シミュレーションの初期段階を示します。

このシナリオは、一般的な侵害後の戦術を再現するように設計されています:攻撃者がネットワーク内のマシンに着地し、簡単に取れる成果—認証を必要とせずに共有を公開しているサーバー—を探し始めます。

attack simulation

以下、ステップごとに起こることです:

  1. ゲストアクセス可能なサーバーの列挙 シミュレーションは、ローカルネットワークをスキャンして、SMBに応答し、ゲストまたは非認証接続を受け入れるWindowsサーバーを探すことから始まります。これにより、匿名アクセスを許可する可能性のある設定ミスのある資産を特定できます。
  2. ファイル共有の発見 これらのターゲットが見つかると、シナリオは各サーバー上のファイル共有の列挙を試みます。どの共有がアクセス可能で、現在のユーザー(ゲストまたは侵害されたユーザー)が読み取りおよび/または書き込み権限を持っているかを確認します。
  3. 機密ファイルのクロール 読み取りアクセス権のある共有では、ファイル構造の再帰的スキャンを実行し、スクリプト、構成ファイル、パスワードダンプなど、機密情報を含む可能性のあるファイルを探します。
  4. 資格情報の抽出 そのようなファイルが見つかった場合、シナリオはパターンマッチングロジックを使用して、ファイルコンテンツから直接平文の資格情報(ユーザー名、パスワード、またはNTLMハッシュ)を抽出します。
  5. 横方向移動の準備 この段階で回収された資格情報は、後で使用するために保存されます。アイデアは、攻撃者が次に何をするかをシミュレートすることです:これらの盗まれた資格情報を使用して横方向移動を試みる
simulation phases copie

このフェーズは純粋に偵察と収集ですが、すでに危険なギャップが浮き彫りになっています:

  • 過度に寛容な共有設定のサーバー
  • 非認証ユーザーに公開された機密データ
  • 不適切なファイル管理による資格情報漏洩のリスク

次の段階では、これらの資格情報を使用してネットワークのより深い部分にピボットします—実際の攻撃者がするように。

simulation phases 2 copie

シミュレーションからのインサイト – 検出結果の概要

このスクリーンショットでは、シミュレーション全体で生成された統合された検出結果を見ることができます。OpenBASの主要な強みの1つは、現実的な攻撃行動をシミュレートするだけでなく、結果を即座に実用的で理解しやすいものにすることです。

シナリオの各フェーズ—サーバーのスキャン、共有の閲覧、資格情報の抽出、横方向移動の試行—が、集中化されたビューにデータをフィードバックします。以下が観察できることです:

  • シナリオレベルでは、発見されたもののハイレベルな要約が得られます:脆弱なサーバー、アクセス可能な共有、横方向移動の潜在的なパス。
  • シミュレーションレベルでは、どのエージェントによって、どのアカウントで、正確にどのアクションが実行されたかを追跡できます。
  • インジェクトレベルでは、詳細はさらに細かくなります:どのIPが非認証SMB接続に応答したか、どのファイル共有が閲覧されたか、どのファイルにアクセスされたか、そして内部で資格情報が見つかったかを確認できます。

この構造化された詳細により、防御側は次のことが可能になります:

  • 構成の弱点を迅速に特定(例:ゲストアクセスを持つ共有)
  • 公開された資格情報を特定し、どこから来たかを追跡
  • 発見されたものに基づいて、攻撃者がたどる可能性のある正確なパスをステップバイステップで確認

これは単なる可視性ではなく、明確性です。検出結果はシミュレーション内で文脈化され、チームが修復の優先順位付けとリスクの効果的な伝達を容易にします。

次のフェーズでは、これらの検出結果が回収された資格情報を使用してピボットし、エージェントを展開するために使用され、現実的な横方向移動の試みをシミュレートする方法を示します。

openbas findings

このスクリーンショットでは、シミュレーションの検出結果の明確かつ即座の概要が得られます—これは現実世界のリスクを評価する際に不可欠な機能です。

主要指標

一目で、いくつかの主要指標が際立っています:

  • secretpasswordという名前のファイルが識別され、ハードコーディングまたは保存された資格情報の存在を強く示唆しています。
  • サーバー192.168.56.23がフラグ付けされています—おそらく非認証SMB接続を受け入れたため、攻撃者にとって理想的なターゲットとなっています。
  • そのサーバー上のフォルダー/all読み取りと書き込みの両方でアクセス可能でした—これは重大な設定ミスです。
  • 2組の資格情報が回収されました:
    • 弱いvagrant:vagrantのペア
    • ドメインのようなアカウントsvc_openbasと公開されたパスワード

このレベルの可視性により、セキュリティチームは、ログやパケットキャプチャを掘り下げることなく、攻撃面を即座に評価し、悪用可能なベクトルを特定できます。

発見からアクションへ:次のステップ

資格情報を手にしたシナリオは、発見されたアカウントの1つを使用してリモートシステムに新しいOpenBASエージェント(「ビーコン」)を展開し、横方向移動を試みることができます。

認証が成功した場合:

  • エージェントは、そのアカウント(例:vagrantまたはsvc_openbas)のコンテキストで展開されます。
  • アクションは、資格情報ベースのアクセス試行を示すインジェクトレベルと、展開の成功を確認するエンドポイントビューの両方で可視化されます。
agents

セキュリティパフォーマンスの測定:検知、防止、人間の対応

シナリオが完了したので、シミュレーションから評価へと焦点を移す時です:

私たちのセキュリティ制御は攻撃を検知または阻止しましたか? アナリストは正しく解釈しましたか?

このスクリーンショットは、シナリオレベルでキャプチャされた検知と防止の結果を示しており、シミュレートされた各ステップに対してセキュリティエコシステムがどのように応答したかの包括的なビューを提供します。

各セクションが表すものは以下の通りです:

  • 防止: アクション(インジェクト)が—EDR、プロキシ、またはその他の制御によって—積極的にブロックされたかどうかを示します。たとえば、ペイロードが実行前に隔離された場合、またはネットワークリクエストが完全にブロックされた場合などです。
  • 検知: インジェクトが正常に実行されたが、SIEM、NDR、EDRなどのセキュリティ監視ツールによって検知されたことを示します—アクションを防止することなく。
  • 人間の対応: SOCチームからの反応をキャプチャします。アナリストは各検知にコメントし、分類し(例:真陽性対偽陽性)、疑いのレベルを示すことができます。これは、ツールの可視性だけでなく、アナリストの正確性と対応品質も測定するのに役立ちます。

実行されなかった最初のインジェクトをクリックして、問題について詳しく知ることができます。

最後に(演習が成功またはエラーで終了)、概要には演習の全体的な結果が表示されます…

  • 期待結果の割合(各インジェクトの平均)
  • MITRE ATT&CK結果の割合(各インジェクトの平均)
  • インジェクト結果
  • いくつかの統計
obas dash

全体サマリーからインジェクトごとの詳細へ

このビューの素晴らしい点は、複数のレベルで機能することです:

  • 高レベルでは、シナリオのカバレッジ全体像が得られます—どれだけがブロックされ、検知され、または見逃されたか。
  • さらに深く掘り下げたい場合は、各個別のインジェクトにドリルダウンして以下を理解できます:
    • 各ターゲットの実行トレースとステータス結果
    • 各ターゲットの期待結果の割合
    • 期待結果のグローバル割合とその詳細
    • グローバルステータス結果

これにより、チームは次のことが可能になります:

  • 特定の検出結果をセキュリティテレメトリと相関させる
  • 可視性のギャップを見つける(例:横方向移動がアラートをトリガーしない)
  • 検知の盲点を特定—非SYSTEM、資格情報ベースのアクセスに対しても
simulation

シミュレーションから真のインサイトへ

最終的に、このビューはループを閉じます:攻撃者の行動と防御側の反応を結びつけます。

脅威をシミュレートするだけでなく、それに対する実際の検知、防止、対応能力を測定します。

これはポイントを獲得することではありません。1つのシナリオずつ、レジリエンスを向上させることです。

今後の展開

自律的で適応的なシナリオ

さらにエキサイティングなこと:近い将来、OpenAEVはインジェクト間で検出結果を動的にチェーンする機能をサポートします。

実際には、次のことを意味します:

  • ここで発見されたIPアドレスが、共有を列挙するためのフォローアップインジェクトで自動的に再利用される可能性があります。
  • 回収された資格情報が、手動設定なしで認証ステップに渡される可能性があります。
  • シナリオ全体が、エージェントが発見したものに基づいてオンザフライで適応し、これまで以上に実際の攻撃者の行動を忠実に反映する完全自律型の攻撃チェーンを作成します。

結論

単なるアクセス以上—それは文脈的シミュレーション

ドメインアカウントとしてエージェントを展開する能力は、単なる機能以上のものです—それは脅威をエミュレートする方法における変革です。CISOにとって、これは次のことを意味します:

  • システムとチームが資格情報の悪用にどれだけうまく対処できるかをテスト
  • サービスアカウントまたは標準ユーザーに紐付けられた過剰な権限を特定
  • 攻撃者が最も操作しやすい場所で防御を改善

OpenAEVは現実に近づけます—なぜなら、そこに脅威が存在するからです。

これで、OpenAEVエージェントの異なるインストールモードがどのように機能するか、攻撃を実行する方法、組織のセキュリティ態勢を分析する方法を学びました。

これは基本的な例に過ぎません。プラットフォームはより複雑なシナリオをサポートしています。ドキュメント、ペイロードgithubリポジトリ、他のブログ投稿を探索して、より複雑な演習を作成することをお勧めします。

組み合わせは無限です!楽しんでください。そして、Slackコミュニティチャンネlで遠慮なく質問してください📢!

続きを読む

関連トピックとインサイトをご覧ください