发布时间:2014-04-28 12:22:00作者:知识屋
#01简介
Volatility是开源的Windows,Linux,MaC,Android的内存取证分析工具,由python编写成,命令行操作,支持各种操作系统。
项目地址:
https://code.google.com/p/volatility/
只介绍简单的使用,详细使用方法可以看CheatSheet。在官方网站包含Linux的相关命令参考:
https://code.google.com/p/volatility/wiki/LinuxCommandReference23#linux_pidhashtable,含以下内容
Processeslinux_pslistlinux_psauxlinux_pstreelinux_pslist_cachelinux_pidhashtablelinux_psxviewlinux_lsofProcess Memorylinux_memmaplinux_proc_mapslinux_dump_maplinux_bashKernel Memory and Objectslinux_lsmodlinux_moddumplinux_tmpfsRootkit Detectionlinux_check_afinfolinux_check_ttylinux_keyboard_notifierlinux_check_credslinux_check_foplinux_check_idtlinux_check_syscalllinux_check_moduleslinux_check_credsNetworkinglinux_arplinux_ifconfiglinux_route_cachelinux_netstatlinux_pkt_queueslinux_sk_buff_cacheSystem Informationlinux_cpuinfolinux_dmesglinux_iomemlinux_slabinfolinux_mountlinux_mount_cachelinux_dentry_cachelinux_find_filelinux_vma_cacheMiscellaneouslinux_volshelllinux_yarascan
#02安装
源代码安装方法:
apt-get install subversion-tools
svn checkout http://volatility.googlecode.com/svn/trunk/ /usr/local/src/volatility/
参考:
https://code.google.com/p/volatility/wiki/VolatilityInstallation
Back Track和Kali Linux中自带此程序。
以Kali-Linux为例,volatility在“应用程序”-“Kali Linux”-“数字取证”-“内存取证工具集”中。
#03基本使用命令
./vol.py ‐f [image] ‐profile=[profile] [plugin]
应该是一个Bug,-f后面需要跟绝对路径(Kali)。
查看扫描检查、插件、地址空间等信息
./vol.py --info
查看帮助信息
./vol.py -h/--help
查看指定插件的说明
./vol.py [plugin] --help
从扩展目录加载插件
./vol.py --plugins=[path][plugin]
检查结果输出
./vol.py --output-file=[file]
#04制作Linux系统的Profile
Volatility自带一些windows系统的profile,Linux系统的Profile需要自己制作,制作的方法如下:
(实际是将module.dwarf和system.map打包成一个zip文件,接着将zip文件移动到 volatility/plugins/overlays/linux/ 中。)
Linux的Profile文件是一个zip的压缩包。
准备
https://code.google.com/p/volatility/wiki/LinuxMemoryForensics
$ sudo zip volatility/volatility/plugins/overlays/linux/Ubuntu1204.zip volatility/tools/linux/module.dwarf /boot/System.map-3.2.0-23-generic
如果知道dump的内存是那种操作系统和操作系统版本的,可以直接制定profile;如果不知道是那种系统的内存,可以使用imageinfo选项,volatility会尝试自动判断内存的类型
vol -f /root/Downloads/pexit.vmem imageinfo
#05获取内存镜像
可以参考
http://www.forensicswiki.org/wiki/Tools%3aMemory_Imaging#LinuxDd$ sudo dd if=/dev/mem of=/tmp/mem_dump.dd bs=1MB count=1010+0 records in10+0 records out10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s
#06使用示例
检查内存进程
- 了解Linux系统常见系统进程;
- 查看自动任务进程;
- 如果系统没有重启过,但部分进程都是开机启动,查看进程运行时间;
上面有进程号1517、27157、7334创建的时间明显与其他进程的创建时间不同,为可疑进程
检查进程详细信息
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_psaux
1517进程,位置在/usr/bin/httpd,另外27157进程的参数是 -B -c,通过查找rsyslogd的帮助文件发现rsyslogd并没有-B的参数。
通过linux_pidhashtable参数可以查找到隐藏的进程
可以看到有4个rsyslogd进程与27157的进程同时建立。
使用linux_netstat查看网络链接情况。
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_netstat
异常链接的地址为210.177.175.82
可以通过linux_route_cache参数查看路由表情况。
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_route_cache
使用linux_lsof命令查看1517和27157进程相关的文件
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_lsof
注意“/tmp/.ICE-unix/-log/”文件
使用linux_proc_maps参数,可以查看进程细节包括共享库、开始和结束的位置等信息
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_proc_maps | grep 1517
查看可疑文件的位置
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_find_file -F "/tmp/.ICE-unix/-log/httpds"
vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_find_file -i 0xf5a4e568 -O /root/dump
strings /root/dump
参考:
http://sempersecurus.blogspot.com/2013/12/a-forensic-overview-of-linux-perlbot.https://code.google.com/p/volatility/wiki/CommandReference23#linux_pidhashtable
2011-06-17
电脑开机时出现lass.exe进程是病毒吗?
自拍须谨慎!教你如何通过照片定位查看拍摄地点
电脑病毒最基础知识
黑客学员必须了解的C语言技术
精典详细内网渗透专题文章
教你破解Tp-Link的无线路由密码
解决SecureCRT中文显示乱码
QQ电脑管家和360哪个好?横评实测对比
攻防实战:无线网络路由入侵过程