私はWindowsでメモリイメージをダンプすることを知っています。 (eg-dumpit)しかし、Linuxでメモリイメージをダンプする方法がわかりません。
LinuxおよびLinuxからLinuxにssh接続などでメモリイメージを取得したい。
Linuxに入るにはどうすればよいですか?
フォレンジックのWikiから: Tools:Memory Imaging
抜粋
Linux
/ dev/mem
古いLinuxシステムでは、プログラムddを使用して、デバイスファイル/ dev/memから 物理メモリ の内容を読み取ることができます。ただし、最近のLinuxシステムでは、/ dev/memは、システムの完全な物理メモリではなく、限られた範囲のアドレスへのアクセスのみを提供します。他のシステムでは、まったく利用できない場合があります。 Linuxカーネルの2.6シリーズ全体を通して、傾向は、疑似デバイスファイルを介したメモリへの直接アクセスを減らすことでした。たとえば、このパッチに付随するメッセージ http://lwn.net/Articles/267427/ を参照してください。
/ dev/crash
Red Hatシステム(およびFedoraやCentOSなどの関連するディストリビューションを実行しているシステム)では、クラッシュドライバをロードして、未加工の物理メモリアクセス用の疑似デバイス/ dev/crashを作成できます(「modprobe crash」コマンドを使用)。このモジュールは、わずかな労力で他のLinuxディストリビューション用にコンパイルすることもできます(たとえば、 http://gleeda.blogspot.com/2009/08/devcrash-driver.html を参照)。クラッシュドライバーが変更され、コンパイルされ、他のシステムに読み込まれると、結果として得られるメモリアクセスデバイス全体をイメージ化するのは安全ではありません。 RAMでバックアップされていないアドレスを回避するように注意する必要があります。 Linuxでは、/ proc/iomemは正しいアドレス範囲を「システムRAM」とマークされたイメージに公開します。
Second Look:Linux Memory Forensics
この市販のメモリフォレンジック製品には、クラッシュドライバの修正バージョンと、特定のLinuxシステムで元のドライバまたは修正されたドライバを使用してメモリを安全にダンプするためのスクリプトが付属しています。
fmemfmem-github repofmemは、デバイス/ dev/fmemを作成するカーネルモジュールです。/dev/memに似ていますが、制限はありません。このデバイス(物理RAM)は、ddまたはその他のツールを使用してコピーできます。 2.6 Linuxカーネルで動作します。 GNU GPL。
ライム-Linuxメモリエクストラクタ
Linux Memory Extractor(Lime)はLoadable Kernel Module(LKM)であり、これにより、Androidを搭載したデバイスなどのLinuxおよびLinuxベースのデバイスから揮発性メモリを取得できます。このツールは、デバイスのファイルシステムまたはネットワークを介したメモリのダンプをサポートしています。
このfmem
の例が使用されていることがわかりました。これは、分析目的でメモリをダンプする最も簡単な方法のようです。/dev/mem
2.6.xカーネルの後、私が理解しているとおり。
$ ./run.sh
...
----Memory areas: -----
reg00: base=0x000000000 ( 0MB), size= 1024MB, count=1: write-back
reg01: base=0x0c8800000 ( 3208MB), size= 2MB, count=1: write-combining
-----------------------
!!! Don't forget add "count=" to dd !!!
$ ls /dev/f*
/dev/fb0 /dev/fd0 /dev/fmem /dev/full /dev/Fuse
$ Sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s
*ソース:すべての物理メモリをファイルにダンプするにはどうすればよいですか?
揮発性メモリを分析するために、タイトルが Linux Memory Analysis というタイトルのこのページもあります。このビデオチュートリアルには、LimeとVolatilityを使用してメモリダンプを収集し、それを分析して、メモリダンプからユーザーのBash履歴を抽出する詳細な例があります。
次のタイトルのU&L Q&Aもあります。 システムメモリ全体をダンプするにはどうすればよいですか? 追加の例と情報があります。
rekall フレームワークを確認してください。この目的のためのlinpmemアプリケーションがあります。 http://www.rekall-forensic.com/docs/Tools/index.html
SANS rekallメモリフォレンジックチートシート には、Linuxでもメモリをダンプする方法の例があります。
# ./linpmem_2.0.1 -o linux.aff4