- 进程分析目标:
- 识别出进程和他们的父进程或者子进程(恶意进程的启动进程和别的不一样)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工具
- 内核线程没有环境变量,如果恶意进程伪装成内核进程则是有环境变量的
- 知道从哪里查看调用进程的command line