私はこのツールを使ってfmem
メモリダンプddファイルを作成します。良い結果。
しかし、この画像にどのようにアクセスできますか?試してみましたが、mount
ファイルシステムを指定する必要があると思います。しかし、与えられた可能性のどれも機能しません(ext4、vfatなど)。
答え1
fmem
はメモリスナップショットツール。 RAMコンテンツのイメージを生成します。
これは法医学や低レベルのデバッグに役立ちますが、ファイルシステムイメージではないため、どのような方法でもマウントできません。
答え2
自分で試してみると、このファイルは生データダンプ/メモリスナップショットに過ぎませんでした。したがって、16進エディタ、または同様のもの、hexdump
または適切なフォレンジック分析ツールを使用して確認できます。
ダウンロードとコンパイル
ここで最新バージョンを見つけましたfmem
。
解凍後、次のようにコンパイルできます。
$ make
rm -f *.o *.ko *.mod.c Module.symvers Module.markers modules.order \.*.o.cmd \.*.ko.cmd \.*.o.d
rm -rf \.tmp_versions
make -C /lib/modules/`uname -r`/build SUBDIRS=`pwd` modules
make[1]: Entering directory `/usr/src/kernels/3.14.4-100.fc19.x86_64'
CC [M] /home/saml/Downloads/fmem/fmem_1.6-0/lkm.o
LD [M] /home/saml/Downloads/fmem/fmem_1.6-0/fmem.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/saml/Downloads/fmem/fmem_1.6-0/fmem.mod.o
LD [M] /home/saml/Downloads/fmem/fmem_1.6-0/fmem.ko
make[1]: Leaving directory `/usr/src/kernels/3.14.4-100.fc19.x86_64'
fmem
カーネルモジュールをロードするには、run.sh
アーカイブを使用して埋め込みスクリプトを実行できます。
$ sudo ./run.sh
Module: insmod fmem.ko a1=0xffffffff81090ca0 : OK
Device: /dev/fmem
----Memory areas: -----
reg01: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg02: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg03: base=0x100000000 ( 4096MB), size= 4096MB, count=1: write-back
reg04: base=0x200000000 ( 8192MB), size= 1024MB, count=1: write-back
reg05: base=0x23c000000 ( 9152MB), size= 64MB, count=1: uncachable
reg06: base=0x0bc000000 ( 3008MB), size= 64MB, count=1: uncachable
-----------------------
!!! Don't forget add "count=" to dd !!!
その後、〜10 MBのデータをファイルに収集できますtst.dd
。
$ sudo dd if=/dev/fmem of=tst.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0541226 s, 185 MB/s
生成されたファイルの確認
このファイルに一般的なツールを使用すると、生のバイナリデータ以外には何も含まれていないことがわかります。
文書
$ file tst.dd
tst.dd: data
ディスクドライブ
$ fdisk -l tst.dd
Disk tst.dd: 9 MB, 9999872 bytes, 19531 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
16進ダンプ
$ hexdump -C tst.dd | head -10
00000000 53 ff 00 f0 53 ff 00 f0 c3 e2 00 f0 53 ff 00 f0 |S...S.......S...|
00000010 53 ff 00 f0 54 ff 00 f0 c9 a3 00 f0 53 ff 00 f0 |S...T.......S...|
00000020 a5 fe 00 f0 87 e9 00 f0 9f 11 00 f0 9f 11 00 f0 |................|
00000030 9f 11 00 f0 9f 11 00 f0 57 ef 00 f0 49 f5 00 f0 |........W...I...|
00000040 14 00 00 c0 4d f8 00 f0 41 f8 00 f0 9f c7 71 e1 |....M...A.....q.|
00000050 39 e7 00 f0 59 f8 00 f0 99 66 71 e1 d2 ef 00 f0 |9...Y....fq.....|
00000060 57 ff 00 f0 f2 e6 00 f0 6e fe 00 f0 53 ff 00 f0 |W.......n...S...|
00000070 53 ff 00 f0 a4 f0 00 f0 c7 ef 00 f0 01 9b 00 c0 |S...............|
00000080 9f 11 00 f0 9f 11 00 f0 9f 11 00 f0 9f 11 00 f0 |................|
2fs調整
$ tune2fs -l tst.dd
tune2fs 1.42.7 (21-Jan-2013)
tune2fs: Bad magic number in super-block while trying to open tst.dd
Couldn't find valid filesystem superblock.
山
$ sudo mount -o loop -t auto tst.dd /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
情報
[332140.394396] fmem init_module 449: init
[332140.394401] fmem find_symbols 439: set guess_page_is_ram: ffffffff81090ca0
[333010.390836] loop: module loaded
メモリをダンプできるツールカテゴリの詳細については、リファレンスセクションのリソースのfmem
リストを確認してください。
それでは、fmemのダンプファイルで何ができますか?
生成について議論する記事を見つけました。そしてこのファイルを分析します。次のタイトルの記事に記載されています。手がかりに従う:メモリ分析 - 管理ネットワーキングとセキュリティマガジン。この記事では2つのツールについて言及しました。悪魔&揮発性物質。
抜粋
悪魔
PythonスクリプトDraugrは、Linuxで最も初期のメモリ分析ツールの1つです。 Draugrスクリプトを使用すると、ユーザーは疑似デバイスを介して実行されているシステムのメモリを直接調べることができます
/dev/mem
。ただし、Draugrはファイルで使用可能なメモリダンプも分析します。 Draugrの欠点は、機能がプロセスのリストと特定のメモリ領域の抽出に制限されることです。 Draugrの開発は2009年に中止されました。揮発性物質
別のメモリ分析ツールはVolatilituxです。 Volatilituxは長い間Linuxと同等のツールと考えられてきました。Windowsシステムで使用するためのボラティリティツール。これで、ボラティリティ分析フレームワークにはLinuxサポートが組み込まれており、これについてはこの記事の後半で説明します。 Volatilityは利用可能なLinux RAM分析ツールの中で最も広範な機能を持っていますが、Volatilituxには2つの重要な機能がないことに注意する必要があります。
...
...
Draugrの既知の機能に加えて、Volatilituxを使用すると、プロセス内の開かれたファイルを表示および抽出できます。 2011年12月の新しいバージョンには64ビットのサポートが追加されました。
メモ:ウィンドウツール、揮発性fmem
ファイル出力の分析にも使用できます。