• 検索結果がありません。

Linux 用 Windows サブシステムのセットアップ まず Windows Subsystem for Linux をインストールする必要があります ここに良い説明があります :

N/A
N/A
Protected

Academic year: 2021

シェア "Linux 用 Windows サブシステムのセットアップ まず Windows Subsystem for Linux をインストールする必要があります ここに良い説明があります :"

Copied!
11
0
0

読み込み中.... (全文を見る)

全文

(1)

らかの愛

発行: 2017/8/25 著者: Gerald Carsula

私は通常マルウェア解析ラボマシンに Linux を使用しています。しかし最近 Windows

Subsystem for Linux(WSL)に興味を持っており、それを試してみるべきだと思いました。今の ところ Linux から、私たちが Trustwave SpiderLabs で使っている Windows のリバースエンジニ アリングツールと並んで使う多くのツールにアクセスできるのが楽しいです。

Cuckoo Sandbox は、私が Linux で使用するツールの 1 つです。私は、それがインストールす るのが簡単ではない時代から使ってきました。しかし Cuckoo 2.0 では「pip install cuckoo」と同 じくらい簡単にできました。私は WSL の調査を始めたいので、この投稿を書くことにしました。 Cuckoo の公式ドキュメントには現在 Windows ホスト上でセットアップする方法に関する情報が ないので、試してみたいと思っている人に役立つことを願っています。

始めましょう!

最初のステップとして、私は Cuckoo のコンポーネントのどれが WSL の下にインストールでき るかを調べました。実際の Linux カーネルを使用していないため、WSL ですべてがサポートさ れているわけではありません。これが、VirtualBox のようなアプリや、tcpdump のようなネット ワーキングツールのようなアプリで、現在 WSL の下ではサポートされていない理由です。 インストールの準備のために、WSL 配下にインストール可能なコンポーネントと、Windows 配 下にインストールされるコンポーネントを分割します。たとえば、WSL 配下に LAMP サーバー (Linux-Apache-Mysql-Php)をインストールし、残りのツールは Windows ホストにインストール しました。

Cuckoo は組み込みの Django Web アプリケーションを使用しているので、Apache は必須では ありませんが、マルウェア分析のために毎日使用しているので、私は Apache をインストールし ました。これは私がマルウェアを騙し、データの抽出プロセスを制御することを可能にします。 私はまた、デフォルトのデータベース SQLite の代わりに、Cuckoo のために MySQL を使用し ました。

(2)

Linux 用 Windows サブシステムのセットアップ

まず Windows Subsystem for Linux をインストールする必要があります。ここに良い説明があ ります:https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

WSL をインストールしたら、「Bash on Ubuntu on Windows」アプリを開いて、次のようにします:

# 最新のアップデートを入手する $ sudo apt-get update

$ sudo apt-get upgrade

# LAMP サーバーをインストールする $ sudo apt-get install lamp-server ^

# MongoDB をインストールする $ sudo apt-get install mongodb

# Apache、MySQL、MongoDB を実行する $ sudo service apache2 start

$ sudo service mysql start $ sudo service mongodb start

ブラウザを開き、http://localhost/に行きます。以下に示すように Apache のデフォルトページ が表示されるはずです。

(3)

ホストの準備

この場合、Windows 10 は私たちのホストであり、そこで Cuckoo や他の依存関係をインストー ルします。Cuckoo は 2.0 で多くの改善を行いました。その 1 つはインストールプロセスで、次 のように簡単です:

C:\> pip install cuckoo

オプションで、Yara と Volatility もインストールできます。Windows で Yara をインストールする には、次の手順に従ってください:

http://yara.readthedocs.io/en/v3.4.0/gettingstarted.html#installing-on-windows

Volatility をインストールするには、次のコマンドを実行します:

C:\> pip install distorm3 C:\> pip install pycrypto C:\> pip install volatility

Yara for Python と Volatility が正しくインストールされているかどうかをテストするには、エラー なしで以下を実行できるか確認してください:

C:\> python -c "import yara" C:\> python -c "import volatility"

(4)

MySQL 用の Python モジュールもインストールする必要があります。インストールするには、次 のコマンドを実行します:

C:\> easy_install mysql-python

注:この Python モジュールにはeasy_install を使用しました。プレコンパイル済みの Python Egg がすでにリポジトリにアップロードされているようです。あなたがpip を望むな ら、mysql-python の Wheel(.WHL)ファイルをこのリンクからダウンロードし、' pip install <WHEEL_FILE> ' を実行することができます。また、適切な開発環境があり、ソースから mysql-python をコンパイルしたい場合は、代わりに' pip install mysql-python 'を実行でき ます。

Cuckoo がインストールされ、その依存関係が作成されたので、これを初期化することができま す:

C:\> cuckoo init

それは次のパスに「Cuckoo Working Directory」(CWD)を作成します:

%USERPROFILE%\.cuckoo(C:\Users\<username>\.cuckoo) CWD セットアップで、Cuckoo の設定を開始できます。これを行うには、Windows エクスプロー ラーで '%USERPROFILE%⧵.cuckoo⧵conf'に移動し、次の設定ファイルを変更する必要がありま す: cuckoo.conf [データベース] connection = mysql://cuckoo:cuckoo@127.0.0.1/cuckoo # 注:私はパスワードとして「cuckoo」、データベース名に「cuckoo」という MySQL ユーザー 「cuckoo」を作成しました。 auxillary.conf [sniffer] enabled = yes tcpdump = c:\tools\tcpdump\tcpdump.exe # 注:ロケーションパスは windump.exe のインストール場所によって異なります。そして、 windump.exe の名前を tcpdump.exe に変更しました

(5)

virtualbox.conf [virtualbox]

path = C:¥Program Files¥Oracle¥VirtualBox¥VBoxManage.exe

interface =¥Device¥NPF_ {57998A2E-0606-4E86-A107-E7856A3794A3} # 注:すべてのネットワークインターフェイスを一覧表示するには、コマンド: # C:\tools\tcpdump> tcpdump.exe -D machines = cuckoo1 [cuckoo1] label = Win7x64 # ゲストイメージのラベル名 platform = windows ip = 192.168.56.101 # ゲストイメージの host-only adapter のスタティック IP snapshot = cuckoo # スナップショットを作成し、それを cuckoo と命名

reporting.conf [mongodb] enabled = yes 次に、次のコマンドを実行して、コミュニティベースの Cuckoo Signatures をダウンロードします: C:\> cuckoo community

Tcpdump

WinDump は基本的には Windows プラットフォーム用の tcpdump で、以下からダウンロードで きます: https://www.winpcap.org/windump/install/default.htm

WinDump のデフォルトのファイル名は windump.exe です。インストール時に tcpdump.exe とい う名前に変更しました。

さらに、Cuckoo にはsniffer.py (C:⧵Python27⧵Lib⧵site-packages⧵cuckoo⧵auxiliary⧵sniffer.py )というTcpdump のラッパーがあります。tcpdump を呼び出し、その出力を解析します。唯一 の問題は、Windows での tcpdump の出力が、出力に「¥r」を追加する場合と少し違っているこ とです。このため、正しく動作させるためには sniffer.py を微調整する必要がありました。同じ 変更を行うには、sniffer.py ファイルを開き、次の行に "\r"を追加して編集する必要がありま す:

(6)

for line in err.split("\r\n"):

if not line continue or line.startswith(err_whitelist_start): continue 注: "\r"が追加されました。 次のように編集することもできます: err_whitelist_start =( "tcpdump:listening on", "c:\\tools\\tcpdump\\tcpdump.exe:listening on", ) 注:パスには、tcpdump.exe をインストールした場所への実際のパスが反映されている必要が あります。 また sniffer.py は、インターネットアクセスと Cuckoo エージェントとの通信の両方に対して、1 つのネットワークアダプタしか想定していないようです。ただしここでの練習では、2 つのネット ワークアダプタを使用するようにゲストイメージをセットアップしました。このブログの次のセク ション「ゲストの準備」でこれについてさらに述べます。私はsniffer.py で次のようなコード行を 修正し、パケットキャプチャの作業を行いました。 注:デフォルト設定では、 'virtualbox.conf'に入力した IP からパケットをキャプチャしたいのです が、私の場合はインターネット接続が NAT アダプタを経由します。マルウェアのネットワークア クティビティをキャプチャできるようにするため、ホストマシンに出入りするパケット (「DESKTOP-FG7MR6D」)をキャプチャします。

(7)

ゲストの準備

VirtualBox を使用して仮想マシンを作成し、2 つのネットワークアダプタをセットアップします。1 つは Host-Only で、もう 1 つは NAT です。Host-Only アダプタは、NAT アダプタがインターネ ットアクセス用である間に、Cuckoo によってゲストイメージ内のエージェントと通信するために 使用されます。Linux での Cuckoo 設定では、インターネットアクセスと Cuckoo Agent の両方 の通信用に Host-Only アダプタが 1 つだけ必要です。私はまだ Windows ホストでその可能性 を探っていませんが、もしあなたがするのであれば、私はそれを聞けてうれしいです。

DHCP を無効にして Host-Only アダプタを構成するには、次の手順を実行します。

1. VirtualBox Manager を開く。

2. File > Preferences > Network をクリックする。 3. Host-only Networks タブをクリックする。

4. “VirtualBox Host-Only Ethernet Adapter”をハイライトし、Edit(スクリュードライバのよ うなアイコン)をクリックする。

5. DHCPServer タブをクリックする。 6. “Enable Server”のチェックを外す。

(8)

また、ゲストイメージ内にホスト専用アダプタのスタティック IP アドレスがあることを確認してく ださい。VirtualBox Host-only アダプタのデフォルトの IP 範囲は 192.168.56.0/24 です。最後 に、Windows ファイアウォールを無効にしてください。

ゲストイメージ内に Python をインストールする必要があります。Python インストーラは、こちら からダウンロードできます(https://www.python.org/downloads/)。Pillow Python モジュールも インストールする必要があります。ゲスト画像のスクリーンショットを撮るために Pillow を使用 します:

C:\> pip install Pillow

これで Python がインストールされたので、Cuckoo のエージェント(

%USERPROFILE%¥.cuckoo¥agent¥agent.py)をゲストイメージにコピーできます。agent.py を実 行してから、ゲストイメージのスナップショットを作成します。

(9)

Cuckoo を使う

Cuckoo を使用するには、Cuckoo 自体と同様に、組み込みの Web アプリケーションを実行しま す。次のコマンドを個別に実行できます。

(10)

C:\> cuckoo web runserver # 組み込みの Django Web アプリケーションを実行する

処理のために Cuckoo にファイルを送信するには、ブラウザを開き、http://localhost:

8000/submit/に行きます。この Web ユーザーインターフェイスは Cuckoo のもう一つの改良点 です。以下がスクリーンショットです:

(11)

結論

私の最初の興奮は、WSL に Cuckoo のコンポーネントをすべてインストールすることができな かったときには小さくなりましたが、WSL はまだ初期段階にあり、改善すべき点はまだまだあり ます。ですが、私は今や私のホストとして Windows を持つことができ、PC 上で多くの仮想マシ ンを立てることなく Linux 上で自分の好きなツールを使用することができてうれしいです。 Microsoft と Canonical の協力によって、最高の 2 つの世界を持つことができそうです。

参照

関連したドキュメント

アンチウイルスソフトウェアが動作している場合、LTO や RDX、HDD 等へのバックアップ性能が大幅に低下することがあります。Windows Server 2016,

※証明書のご利用は、証明書取得時に Windows ログオンを行っていた Windows アカウントでのみ 可能となります。それ以外の

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3

つまり、p 型の語が p 型の語を修飾するという関係になっている。しかし、p 型の語同士の Merge

これからはしっかりかもうと 思います。かむことは、そこ まで大事じゃないと思って いたけど、毒消し効果があ

ある架空のまちに見たてた地図があります。この地図には 10 ㎝角で区画があります。20

まず、本校のコンピュータの設置状況からお話します。本校は生徒がクラスにつき20人ほど ですが、クラス全員が

真竹は約 120 年ごとに一斉に花を咲かせ、枯れてしまう そうです。昭和 40 年代にこの開花があり、必要な量の竹