i春秋作家:lem0n
原文来自:浅谈内存取证
0x00 前言
网络攻击内存化和网络犯罪隐遁化,使部分关键数字证据只存在于物理内存或暂存于页面交换文件中,这使得传统的基于文件系统的计算机取证不能有效应对.内存取证作为传统文件系统取证的重要补充,是计算机取证科学的重要组成部分,通过全面获取内存数据、详尽分析内存数据,并在此基础上提取与网络攻击或网络犯罪相关的数字证据,近年来,内存取证已赢得安全社区的持续关注,获得了长足的发展与广泛应用,在网络应急响应和网络犯罪调查中发挥着不可替代的作用.首先回顾了内存取证研究的起源和发展演化过程;其次介绍了操作系统内存管理关键机制;然后探讨了内存取证的数据获取和分析方法,归纳总结目前内存取证研究的最新技术;最后讨论了内存取证存在的问题、发展趋势和进一步的研究方向.
——《内存取证研究与进展[J].软件学报,2015, 26(5): 1151-1172》
0x01 实验材料
kali 渗透测试系统
easy_dump.img 内存镜像
Volatility Framework 内存取证工具
TestDisk 文件恢复工具
0x02 Volatility Framework
volatility 框架是一款用于易失性内存取证的重量级框架。在该框架下我们可以完成许多取证的操作,获取我们想取得的信息。其支持的操作系统也非常广泛,同时支持 windows , linux, Mac OSX,甚至也支持 Android 手机使用ARM处理器的取证。因此,它也是所有网络取证爱好者的必学框架。
volatility 使用: volatility -f <文件名> -–profile=<配置文件> <插件> [插件参数] 通过volatility --info获取工具所支持的profile,Address Spaces,Scanner Checks,Plugins 常用插件: imageinfo:显示目标镜像的摘要信息,知道镜像的操作系统后,就可以在 –profile 中带上对应的操作系统 pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以 psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程 pstree:以树的形式查看进程列表,和pslist一样,也无法检测隐藏或解链的进程 mendump:提取出指定进程,常用foremost 来分离里面的文件 filescan:扫描所有的文件列表 hashdump:查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容 svcscan:扫描 Windows 的服务 connscan:查看网络连接
0x03 实验过程
利用 volatility -f easy_dump.img imageinfo
查看镜像信息
root@kali:~/Desktop# volatility -f easy_dump.img imageinfo Volatility Foundation Volatility Framework 2.6 INFO : volatility.debug : Determining profile based on KDBG search... Suggested Profile(s) : Win7SP1x64, Win7SP0x64, Win2008R2SP0x64, Win2008R2SP1x64_23418, Win2008R2SP1x64, Win7SP1x64_23418 AS Layer1 : WindowsAMD64PagedMemory (Kernel AS) AS Layer2 : FileAddressSpace (/root/Desktop/easy_dump.img) PAE type : No PAE DTB : 0x187000L KDBG : 0xf8000403f070L Number of Processors : 1 Image Type (Service Pack) : 0 KPCR for CPU 0 : 0xfffff80004040d00L KUSER_SHARED_DATA : 0xfffff78000000000L Image date and time : 20