web-dev-qa-db-ja.com

VMにローカルペンテストラボを安全に構築

VM(おそらくLinuxのVirtualBox)に OWASP WebGoat または同様の脆弱なWebアプリをセットアップしたい。便宜上、私が使用するプライマリマシンの1つ(たとえば、インターネットに接続されたラップトップ)で実行します。仮想マシンでは、ウイルスに満ちたマシンをロードするなど、完全なセキュリティと分離が提供されないことに気付きましたが、ペンテストWebアプリについて学び、練習するために使用します。

これを安全に行うには何が必要ですか? VM)でセキュリティ関連の「サンドボックス」を(その目的専用の隔離されたマシンではなく)アクティブに使用されているマシンで実行する場合のリスクは何ですか?

編集:明確にするために、ここでの私の主な質問は、VMウイルスではなく脆弱なWebアプリをテストするためのものです) /マルウェア分析など.

16
jrdioko

仮想マシンで脆弱なWebアプリを設定することは比較的安全です。リスクは、攻撃者がネットワーク経由でそのVM=にアクセスすることです。そのため、仮想マシンへのネットワークアクセスを制限している限り、問題は発生しません。

私が理解しているように、デフォルトではVMWare(および他のVMソフトウェア)がこのように構成されます。

VM背後でNATを実行しているホストコンピューターがある場合、現実的には十分安全です。攻撃者は脆弱なWebアプリにアクセスできません。インターネットなので、心配する必要はありません。他の方法でネットワークに接続できた場合は、他にも心配する必要があります。

5
Andy Smith

あなたが望む中心的な考え方は:

仮想ではなく、本物であるかのように構築します。

何を配置しますか?ファイアウォール、アクセス制御、ロギングなど

ウイルス分析などを実行しているラボでは、通常、それをネットワークの他の部分から分離するため、ここでも同じようにします。ホストを危険にさらしてそのように広めるためにVMから抜け出すように特別に設計されたマルウェアはまだ知りません。しかし、あなたが見つけることは、多くのマルウェアは、それがVMにあることを検出し、それに応じてその活動を調整するため、分析を妨げる可能性があります。

6
Rory Alsop

仮想マシンはかなり安全ですが、私たちのコンピューターで使用する他のすべてのソフトウェアと同様に、それらにはバグと脆弱性があります。

http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=vmware&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=

vMwareソフトウェアの脆弱性。

また、使用している仮想化ソフトウェアのハイパーバイザーを悪用して回避する手法を使用するマルウェアにいつでも遭遇する可能性があります。

セットアップを簡単にするには、VMを作成して他のネットワークから分離するだけですが、特定のマルウェアが仮想化環境にあることを検出し、それに応じて動作することに注意してください!

詳細な説明については、この記事をご覧ください: http://zeltser.com/vmware-malware-analysis/

また: http://www.cert.uy/documentos/pdf/malware-lab.ppt2.pdf

1
balgan

自分のペンテストを練習するためだけにこれを行っている場合は、セキュリティは必要ありません。一つには、ウイルスで遊んではいけないということです。高度なペンテストを行う場合、Metasploitキットに組み込まれているようなマルウェアを使用する可能性がありますが、これらは犠牲PCにアップロードした制御プログラムであり、拡散を試みません(ホストを攻撃しません)マシン、彼らはネットワーク上の他のマシンに広がることを試みません)。

一般に、今日の実用的なウイルスは、サンドボックスをエスケープしてホストを攻撃することはありません。仮想マシンのサンドボックスは理論的には安全です。VMをエスケープする可能性のあるゼロデイバグが見つかることもありますが、これらのバグは見つかるとすぐにパッチが適用されます。 VMをウイルスに故意に感染させるときの主な懸念は、ウイルスが逃げることではなく、ウイルスがVMを検出してシャットダウンできないため、それを分析します。

1

仮想マシンを構築してWebgoatをドロップし(WindowsまたはLinux)、ホストマシンまたはネットワークにルーティングできないネットワークアドレスを使用するだけです。次に、クライアントとしてWebgoatマシンと通信できるSamurai WTFを使用して別の仮想マシンを作成します。ウェブゴートのテスト用

0
ash

VMファイアウォールにルールを適用します。たとえば、ホストからの接続のみを受け入れ、ポート80または8080または/およびインストールした他の脆弱なWebアプリのみで接続を受け入れます。

0
dgarcia