linux监控内存的工具,Linux下内存取证工具Volatility的使用

#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,含以下内容Processes

linux_pslist

linux_psaux

linux_pstree

linux_pslist_cache

linux_pidhashtable

linux_psxview

linux_lsof

Process Memory

linux_memmap

linux_proc_maps

linux_dump_map

linux_bash

Kernel Memory and Objects

linux_lsmod

linux_moddump

linux_tmpfs

Rootkit Detection

linux_check_afinfo

linux_check_tty

linux_keyboard_notifier

linux_check_creds

linux_check_fop

linux_check_idt

linux_check_syscall

linux_check_modules

linux_check_creds

Networking

linux_arp

linux_ifconfig

linux_route_cache

linux_netstat

linux_pkt_queues

linux_sk_buff_cache

System Information

linux_cpuinfo

linux_dmesg

linux_iomem

linux_slabinfo

linux_mount

linux_mount_cache

linux_dentry_cache

linux_find_file

linux_vma_cache

Miscellaneous

linux_volshell

linux_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的压缩包。

准备$ sudo zip volatility/volatility/plugins/overlays/linux/Ubuntu1204.zip volatility/tools/linux/module.dwarf /boot/System.map-3.2.0-23-generic

实际也可以在https://github.com/KDPryor/LinuxVolProfiles处直接下载已经做好的profile。

在kali下位置放在/usr/share/volatility/volatility/plugins/overlays/

如果知道dump的内存是那种操作系统和操作系统版本的,可以直接制定profile;如果不知道是那种系统的内存,可以使用imageinfo选项,volatility会尝试自动判断内存的类型vol -f /root/Downloads/pexit.vmem imageinfo

#05获取内存镜像

可以参考http://www.forensicswiki.org/wiki/Tools%3aMemory_Imaging#Linux

Dd

$ 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使用示例

检查内存进程

23caf286bdf408999559dac65ac997d1.png

- 了解Linux系统常见系统进程;

- 查看自动任务进程;

- 如果系统没有重启过,但部分进程都是开机启动,查看进程运行时间;

上面有进程号1517、27157、7334创建的时间明显与其他进程的创建时间不同,为可疑进程

检查进程详细信息vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_psaux

5e3f2870c87616fbed712c188e331142.png

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

cfa36474ca07e5b70a3db648d592a367.png

异常链接的地址为210.177.175.82

可以通过linux_route_cache参数查看路由表情况。vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_route_cache

271afa7ec41a34f11ab5b699c92096e8.png

使用linux_lsof命令查看1517和27157进程相关的文件vol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_lsof

bbcebb878b3ef617254c14462d462704.png

注意“/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"

d1ae98ad3aab7c475071c7ddc3db1edf.pngvol -f /root/Downloads/pexit.vmem --profile=LinuxUbuntu1004_pae32-33x86 linux_find_file -i 0xf5a4e568 -O /root/dump

bb528061ec32c3edea1497e0d070087c.pngstrings /root/dump

参考:http://sempersecurus.blogspot.com/2013/12/a-forensic-overview-of-linux-perlbot.html

https://code.google.com/p/volatility/wiki/LinuxCommandReference23#linux_pidhashtable

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值