[[401668]] Volatility を使用して、アプリケーション、ネットワーク接続、カーネル モジュール、ファイルなどに関する情報を検索します。
コンピュータのオペレーティングシステムとアプリケーションは、メインメモリ(RAM)を使用して様々なタスクを実行します。この揮発性メモリには、実行中のアプリケーション、ネットワーク接続、カーネルモジュール、開いているファイルなど、ほぼすべての情報が含まれていますが、これらの情報はコンピュータを再起動するたびに消去されます。 記憶フォレンジックこれは、メモリから貴重な情報を見つけて抽出する方法の一つです。Volatilityは、プラグインを使用してこの種の情報を処理するオープンソースツールです。しかし、問題があります。この情報を処理する前に、物理メモリをファイルにダンプする必要がありますが、Volatilityにはこの機能がありません。 したがって、この記事は 2 つの部分に分かれています。 - 最初の部分では、物理メモリを取得し、それをファイルにダンプします。
- 2 番目の部分では、Volatility を使用してメモリ ダンプからこの情報を読み取って処理します。
このチュートリアルでは次のテスト システムを使用しましたが、どの Linux ディストリビューションでも動作するはずです。 -
$ cat / etc / redhat - release -
Red Hat Enterprise Linux release 8.3 ( Ootpa ) -
$ -
$ uname - r -
4.18 . 0 - 240.el8.x86 _64 -
$
注:パート1ではカーネルモジュールのコンパイルとロードを行います。ご安心ください。思ったほど難しくはありません。 いくつかのガイドライン: - 次の手順に従ってください。
- 実稼働システムまたはメイン コンピュータでは、これらの手順を実行しないでください。
- これらのツールの使い方に慣れ、その動作を理解するまで、必ずテスト仮想マシン (VM) を使用して実験してください。
始める前に、必要なツールをインストールしてください。Debianベースのディストリビューションをよく使用する場合は、 apt-getコマンドを使用できます。これらのパッケージのほとんどは、コードをコンパイルするために必要なカーネル情報とツールを提供しています。 -
$ yum install kernel - headers kernel - devel gcc elfutils - libelf - devel make git libdwarf - tools python2 - devel . x86_64 - y
メモリ分析を始める前に、メモリダンプが必要です。実際のフォレンジック調査では、メモリダンプは侵害されたシステム、あるいは侵害を受けたシステムから取得される可能性があります。この情報は通常、侵入がどのように発生し、その影響はどのようなものか分析するために収集・保存されます。メモリダンプが入手できない場合は、テストVMのメモリダンプを取得し、それを使用してメモリフォレンジックを実施できます。 Linux メモリ抽出ツールLiMEは、Linuxシステムでメモリを確保するためによく使われるツールです。LiMEを入手するには、以下のコマンドを使用します。 -
$ git clone https : //github.com/504ensicsLabs/LiME.git -
$ -
$ cd LiME / src / -
$ -
$ ls -
deflate . c disk . c hash . c lime . h main . c Makefile Makefile . sample tcp . c -
$
srcフォルダでmakeコマンドを実行します。これにより、`.ko` 拡張子を持つカーネルモジュールが作成されます。理想的には、 makeの最後に、 lime.koファイルの名前がlime-<your-kernel-version>.koという形式に変更されます。
-
$ make -
make - C / lib / modules / 4.18 . 0 - 240.el8.x86 _64 / build M = "/root/LiME/src" modules -
make [ 1 ]: Entering directory '/usr/src/kernels/4.18.0-240.el8.x86_64' -
<< 删节 >> -
make [ 1 ]: Leaving directory '/usr/src/kernels/4.18.0-240.el8.x86_64' -
strip -- strip - unneeded lime . ko -
mv lime . ko lime - 4.18 . 0 - 240.el8.x86 _64 . ko -
$ -
$ -
$ ls - l lime - 4.18 . 0 - 240.el8.x86 _64 . ko -
- rw - r -- r --. 1 root root 25696 Apr 17 14 : 45 lime - 4.18 . 0 - 240.el8.x86 _64 . ko -
$ -
$ file lime - 4.18 . 0 - 240.el8.x86 _64 . ko -
lime - 4.18 . 0 - 240.el8.x86 _64 . ko : ELF 64 - bit LSB relocatable , x86 - 64 , version 1 ( SYSV ), BuildID [ sha1 ]= 1d0b5cf932389000d960a7e6b57c428b8e46c9cf , not stripped -
$
システムメモリにアクセスするために、カーネルモジュールをロードします。`insmod` コマンドinsmodカーネルモジュールのロードに役立ちます。ロードされると、システムからメインメモリ(RAM)を読み取り、その内容をpathラインで指定されたディレクトリのファイルにダンプします。もう一つの重要なパラメータはformatです。これは、以下に示すようにlime形式を維持します。カーネルモジュールを挿入したら、 lsmodコマンドを使用して、実際にロードされていることを確認してください。 -
$ lsmod | grep lime -
$ -
$ insmod ./ lime - 4.18 . 0 - 240.el8.x86 _64 . ko "path=../RHEL8.3_64bit.mem format=lime" -
$ -
$ lsmod | grep lime -
lime 16384 0 -
$
pathコマンドに割り当てられたファイルが作成され、そのサイズがシステムの物理メモリ(RAM)のサイズと同じになっているはずです(当然のことですが)。メモリダンプを取得したら、 rmmodコマンドを使用してカーネルモジュールを削除できます。 -
$ -
$ ls - l ~ /LiME/ RHEL8 . 3_64bit . mem -
- r -- r -- r --. 1 root root 4294544480 Apr 17 14 : 47 / root / LiME / RHEL8 . 3_64bit . mem -
$ -
$ du - sh ~ /LiME/ RHEL8 . 3_64bit . mem -
4.0G / root / LiME / RHEL8 . 3_64bit . mem -
$ -
$ free - m total used free shared buff / cache available-
Mem : 3736 220 366 8 3149 3259 -
Swap : 4059 8 4051 -
$ -
$ rmmod lime -
$ -
$ lsmod | grep lime -
$
このメモリダンプファイルにはfileコマンドで表示されるものと同様に、生データのみが含まれています。手動で解釈することはできません。確かにASCII文字が含まれていますが、ファイルを開いてエディタで読むことはできません。hexdump hexdump出力では、最初の数バイトがEmiLであることが示されています。これは、上記のコマンドラインでリクエスト形式がlimeだったためです。 -
$ file ~ /LiME/ RHEL8 . 3_64bit . mem -
/ root / LiME / RHEL8 . 3_64bit . mem : data -
$ -
$ hexdump - C ~ /LiME/ RHEL8 . 3_64bit . mem | head -
00000000 45 4d 69 4c 01 00 00 00 00 10 00 00 00 00 00 00 | EMiL ............| -
00000010 ff fb 09 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -
00000020 b8 fe 4c cd 21 44 00 32 20 00 00 2a 2a 2a 2a 2a |.. L .! D . 2 ..*****| -
00000030 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a |****************| -
00000040 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 20 00 20 |************* . | -
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -
* -
00000080 00 00 00 00 00 00 00 00 00 00 00 00 70 78 65 6c |............ pxel | -
00000090 69 6e 75 78 2e 30 00 00 00 00 00 00 00 00 00 00 | inux . 0. .........| -
000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -
$
分析用のサンプルメモリダンプが入手できたので、以下のコマンドでVolatilityソフトウェアを入手してください。VolatilityはPython 3で書き直されていますが、このチュートリアルではPython 2で書かれたオリジナルのVolatilityパッケージを使用します。Volatility 3を試してみたい場合は、適切なGitリポジトリからダウンロードし、以下のコマンドでPython 2ではなくPython 3を使用してください。 -
$ git clone https : //github.com/volatilityfoundation/volatility.git -
$ -
$ cd volatility / -
$ -
$ ls -
AUTHORS . txt contrib LEGAL . txt Makefile PKG - INFO pyinstaller . spec resources tools vol . py -
CHANGELOG . txt CREDITS . txt LICENSE . txt MANIFEST . in pyinstaller README . txt setup . py volatility -
$
Volatilityは特定の機能を実装するために2つのPythonライブラリを使用しています。以下のコマンドを使用してインストールしてください。インストールしない場合、Volatilityツールの実行時にインポートエラーが発生する可能性があります。実行しているプラグインがこれらのライブラリを必要としない限り、これらのエラーは無視できます。必要な場合は、ツールがエラーを報告します。 -
$ pip2 install pycrypto -
$ pip2 install distorm3
最初に実行するVolatilityコマンドは、利用可能なLinux設定ファイルを一覧表示します。Volatilityコマンド実行の主なエントリポイントはvol.pyスクリプトです。これは、Python 2インタープリターで--infoオプションを指定して起動します。出力を絞り込むには、「Linux」で始まる文字列を探してください。ご覧のとおり、Linux設定ファイルはそれほど多くありません。 -
$ python2 vol . py -- info | grep ^ Linux -
Volatility Foundation Volatility Framework 2.6 . 1 -
LinuxAMD64PagedMemory - Linux - specific AMD 64 - bit address space . -
$
Linuxディストリビューションは多様で、異なるアーキテクチャ向けに構築されています。そのため、設定ファイルが必要になります。Volatilityは、情報を抽出する前に、メモリダンプがどのシステムとアーキテクチャから取得されたかを認識する必要があります。この情報を取得できるVolatilityコマンドはいくつかありますが、この方法は時間がかかります。処理を高速化するには、次のコマンドを使用してカスタムLinux設定ファイルを作成できます。 フォルダーを Volatility リポジトリのtools/linuxディレクトリに移動し、 makeコマンドを実行します。 -
$ cd tools / linux / -
$ -
$ pwd -
/ root / volatility / tools / linux -
$ -
$ ls -
kcore Makefile Makefile . enterprise module . c -
$ -
$ make -
make - C //lib/modules/4.18.0-240.el8.x86_64/build CONFIG_DEBUG_INFO=y M="/root/volatility/tools/linux" modules -
make [ 1 ]: Entering directory '/usr/src/kernels/4.18.0-240.el8.x86_64' -
<< 删节 >> -
make [ 1 ]: Leaving directory '/usr/src/kernels/4.18.0-240.el8.x86_64' -
$
新しいmodule.dwarfファイルが表示されるはずです。また、 /bootディレクトリのSystem.mapファイルも必要です。このファイルには、現在実行中のカーネルに関連するすべてのシンボルが含まれています。 -
$ ls -
kcore Makefile Makefile . enterprise module . c module . dwarf -
$ -
$ ls - l module . dwarf -
- rw - r -- r --. 1 root root 3987904 Apr 17 15 : 17 module . dwarf -
$ -
$ ls - l / boot / System . map - 4.18 . 0 - 240.el8.x86 _64 -
- rw -------. 1 root root 4032815 Sep 23 2020 / boot / System . map - 4.18 . 0 - 240.el8.x86 _64 -
$ -
$
カスタム設定ファイルを作成するには、Volatilityディレクトリに戻り、以下のコマンドを実行します。最初の引数はカスタム.zipファイルを指定します。ファイル名は自由に設定できます。私はOSとカーネルのバージョンをファイル名によく使います。次の引数は先ほど作成したmodule.dwarfファイル、最後の引数は/bootディレクトリ内のSystem.mapファイルです。 -
$ -
$ cd volatility / -
$ -
$ zip volatility / plugins / overlays / linux / Redhat8 . 3_4.18 . 0 - 240.zip tools / linux / module . dwarf / boot / System . map - 4.18 . 0 - 240.el8.x86 _64 adding : tools / linux / module . dwarf ( deflated 91 %) adding : boot / System . map - 4.18 . 0 - 240.el8.x86 _64 ( deflated 79 %)-
$
カスタム設定ファイルの準備ができました。先ほど指定した場所に.zipファイルが作成されているかどうかを確認してください。Volatilityがこのカスタム設定ファイルを検出したかどうかを確認するには、 --infoコマンドを再度実行してください。新しい設定ファイルが以下のように表示されるはずです。 -
$ -
$ ls - l volatility / plugins / overlays / linux / Redhat8 . 3_4.18 . 0 - 240.zip -
- rw - r -- r --. 1 root root 1190360 Apr 17 15 : 20 volatility / plugins / overlays / linux / Redhat8 . 3_4.18 . 0 - 240.zip -
$ -
$ -
$ python2 vol . py -- info | grep Redhat -
Volatility Foundation Volatility Framework 2.6 . 1 -
LinuxRedhat8_3_4_18_0 - 240x64 - A Profile for Linux Redhat8 . 3_4.18 . 0 - 240 x64 -
$ -
$
これで、本格的なメモリフォレンジックを行う準備が整いました。Volatilityはカスタムプラグインで構成されており、メモリダンプから情報を抽出できることを覚えておいてください。コマンドの一般的な形式は次のとおりです。 -
python2 vol . py - f < memory - dump - file - taken - by - Lime > < plugin - name > -- profile =< name - of - our - custom - profile >
この情報を使用して、 linux_bannerプラグインを実行し、メモリ ダンプから正しいディストリビューション情報を識別できるかどうかを確認します。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_banner -- profile = LinuxRedhat8_3_4_18_0 - 240x64 -
Volatility Foundation Volatility Framework 2.6 . 1 -
Linux version 4.18 . 0 - 240.el8.x86 _64 ([ mockbuild@vm09 . test . com ][ 4 ]) ( gcc version 8.3 . 1 20191121 ( Red Hat 8.3 . 1 - 5 ) ( GCC )) # 1 SMP Wed Sep 23 05 : 13 : 10 EDT 2020 -
$
ここまでは順調に進んできましたが、Linuxプラグインの名前をどうやって見つければいいのか疑問に思われるかもしれません。簡単なやり方があります。` --infoコマンドを実行して文字列linux_を抽出してください。様々な目的に応じた様々なプラグインが用意されています。以下にいくつか例を挙げます。 -
$ python2 vol . py -- info | grep linux_ -
Volatility Foundation Volatility Framework 2.6 . 1 -
linux_apihooks - Checks for userland apihooks -
linux_arp - Print the ARP table -
linux_aslr_shift - Automatically detect the Linux ASLR shift -
<< 删节 >> -
linux_banner - Prints the Linux banner information -
linux_vma_cache - Gather VMAs from the vm_area_struct cache -
linux_volshell - Shell in the memory image -
linux_yarascan - A shell in the Linux memory image -
$
linux_psauxプラグインを使用して、メモリダンプ実行時にシステム上で実行されているプロセスを確認します。リストの最後のコマンドに注意してください。これはダンプ前に実行するinsmodコマンドです。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_psaux -- profile = LinuxRedhat8_3_4_18_0 - 240x64 -
Volatility Foundation Volatility Framework 2.6 . 1 -
Pid Uid Gid Arguments -
1 0 0 / usr / lib / systemd / systemd -- switched - root -- system -- deserialize 18 -
2 0 0 [ kthreadd ] -
3 0 0 [ rcu_gp ] -
4 0 0 [ rcu_par_gp ] -
861 0 0 / usr / libexec / platform - python - Es / usr / sbin / tuned - l - P -
869 0 0 / usr / bin / rhsmcertd -
875 0 0 / usr / libexec / sssd / sssd_be -- domain implicit_files -- uid 0 -- gid 0 -- logger = files -
878 0 0 / usr / libexec / sssd / sssd_nss -- uid 0 -- gid 0 -- logger = files -
<< 删节 >> -
11064 89 89 qmgr - l - t unix - u -
227148 0 0 [ kworker / 0 : 0 ] -
227298 0 0 - bash -
227374 0 0 [ kworker / u2 : 1 ] -
227375 0 0 [ kworker / 0 : 2 ] -
227884 0 0 [ kworker / 0 : 3 ] -
228573 0 0 insmod ./ lime - 4.18 . 0 - 240.el8.x86 _64 . ko path =../ RHEL8 . 3_64bit . mem format = lime -
228576 0 0 -
$
システムのネットワーク状態を知りたいですか? linux_netstatプラグインを実行して、メモリダンプ中のネットワーク接続状態を確認します。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_netstat -- profile = LinuxRedhat8_3_4_18_0 - 240x64 -
Volatility Foundation Volatility Framework 2.6 . 1 -
UNIX 18113 systemd / 1 / run / systemd / private -
UNIX 11411 systemd / 1 / run / systemd / notify -
UNIX 11413 systemd / 1 / run / systemd / cgroups - agent -
UNIX 11415 systemd / 1 -
UNIX 11416 systemd / 1 -
<< 删节 >> -
$
次に、 linux_mountプラグインを使用して、メモリ ダンプ中にマウントされたファイル システムを確認します。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_mount -- profile = LinuxRedhat8_3_4_18_0 - 240x64 -
Volatility Foundation Volatility Framework 2.6 . 1 -
tmpfs / sys / fs / cgroup tmpfs ro , nosuid , nodev , noexec -
cgroup / sys / fs / cgroup / pids cgroup rw , relatime , nosuid , nodev , noexec -
systemd - 1 / proc / sys / fs / binfmt_misc autofs rw , relatime -
sunrpc / var / lib / nfs / rpc_pipefs rpc_pipefs rw , relatime -
/ dev / mapper / rhel_kvm -- 03 -- guest11 - root / xfs rw , relatime -
tmpfs / dev / shm tmpfs rw , nosuid , nodev -
selinuxfs / sys / fs / selinux selinuxfs rw , relatime -
<< 删节 >> -
cgroup / sys / fs / cgroup / net_cls , net_prio cgroup rw , relatime , nosuid , nodev , noexec -
cgroup / sys / fs / cgroup / cpu , cpuacct cgroup rw , relatime , nosuid , nodev , noexec -
bpf / sys / fs / bpf bpf rw , relatime , nosuid , nodev , noexec -
cgroup / sys / fs / cgroup / memory cgroup ro , relatime , nosuid , nodev , noexec -
cgroup / sys / fs / cgroup / cpuset cgroup rw , relatime , nosuid , nodev , noexec -
mqueue / dev / mqueue mqueue rw , relatime -
$
どのカーネルモジュールがロードされているか知りたいですか? Volatility では、このためのプラグインlinux_lsmodも提供しています。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_lsmod -- profile = LinuxRedhat8_3_4_18_0 - 240x64 -
Volatility Foundation Volatility Framework 2.6 . 1 -
ffffffffc0535040 lime 20480 -
ffffffffc0530540 binfmt_misc 20480 -
ffffffffc05e8040 sunrpc 479232 -
<< 删节 >> -
ffffffffc04f9540 nfit 65536 -
ffffffffc0266280 dm_mirror 28672 -
ffffffffc025e040 dm_region_hash 20480 -
ffffffffc0258180 dm_log 20480 -
ffffffffc024bbc0 dm_mod 151552 -
$
どのプロセスがどのファイルを開いているか知りたいですか? linux_bashプラグインはこの情報を一覧表示できます。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_bash -- profile = LinuxRedhat8_3_4_18_0 - 240x64 - v -
Volatility Foundation Volatility Framework 2.6 . 1 -
Pid Name Command Time Command -
-------- -------------------- ------------------------------ ------- -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 lsmod -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 rm - f . log -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 ls - l / etc / zzz -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 cat ~/. vimrc -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 ls -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 cat / proc / 817 / cwd -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 ls - l / proc / 817 / cwd -
227221 bash 2021 - 04 - 17 18 : 38 : 24 UTC + 0000 ls / proc / 817 / -
<< 删节 >> -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 gcc prt . c -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 ls -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 ./ a . out -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 vim prt . c -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 gcc prt . c -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 ./ a . out -
227298 bash 2021 - 04 - 17 18 : 40 : 30 UTC + 0000 ls -
$
どのファイルがどのプロセスによって開かれているかを知りたいですか? linux_lsofプラグインはこの情報を一覧表示できます。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_lsof -- profile = LinuxRedhat8_3_4_18_0 - 240x64 -
Volatility Foundation Volatility Framework 2.6 . 1 -
Offset Name Pid FD Path -
------------------ ------------------------------ -------- -------- ---- -
0xffff9c83fb1e9f40 rsyslogd 71194 0 / dev / null -
0xffff9c83fb1e9f40 rsyslogd 71194 1 / dev / null -
0xffff9c83fb1e9f40 rsyslogd 71194 2 / dev / null -
0xffff9c83fb1e9f40 rsyslogd 71194 3 / dev / urandom -
0xffff9c83fb1e9f40 rsyslogd 71194 4 socket :[ 83565 ] -
0xffff9c83fb1e9f40 rsyslogd 71194 5 / var / log / messages -
0xffff9c83fb1e9f40 rsyslogd 71194 6 anon_inode :[ 9063 ] -
0xffff9c83fb1e9f40 rsyslogd 71194 7 / var / log / secure -
<< 删节 >> -
0xffff9c8365761f40 insmod 228573 0 / dev / pts / 0 -
0xffff9c8365761f40 insmod 228573 1 / dev / pts / 0 -
0xffff9c8365761f40 insmod 228573 2 / dev / pts / 0 -
0xffff9c8365761f40 insmod 228573 3 / root / LiME / src / lime - 4.18 . 0 - 240.el8.x86 _64 . ko -
$
メモリダンプからこの情報を読み取って処理することで、さらに多くの洞察を得ることができます。Pythonに精通していて、この情報がどのように処理されるのか興味がある場合は、すべてのプラグインが保存されているディレクトリに移動し、興味のあるプラグインを選択して、Volatilityがどのようにこの情報を取得するかを確認してください。 -
$ ls volatility / plugins / linux / -
apihooks . py common . py kernel_opened_files . py malfind . py psaux . py -
apihooks . pyc common . pyc kernel_opened_files . pyc malfind . pyc psaux . pyc -
arp . py cpuinfo . py keyboard_notifiers . py mount_cache . py psenv . py -
arp . pyc cpuinfo . pyc keyboard_notifiers . pyc mount_cache . pyc psenv . pyc -
aslr_shift . py dentry_cache . py ld_env . py mount . py pslist_cache . py -
aslr_shift . pyc dentry_cache . pyc ld_env . pyc mount . pyc pslist_cache . pyc -
<< 删节 >> -
check_syscall_arm . py __init__ . py lsmod . py proc_maps . py tty_check . py -
check_syscall_arm . pyc __init__ . pyc lsmod . pyc proc_maps . pyc tty_check . pyc -
check_syscall . py iomem . py lsof . py proc_maps_rb . py vma_cache . py -
check_syscall . pyc iomem . pyc lsof . pyc proc_maps_rb . pyc vma_cache . pyc -
$ -
$
Volatilityは多くのセキュリティプラグインを提供しているので気に入っています。これらの情報は手動で取得するのが難しいです。 -
linux_hidden_modules - Carves memory to find hidden kernel modules -
linux_malfind - Looks for suspicious process mappings -
linux_truecrypt_passphrase - Recovers cached Truecrypt passphrases
Volatility を使用すると、メモリ ダンプ内でシェルを開くこともできるため、上記のすべてのコマンドの代わりにシェル コマンドを実行して同じ情報を取得できます。 -
$ python2 vol . py - f ~ /LiME/ RHEL8 . 3_64bit . mem linux_volshell -- profile = LinuxRedhat8_3_4_18_0 - 240x64 - v -
Volatility Foundation Volatility Framework 2.6 . 1 -
Current context : process systemd , pid = 1 DTB = 0x1042dc000 -
Welcome to volshell ! Current memory image is : -
file : ///root/LiME/RHEL8.3_64bit.mem -
To get help , type 'hh()' -
>>> -
>>> sc () -
Current context : process systemd , pid = 1 DTB = 0x1042dc000 -
>>>
メモリダンプは、Linuxの内部動作を理解するための優れた方法です。Volatilityのすべてのプラグインを試して、その出力を詳細に調べてください。そして、この情報が侵入やセキュリティ問題の特定にどのように役立つかを考えてみましょう。これらのプラグインの動作を深く掘り下げ、改善に取り組んでみてください。もし、あなたがやりたいことを実現するプラグインが見つからない場合は、自分で作成してVolatilityに提出し、他の人が使えるようにしましょう。 |