◆シナリオ◆
Windows および Linux OS から RAM ダンプを取得する方法を理解する必要があります。
RAM には、マシンの電源が失われると失われる揮発性データが含まれているため、このプロセスでは、調査者は主にマシンの RAM ダンプをキャプチャする必要があります。このシナリオでは、調査者は Windows ワークステーションと Linux ワークステーションの両方で RAM の取得を実行します。
◆目的
Windows および Linux ワークステーションで RAM の取得を実行する方法
RAM (ランダム アクセス メモリ) は、コンピューティング デバイスに搭載されている揮発性メモリ ストレージで、デバイスがアクセスする必要があるデータを一時的に保持します。
◆概要
Windows システムで RAM の取得を実行するのに役立つBelkasoft RAM Capturerツールは、LiME と fmem は Linux システムでも同じことを行います。
Windows
1,
Belkasoft RAM Capturerフォルダてデスクトップに貼り付けます。
2,
ここで、デスクトップ --> Belkasoft RAM Capturer フォルダ --> x64 ディレクトリに移動し、 RamCapture64.exeをダブルクリックしてアプリケーションを起動します。
3,
キャプチャした RAM を保存するフォルダーを割り当てる必要があります。したがって、フォレンジック ディスク (F ドライブ)に移動し、 Windows RAMという名前のフォルダーを作成します。
次に、 [出力フォルダー パスの選択] フィールドに出力のパス (ここではF:\Windows RAM )を入力し、[キャプチャ] をクリックします。
4,
次のスクリーンショットに示すように、アプリケーションは RAM のキャプチャを開始します。
5,
メモリ ダンプが正常に作成されたら、[閉じる]をクリックしてアプリケーションを閉じます。
6,
F:\Windows RAMに移動して、作成されたメモリ ダンプを表示します。ダンプはyyyymmdd.mem形式で保存されます。ここで、yyyy は年、mm は月、dd は日付を表します。
7,
このようにして、疑わしい Windows マシンのメモリ ダンプをキャプチャできます。これらのダンプは、揮発性メモリを調査する際の調査者にとって重要な証拠源として機能します。
Linux
1,
ホームディレクトリにfmemフォルダーとLiMEフォルダー貼り付けます。
2,
ランチャー パネルから[ターミナル]アイコンをクリックして、コマンド ライン ターミナルを起動します。
3.
コマンドラインターミナルが起動します。アプリケーションをインストールするには、端末のroot権限が必要です。
そこで、「 sudo su 」と入力してEnterを押します。パスワードの入力を求められます。パスワードとして「toor 」と入力し、 Enterを押します。
ここで、次のスクリーンショットに示すように、ルート端末に入ります。
4,
このマシンで RAM の取得を開始する前に、 fmemをインストールする必要があります。
ターミナルでcd fmem/ と入力し、Enterを押します。
5,
fmem をインストールする前に、すべての依存関係が満たされていることを確認する必要があります。したがって、ターミナルにapt install -y build-essentialと入力し、 Enterを押します。
※apt install -y build-essentialコマンドが実行されていない場合は、 Ubuntu Suspect仮想マシンを再起動し、root権限を取得し、コマンドcd fmem/を実行してから、上記のコマンドを実行すると正常に実行されます。
※インターネット接続に問題が発生している場合は、 ifdown -aコマンドを実行し、その後ifup -aコマンドを実行してから、 apt install -y build-essentialコマンドを実行します。
6,
「 make」と入力してEnter キーを押し、fmemに関連する必要なライブラリをすべてソース コードからビルドします。
7,
ここで、「bash run.sh」と入力し、Enter キーを押してfmemツールをインストールします。
8,
このラボでは、ローカル取得方法とリモート取得方法を使用して RAM を取得します。ローカルで RAM を取得するにはddとLiMEを使用し、リモートで RAM を取得するにはddを使用します。
RAM をローカルで取得するには、dd if=/dev/fmem of=/home/james/ubuntu_local_ram.dd bs=1MBと入力し、 Enter を押します。
これにより、ホームフォルダー内のマシンの RAM がubuntu_local_ram.ddという名前でダンプされ始めます。
取得手続きが完了するまでには時間がかかります。RAM のダンプが成功すると、次のスクリーンショットに示すように操作の統計が表示されます。
9,
次に、ホームフォルダーに移動して、作成されたubuntu_local_ram.ddファイルを表示します。
10,
次に、RAM の取得に使用するために、マシンに LiME ツールをインストールします。したがって、コマンド プロンプトにcd /home/james/LiME/src/と入力し、 Enterを押します。
11,
次に、「make」と入力してEnter キーを押し、LiME に関連する必要なライブラリをすべてソース コードからビルドします。
12,
RAM をローカルに取得するには、insmod lime-4.15.0-45-generic.ko “path=../../ubuntu_local_ram.mem format=lime”と入力し、 Enterを押します。これにより、ホームディレクトリにubuntu_local_ram.memという名前でライム形式で RAM のイメージのダンプが開始されます。
※カーネル モジュールのバージョンは、疑わしいマシンにインストールされているUbuntu OSのバージョンによって異なります。この場合、それは4.15.0-45-genericです。
13,
LiMEは画像の取得にかなりの時間がかかります。以下のスクリーンショットに示すように、ホームディレクトリに移動してRAM ダンプを確認します。
14,
dd と LiME を使用して、Ubuntu の疑わしいマシン上で RAM をローカルに取得する方法を実証しました。次に、 ddとnetcatを使用してRAM のリモート取得を実行します。
これを行うには、[Ubuntu Forensics]切り替え、コマンド ラインターミナルを起動し、rootシェルに入ります。
15,
「nc -l 1234 > ubuntu_remote_ram.dd 」と入力し、Enterを押します。これにより、ポート1234でnetcat リスナーが開始されます。
16
次に、Ubuntu Suspect仮想マシンに切り替えます。デフォルトでは、Jamesユーザー プロファイルが選択されており、[パスワード] フィールドに「toor」と入力し、 Enter キーを押してログインします。
17,
ルート端末で、「dd if=/dev/fmem bs=1024 | dd if=/dev/fmem bs=1024 |」と入力します。nc 10.10.1.9 1234と入力し、Enterを押します。
18,
このコマンドを入力すると、 dd コマンドの出力が10.10.1.9にリダイレクトされます。これは、 Ubuntu Forensics仮想マシンの IP アドレスです。
Enterを押すと、画像取得プロセスが開始されます。RAM を取得すると、次のスクリーンショットに示すように操作の統計が表示されます。
9,
Ubuntu Forensics仮想マシンに戻ります。デフォルトでは、Jasonユーザー プロファイルが選択されており、[パスワード] フィールドに「toor」と入力し、 Enter キーを押してログインします。
20,
ホームディレクトリに移動します。次のスクリーンショットに示すように、 Ubuntu の疑わしい仮想マシンの RAM イメージがubuntu_remote_ram.ddという名前でダンプされていることがわかります。
21,
このようにして、 ddとLiME を使用してローカルおよびリモートで RAM を取得できます。このような RAM ファイルの検査については、「CHFIv10 モジュール 06 Windows フォレンジック」および「CHFIv10 モジュール 07 Linux および Mac フォレンジック」で説明されています。
Ubuntu ForensicsおよびUbuntu Suspect仮想マシンで開いているウィンドウをすべて閉じます。