Commando VM とは?
Commando VM は、Mandiant FireEye が Windows オペレーティング システムにより慣れているペネトレーション テスターのために作成したテスト プラットフォームです。
本質的に、Commando VM は、侵入テストのコミュニティで広く使われている Linux のテス トプラットフォームである Kali の姉妹製品です。これらのテストプラットフォームには、テスターがアサインメント(engagement)中に利用する一般的なツールやスクリプトがすべてパッケージされています。テスターは Windows 7 SP1 または Windows 10 に Commando VM をインストールでき、プログラムは GitHub から簡単に入手できます。
厳選した関連コンテンツ:
なぜこれは重要なのでしょうか?
これらのテス トプラットフォームが何で、どのように使うのかを理解することは、レッドチーム/ブルーチームの双方にとって重要です。お客様と仕事をする際、私がよく尋ねるのは、 Mimikatz や Bloodhound のようなツールに馴染みがあるかどうかです。意外なことに、多くのお客様はそうではありません。この事実は、学校で学んだ中心的な考えとして、攻撃者のように考えることが攻撃から身を守るために不可欠だと知っているため、私としては少し気がかりです。攻撃者があなたや、あなたが守ろうとしている環境に対して活用し得るあらゆるツールを使ってみる以外に、どうやって攻撃者のように考えられるでしょうか?
Commando VM により、攻撃者のように考えることが簡単になります。ブルーチームが仕組みを理解して学習するために、最新の優れたツールやスクリプトがパッケージされています。
何に使えますか?
Commando VM には、さまざまな目的のための多くのツールが同梱されています。Commando VM が支援できるカテゴリの一部は次のとおりです:
- 情報収集
- エクスプロイト(悪用)
- Web アプリケーションのテスト
Commando VM をインストールすると、下に挙げているすべてのツールが利用可能になります。
情報収集
情報収集は、環境を評価するうえで大きな比重を占めます。特権のない攻撃者に対して何が公開(露出)されているかを特定することは、ロックダウンして保護すべきものを理解するための重要なポイントです。覚えておいてください。これらのツールやスクリプトであなたが見られるものは、彼らも見られます。
- Nmap――スキャンと列挙(エニュメレーション)は、環境を理解するうえで重要です。Nmap のスキャン結果によって、ネットワーク上で利用可能なホスト、各ホストで稼働しているサービス、そしてそれらのホストで開いているポートを特定できます。
- BloodHound――Active Directory 環境をスキャンし、権限設定によって存在し得る複雑な攻撃パスを理解することは、すべてのブルーチーム担当者が行うべきことです。Bloodhound のようなツールは、こうしたパスがどこに存在するのかを特定し、是正(リメディエーション)の手順に優先順位を効率的に付けるのに役立ちます。
悪用
偵察をある程度行ったら、次のステップは見つけたものを悪用してみることです。たとえば、特定のマシンにセッションが存在している、または特定のユーザーに権限が存在していることを確認できた場合、その権限やセッションを有利に活用するためのツールがあります。
- Invoke-ACLpwn – このツールは Bloodhound の一部の機能を活用して、AD 内に存在する既存の権限関係を発見します。発見した権限をもとに、それらを連鎖させて悪用し、権限昇格を Domain Admin まで到達させようと自動的に試みます。
- Mimikatz – このツールは Windows と Active Directory を悪用し、最もよく使われるのは Pass-the-Hash や DCSync のような攻撃です。情報収集によって行うセッション列挙は、権限昇格 のために活用できるターゲットの特定につながる可能性があります。管理者、またはそれ以上の特権を持つユーザーが、あなたがアクセスできるマシン上でセッションを持っている場合、Mimikatz を使ってそのアカウントにアクセスし、権限昇格を行うか、環境内で横方向に移動することができます。
Web アプリケーションテスト
会社や環境で社内のWebアプリケーションを利用している場合は、ペネトレーションテストを実施するのが最善です。誰かがあなたの環境に侵入し、そこでそれらのアプリケーションが存在することを見つけたら、Commando VM のツールを使って脆弱性を見つけるのは簡単です。このレッスンは非常に重要です。容易に見つかる脆弱性の中には、正式な対応が始まる前に対処できるものがあるからです。
- Burp Suite——このツールは、Webアプリケーション内の脆弱性を発見し、悪用することを支援します。アプリケーションのすべてのWebページを閲覧しながら、プロキシ/リスナーを設定するだけで、多くの自動スキャンを開始でき、脆弱性を特定して説明してくれます。単純な Burp Suite スキャンで見つかるなら、経験豊富な攻撃者も同様に見つけられます。
Commando VM をダウンロードすると、これらのツールにアクセスできるようになります。各ツールがどのようなアプリケーションで、どこまで幅広く使えるのかを理解することが不可欠です。そうしないと、脆弱性の特定、権限の関係の理解、そして環境の評価が難しくなり、攻撃にさらされやすくなります。とはいえ最初のステップは、アクセス方法を知ることです。これからその内容を説明します。
Commando VM のインストールと設定
ここまでで、Commando VM の概要(高レベル)、それが重要な理由、そしてインストール後にアクセスできる既存ツールの一部について見てきました。次は、プラットフォームのインストールと設定を手順ごとに説明します。
前提条件
Commando VM は仮想マシンまたは物理マシンにインストールできます。とはいえ、導入・管理・利用が簡単になるため、仮想マシンの使用をおすすめします.. 仮想マシンなら、途中でスナップショットを作成し、遭遇した問題からロールバックすることも可能です。
Commando VM を実行するには、いくつかの最低要件を満たす必要があります。私のテストでは、以下を使用しました:
- ストレージ容量 60 GB
- メモリ 2 GB
しかし、GitHub pageを見ると、次のことを推奨しています:
- 80GB 以上のストレージ容量
- 4GB 以上のメモリ
- ネットワークアダプター 2 台
前述のとおり、Commando VN パッケージは Windows 7 SP1 または Windows 10 にインストールできます(ただし、Windows 10 ではより多くの機能をインストールできます)。いずれの場合でも、システムが完全にパッチ適用済みであることを確認してください。あわせて、インストール手順を開始する前にスナップショットを取得してください。
Commando VM のインストール
Commando VMは GitHub here からダウンロードできます。
ダウンロード後、Commando VM は次の3つの簡単な手順でインストールします:
- 昇格した PowerShell を起動します。
- 次のコマンドで実行ポリシーを unrestricted に設定します(デフォルトでは無効になっています):Set-ExecutionPolicy unrestricted。
- commando-vm-master パッケージ内の ps1installation スクリプトを実行します:
Commando VM の設定
ご覧のとおり、インストール スクリプトの実行中はいくつかのチェックが行われ、インストール前にスナップショットを取得するかどうかを確認されます。各再起動の後、ログインしてインストールを続行するために認証情報を要求します。処理の間、PowerShell ウィンドウが「いま何をインストールしているか」を更新します。さらに、自動的にインストールされるソフトウェアに関するさまざまなポップアップも表示されます。Commando VM は、侵入テストに使用するマシンでは不要であるため、Windows に最初から同梱されている多くの機能を削除または無効化します。
プロセス全体は、開始から終了までおおよそ 1 時間半で、再起動は 5 回以上行われます。各再起動には 10〜15 分かかり、その後システムが起動し直され、自動ログインしてさらにアプリケーションのインストールが続行されます。仮想マシンのリソースやインターネット速度によっては、処理時間が短くも長くもなります。新しい背景とコマンド プロンプトで再びログインできたら、完了です。必要に応じて最初からやり直せるように、もう一度スナップショットを取得してください。
インストールと再起動のプロセスを完了したら、さまざまなツールを確認できます。その後、ニーズや懸念事項に合わせてセットアップを構成してください。
含まれているツールの概要
先ほども述べたとおり、Commando VM には多くのツールが含まれています。実際、インストールの過程でハードドライブに 2GB 以上のツールが追加されました。幸いなことに、ツール一覧はカテゴリごとに整理されているため、必要なものを簡単に見つけられます:
私が特に興味を持っているいくつかのツールはこちらです:
- Active Directory ツール
- リモート サーバー管理ツール(RSAT)
- SQL Server コマンドライン ユーティリティ
- Sysinternals
- 情報収集
- BloodHound
- nmap
- ADACLScanner
- ネットワークツール
- WireShark
- 悪用
- PrivExchange
- Invoke-ACLPwn
- metasploit
- パスワード攻撃
- DSInternals
- hashcat
- ドメインパスワードスプレー
- mimikatz
- ASREPRoast
- 脆弱性分析
- Grouper2
- zBang
- Webアプリケーション
- OWASP ZAP
- BurpSuite
FAQ
FireEye Commando VM とは何ですか?
Commando VM は、Windows オペレーティング システムのほうに慣れているペネトレーション テスター向けに、Mandiant FireEye が作成したテスト プラットフォームです。
Commando VM のインストールにはどれくらい時間がかかりますか?
Commando VM のインストールには約 1 時間半かかります。
共有する
もっと詳しく
著者について
Kevin Joyce
プロダクトマネジメント担当ディレクター
Netwrix のプロダクトマネジメント担当ディレクター。Kevin はサイバーセキュリティに情熱を持ち、特に攻撃者が組織の環境を悪用するために用いる戦術や手法を理解することに注力しています。Active Directory と Windows のセキュリティに焦点を当てたプロダクトマネジメントでの 8 年の経験を通じて、その情熱を活かし、組織がアイデンティティ、インフラ、データを保護できるようなソリューションの構築を支援しています。