Answers:
这是有关如何转储Linux内存的eHow页面
Linux为此提供了两个虚拟设备“
/dev/mem
”和“/dev/kmem
”,尽管出于安全原因,许多发行版默认禁用它们。“/dev/mem
”链接到物理系统内存,而“/dev/kmem
”映射到整个虚拟内存空间,包括任何交换。两种设备均作为常规文件工作,并且可以与dd或任何其他文件操作工具一起使用。
这将导致“ 内存映像工具”上的“ ForensicsWiki”页面上的“ Linux / Unix”部分,
- dd 在Unix系统上,程序dd可用于使用设备文件(例如/ dev / mem和/ dev / kmem)捕获物理内存的内容。在最近的Linux内核中,/ dev / kmem不再可用。在最新的内核中,/ dev / mem还有其他限制。并且在最近的情况下,默认情况下,/ dev / mem也不再可用。在整个2.6内核系列中,趋势是减少通过伪设备文件对内存的直接访问。例如,请参阅此修补程序随附的消息:http : //lwn.net/Articles/267427/。在Red Hat系统(以及派生的发行版,如CentOS)上,可以加载崩溃驱动程序以创建用于内存访问的伪设备(“ modprobe crash”)。
- 二次查看 这种商用内存分析产品具有从Linux系统本地获取内存的功能,或者可以通过DMA或通过网络从远程目标获取内存。它带有预编译的物理内存访问驱动程序(PMAD)模块,用于来自最常用Linux发行版的数百个内核。
- Idetect(Linux)
- fmem(Linux)
fmem是内核模块,它创建设备/ dev / fmem,类似于/ dev / mem,但没有限制。可以使用dd或其他工具复制此设备(物理RAM)。适用于2.6 Linux内核。在GNU GPL下。- 金鱼
金鱼是Mac OS X的实时取证工具,仅供执法人员使用。其主要目的是提供一个易于使用的接口,以通过Firewire连接转储目标计算机的系统RAM。然后,它将自动提取当前用户的登录密码以及任何可用的打开的AOL Instant Messenger对话片段。执法部门可以联系goldfish.ae获取下载信息。
另请参见:Linux内存分析。大多数Linux上
也普遍提供GDB。
而且,始终建议您避免覆盖未知的内存,否则可能导致系统损坏。
波动性似乎运行良好,并且与Windows和Linux兼容。
从他们的网站:
Volatility支持所有主要的32位和64位Windows版本和Service Pack(包括XP,2003 Server,Vista,Server 2008,Server 2008 R2和Seven)的内存转储。无论您的内存转储是原始格式,Microsoft故障转储,休眠文件还是虚拟机快照,Volatility都可以使用它。我们现在还支持原始或LiME格式的Linux内存转储,并包括35个以上的插件,用于分析2.6.11-3.5.x以及Debian,Ubuntu,OpenSuSE,Fedora,CentOS和发行版中的32位和64位Linux内核。曼德拉(Mandrake)。我们支持38位版本的Mac OSX内存转储(从32位和64位)从10.5到10.8.3 Mountain Lion。还支持带有ARM处理器的Android手机。
Second Look是在Linux中转储内存的一种好方法,方法很简单:http : //secondlookforensics.com/。
您还可以尝试使用最近发布的内核模块LiME:http : //code.google.com/p/lime-forensics/
作为确认,我能够使用以下方法转储CentOS 7.x VM的内存:
$ head /dev/mem | hexdump -C
00000000 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 |S...S...S...S...|
00000010 53 ff 00 f0 53 ff 00 f0 cc e9 00 f0 53 ff 00 f0 |S...S.......S...|
00000020 a5 fe 00 f0 87 e9 00 f0 53 ff 00 f0 46 e7 00 f0 |........S...F...|
00000030 46 e7 00 f0 46 e7 00 f0 57 ef 00 f0 53 ff 00 f0 |F...F...W...S...|
00000040 22 00 00 c0 4d f8 00 f0 41 f8 00 f0 fe e3 00 f0 |"...M...A.......|
00000050 39 e7 00 f0 59 f8 00 f0 2e e8 00 f0 d4 ef 00 f0 |9...Y...........|
00000060 a4 f0 00 f0 f2 e6 00 f0 6e fe 00 f0 53 ff 00 f0 |........n...S...|
00000070 ed ef 00 f0 53 ff 00 f0 c7 ef 00 f0 ed 57 00 c0 |....S........W..|
00000080 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 |S...S...S...S...|
*
00000100 59 ec 00 f0 3d 00 c0 9f 53 ff 00 f0 ed 69 00 c0 |Y...=...S....i..|
00000110 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 53 ff 00 f0 |S...S...S...S...|
*
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000afea0 00 00 00 00 00 00 00 00 aa aa aa 00 aa aa aa 00 |................|
000afeb0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
...
...
000b0000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
000c0000 55 aa 40 e9 62 0a 00 00 00 00 00 00 00 00 00 00 |U.@.b...........|
000c0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 42 |..............IB|
000c0020 4d 00 9c 80 fc 0f 75 06 e8 4f 01 e9 bc 00 80 fc |M.....u..O......|
鉴于这55aah出现在c0000h-effffh范围内,很可能是PNP扩展标头:
参考:BIOS引导规范3.3具有PnP扩展接头的设备
所有带有选件ROM的IPL设备必须包含一个有效的选件ROM头,该头位于系统内存地址C0000h和EFFFFh之间,边界为2k,以55AAh开头。仅当设备具有PnP扩展标头时,才可以控制其引导。扩展头的地址位于标准选项ROM头中,偏移量为+ 1Ah,其中包含用于配置设备的重要信息。它还包含指向设备选件ROM(BCV或BEV)中的代码的指针,BIOS将调用该选件从设备引导。有关PnP扩展标题的结构,请参见附录A。具有PnP扩展头的IPL设备有两种引导方式。它必须包含BCV或BEV。