「CAPE v2」ではじめる実践マルウェア解析 2

マルウェア解析環境を作ってみよう(Guest OSのインストールと設定)

第2回の今回は、前回に引き続き「CAPE v2」でマルウェア解析を実行する事前準備として、解析環境を構築するためのOSインストール手順について解説します。

中村 行宏

6:30

はじめに

前回は、マルウェアを動作させるための環境構築として、ベースOSとHost OSのインストール方法を解説しました。今回は、前回から引き続き、マルウェアを動作させるための「Guest OS (Windows 10 Pro)」(以降、Windows 10 Pro)について、そのインストールと設定手順を解説します。

Windows 10 Proのインストール

  1. Host OS(Ubuntu 22.04)で「VirtualBox for Linux」を起動し、[Create a new virtual machine (VM)]を選択します。
    図1:VirtualBox for Linuxを起動
  2. VirtualBox for LinuxでWindows 10 Proをインストールします。仮想マシンの設定は下記の通りです。[Proceed with Unattended Installation]のチェックを外します。
    ■仮想マシン設定
    • VM Name: win10x64jp
    • Base Memory: 8192MB
    • Number of CPUs: 2
    • Processor: PAE/NX
    • Disk Size: 100GB
    • Network Adapter: Host-only Adapter
    • Audio: 無効
    Windowsの設定は下記の通りです。
    ■Windows 設定
    • 「プロダクトキーがありません」を選択
      (プロダクトキーがあれば、入力)
    • 「Windows 10 Pro」を選択
    • 「インターネットに接続していません」を選択
    • 「制限された設定で続行する」
    • 「デバイスのプライバシー設定の選択」は全て「いいえ」を選択
    • 「Cortana による作業の支援を許可する」は「今は実行しない」を選択
    【補足】Windowsのインストール中にマウスがコントロールできなくなってしまった場合は[Ctrl]キーを押下します。
  3. Host OS(Ubuntu 22.04)で/opt/CAPEv2/agent.pyをHomeにコピーします(図2)。
    図2:agent.pyをHomeにコピー
  4. Host OS(Ubuntu 22.04)でTerminalを起動し、下記コマンドを実行します。
    $ cd /home/cape/
    $ mkdir sysmon
    $ cd sysmon
    $ wget https://download.sysinternals.com/files/Sysmon.zip
    $ unzip Sysmon.zip
    $ wget https://raw.githubusercontent.com/olafhartong/sysmon-modular/refs/heads/master/sysmonconfig.xml
    $ cp Sysmon64.exe /home/cape/
    $ cp sysmonconfig.xml /home/cape/
  5. VirtualBox for Linuxで[Devices]→[Insert Guest Additions CD image]→以降は、デフォルト設定で「Guest Additions」をインストールし(図3)し、Windows 10 Proを再起動します。
    図3:Guest Additionsをインストール
    【補足】インストーラーが自動起動しない場合はCDドライブ(D:)を確認し、VBoxWindowsAdditions.exeをダブルクリックします。
  6. Host OS(Ubuntu 22.04)のHomeフォルダに保存したagent.py、python-3.12.0.exe、Sysmon64.exe、sysmonconfig.xmlをWindows 10 Proの「デスクトップ」上にコピーします(図4)。
    Guest Additionsをインストールしたので、マウスのドラッグ&ドラッグでコピーできます。ただし、下記の設定が必要になります。
    • [Devices]→[Shared Clipboard]→[Bidirectional]をチェック、[Enable Clipboard File Transfers]をチェック
    • [Devices]→[Drag and Drop]→[Bidirectional]をチェック
    図4:各種ファイルのコピー
  7. Windows 10 Proでpython-3.12.0.exeをダブルクリックし、インストールします(図5)。インストール時に下記ボックスをチェックし、[Customize installation]を選択します。
    • Use admin privileges when installing py.exe
    • Add python.exe to PATH
    図5:python-3.12.0のインストール (1/3)
  8. 続けて、図6のようにボックスをチェックし、Installを選択してインストールフォルダ(install location)を確認します。
    図6:python-3.12.0のインストール (2/3)
  9. 続けて、[Disable path length limit]をクリックします(図7)。
    図7:python-3.12.0のインストール (3/3)
  10. Windows 10 Proで、下記を実行します(図8)。
    1. デスクトップ上のagent.pyファイル名を変更(ファイル名は任意。ただし、拡張子はpyw) この例ではyuki.pywに変更
    2. C:¥toolsフォルダを作成
    3. C:¥toolsフォルダにyuki.pywを移動
    【補足】ファイルの拡張子が表示されていない場合は、エクスプローラで[表示]→[ファイル名拡張子] チェックします。
    図8:agent.pyのインストール (1/2)
  11. 続けて、Windows 10 Proで下記を実行します(図9)。
    • タスクスケジューラを起動し [基本タスクの作成]
      • 名前: (任意の名前)ここではyuki
      • トリガー: ログオン時
      • 操作: プログラムの開始
      • プログラムの開始
        • プログラム/スクリプト: “C:¥Program Files(x86)¥Python312-32¥pythonw.exe
        • 引数の追加: C:¥tools¥yuki.pyw
        • 「[完了]をクリックしたときに、このタスクの[プロパティ]ダイアログを開く」をチェック
        • 「最上位の特権で実行する」をチェック
    図9:agent.pyのインストール (2/2)
  12. Windows 10 Proで、デスクトップ上のSysmon64.exeとsysmonconfig.xmlファイルをc:¥toolsフォルダに移動します(図10)。
    図10:Sysmon64.exeとsysmonconfig.xmlファイルを移動
  13. Windows 10 ProでPowerShell(管理者用)から下記コマンドを実行し、Sysmonをインストールします(図11)。
    PS C:¥> cd c:¥tools
    PS C:¥> .\Sysmon64.exe -accepteula -i .¥sysmonconfig.xml
    図11:Sysmonのインストール(Guest OS)
  14. ベースOS(Windows 11)でコマンドプロンプト(管理者用)から下記コマンドを実行し、Sysmonをインストールします(図12)。
    C:¥> cd c:¥tools¥Symon #(Sysmon.zipを解凍したフォルダ)
    C:¥> Sysmon64.exe -m
    図12:Sysmonのインストール(ベースOS)
  15. Host OS(Ubuntu 22.04)でTerminalを起動し、下記コマンドを実行します。
    $ ifconfig
    図13では、vboxnet0(Host-only)のIPアドレスは「192.168.56.1」です。後に設定で使用する値なので覚えておきましょう。
    図13:NIC(vboxnet0)のIPアドレスを確認
  16. Windows 10 Proで下記を実行します。
    1. デスクトップ上にコピーしたpython-3.12.0.exeファイルを完全削除
    2. Microsoft Edgeを起動し初期設定
    3. Windows 10 Proをシャットダウン
  17. VirtualBox for Linuxで図14のようにNetwork AdapterをNATに変更し、Windows 10 Proを起動します。
    図14:一時的にNetwork AdapterをNATに変更
  18. Windows 10 Proで図15のような画面が表示されたら、アクセスを許可します。
    図15:Firewallの設定を変更
  19. Windows 10 Proでコマンドプロンプト(管理者用)画面から下記pythonコマンドを実行し、シャットダウンします(図16)。
    python -m pip install --upgrade pip
    python -m pip install Pillow==12.0.0
    python -m pip install pywin32
    図16:Pillowとpywin32をインストール
  20. VirtualBox for LinuxでNetwork AdapterをHost-only Adapterに変更し、Windows 10 Proを起動します(図17)。
    図17:Host-only Adapterに設定を戻す

Windows 10 Proの各種設定

ここまでで、Windows 10 Proのインストールは終了です。ここからは、Windows 10 Proに各種設定を行っていきます。

  1. [コントロールパネル]→[システムとセキュリティ]→[ユーザーアカウント制御の設定]→[通知しない]設定に変更します(図18)。
    図18:ユーザーアカウント制御(UAC)の無効化
  2. [コントロールパネル]→[システムとセキュリティ]→[Windows Defenderファイアウォール]→[Windows Defenderファイアウォールの有効化または無効化]→[Windows Defenderファイアウォールを無効にする(推奨されません)] 設定に変更します(図19)。
    図19:ファイアウォールの無効化
  3. [設定]→[更新とセキュリティ]→[Windowsセキュリティ]→[ウイルスと脅威の防止]→[設定の管理]→下記4項目のチェックをOFFに変更します(図20)。
    • リアルタイム保護
    • クラウド提供の保護
    • サンプルの自動送信
    • 改ざん防止
    図20:Windows Defenderの無効化
  4. コマンドプロンプト(管理者用)画面から下記コマンドを実行し、ローカルグループポリシーエディターを開きます(図21)。
    C:¥> netsh interface teredo set state disabled
    C:¥> gpedit
    図21:netshコマンド、gpeditコマンドを実行
  5. Windows 10 Proのローカルグループポリシーエディターで[コンピュータの構成]→[管理用テンプレート]→[Windowsコンポーネント]→[Windows Update]→[自動更新を構成する]→[自動更新を構成する]を無効に設定します(図22)。
    図22:Windows Updateの自動更新を無効化
  6. ローカルグループポリシーエディターで[コンピュータの構成]→[管理用テンプレート]→[Windowsコンポーネント]→[Microsoft Defenderウイルス対策]→[リアルタイム保護]→[リアルタイム保護を無効にする]→[リアルタイム保護を無効にする]を有効に設定します(図23)。
    図23:リアルタイム保護の無効化
  7. ローカルグループポリシーエディターで[コンピュータの構成]→[管理用テンプレート]→[Windowsコンポーネント]→[Microsoft Defenderウイルス対策]→[Microsoft Defenderウイルス対策を無効にする]→[Microsoft Defenderウイルス対策を無効にする]を有効に設定します(図24)。
    図24:Microsoft Defender ウイルス対策の無効化
  8. ローカルグループポリシーエディターで[コンピュータの構成]→[管理用テンプレート]→[ネットワーク]→[DNSクライアント]→[マルチキャスト名前解決をオフにする]→[マルチキャスト名前解決をオフにする]を有効に設定します(図25)。
    図25:LLMNRの無効化
  9. ローカルグループポリシーエディターで[コンピュータの構成]→[管理用テンプレート]→[システム]→[インターネット通信の管理]→[インターネット通信を制限する]→[インターネット通信を制限する]を有効に設定します(図26)。
    図26:インターネット通信の無効化
  10. コマンドプロンプト(管理者用)画面で下記コマンドを実行し(図27)、IPアドレス(DHCP)を確認します(この例では「192.168.56.101」)。
    C:¥>t; ipconfig
    表示されたIPアドレスと同じように、手動でIPアドレスを設定します。
    図27:IPアドレスの編集
  11. [コントロールパネル]→[プログラム]→[プログラムのアンインストール]→[Oracle VirtualBox Guest Additions 7.2.4]→[アンインストールと変更]を選択し、アンインストールします(図28)。
    図28:VirtualBox Guest Additionsのアンインストール
  12. Windows 10 Proを再起動してログインし、VirtualBox for Linuxでスナップショットを取得します(図29)。
    (スナップショットの名前は「snapshot1」とします。大文字・小文字に注意)。
    図29:Windows 10 Proのスナップショットを取得する
  13. VirtualBox for Linuxで画面右上の「閉じる」ボタンを押下し、[Power off the machine]を選択して[Restore current snapshot ‘snapshot1’]にチェックを入れます(図30)。
    図30:Windows 10 Proの電源をOFFする

以上で、第1回から引き続き行ってきたマルウェア環境構築としてのGuest OS(Windows 10 Pro)インストールと設定は完了です。お疲れさまでした。次回は、いよいよ「CAPE v2」の設定と実際にマルウェア解析を行ってみます。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored