- 进程分析目标:
- 识别出进程和他们的父进程或者子进程(恶意进程的启动进程和别的不一样)pstree
- 区分内核中的进程(恶意进程通常作为内核进程来运行) grep UID /etc/{passwd,group}
- 将进程和用户或者组联系起来
- 进程地址空间分析目标:
- 学会怎样从一个内存dump中提取出进程的堆,栈,可执行代码的区域
- Cat /proc/<pid>/maps 可以看到对应的存储区域,结构为: start -end,flags(permissions),pgoff,Major:Minor,Inode,Path
- 上述结果和Volatility Linux_proc_maps 结果对比分析,看结果是否相同。
- 提取相应区域映射内容利用Volatility Linux_dump_map 工具,-p 指定 <pid> -s 指定 特定区域起始地址 –D 指定 提取文件类型 Dump ,举例:
- 学会怎样从一个内存dump中提取出进程的堆,栈,可执行代码的区域
python vol.py --profile=LinuxDebian-3_2x64 -f debian.lime linux_dump_map -p 1 -s 0x400000 -D dump
-
- 知道从哪里查看调用进程的command line
- 利用Volatility Linux_psaux工具
- 找出一个进程的变量存储区域和验证环境变量是否修改
- Volatility Linux_psenv工具
- 内核线程没有环境变量,如果恶意进程伪装成内核进程则是有环境变量的
- 工作目录,如果修改工作目录,则会有OLDPWD参数指向该路径。
- 如果有SSH_CONNECTION 则证明是ssh连接催生启动的
- 分析到共享库的全路径帮助检测一些代码的注入攻击。
- 通过a)中操作,查看全路径,发现有没有是引入类似/tmp 这种共享库的路径,存在的话,则很可能发生注入攻击。
- 知道从哪里查看调用进程的command line
- 文件句柄分析目标:
- 发现进程通过文件描述符读写了哪些文件
- Volatility Linux_lsof
- 理解公用文件描述符:stdin,stdout,stderr
- 找出关键的日志
- 发现进程通过文件描述符读写了哪些文件
- 进程上下文数据分析:
- Volatility linux_threads :识别出线程
- Volatility linux_info_regs : 进程上下文交换时保存的数据
- Volatility linux_process_syscall:进程交换时的系统调用
- Volatility linux_process_stack::进程的栈中数据,包括返回地址,局部变量,参数
最后
以上就是称心薯片最近收集整理的关于Linux 内存取证 之进程空间取证(Volatility取证)的全部内容,更多相关Linux内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复