1、前言
The Art of Memory Forensics真是一本很棒的书籍,其中使用volatility对内存进行分析的描述可以辅助我们对更高级类的木马进行分析和取证,这里对书中的命令进行了笔记记录。
2、volatility-Windows命令
与分析Linux镜像相似,而Windows系统的profile都是volatility自带的,无需再制作。
- 选择元数据 imageinfo
查看正在分析的内存样本的摘要信息。显示主机所使用的操作系统版本、服务包以及硬件结构(32位或64位)、页目录表的起始地址和该获取该内存镜像的时间等信息。显示出当前所支持的元数据系统。
- 结束进程分析 psscan
使用PSSCAN命令。可以找到以前终止的进程(非活动)和被rootkit隐藏或未链接的进程。输出显示ping.exe、ipconfig.exe两个进程启动与退出时间。
- 进程列表 pslist
列出系统进程,显示偏移量、进程名称、进程ID、父进程ID、线程数、句柄的数量,以及进程启动和退出时的日期/时间。
- 进程树 pstree
查看以树形形式列出的进程,与pslist显示的技术一样,但不会显示隐藏或未链接的进程。子进程使用缩进和句点表示。
- 检测横向运动 getsids
查看与进程关联的SIDs(安全标识符),识别恶意升级特权的进程,以及哪些进程属于特定的用户。例子中以explorer.exe为示例,其中一个SID (S-1-5-21-[snip]-1115)没有显示帐户名称。
EXE是管理员的成员组。在这个特殊的场景,攻击者组合了一个毒葛(PI)远控。(RAT)使用一个Pass the Hash (PtH)攻击。
- 识别远程映射驱动器
许多攻击者都依赖于像net view和net use这样的命令来探索周围环境。通过远程驱动器功能获取对服务器的读访问权限,在内网进行横向运动。
- 识别远程映射驱动器-handles
在内存中找到远程映射驱动器的证据,可通过查找文件句柄实现。使用handles命令可查看文件、注册表键、互斥锁、命名管道、事件、窗口站、桌面、线程和所有其他类型的可保存执行对象。
- 识别远程映射驱动器
另一种检测远程映射共享的方法,可以结合使用。通过symlinkscan插件检查符号链接。
- 进程内存查看 memmap
memmap命令显示了哪些页面是内存驻留的,给定一个特定的进程DTB。可显示页面的虚拟地址、页面相应的物理偏移量以及页面的大小。这个命令生成的映射信息来自底层地址空间的get_available_address方法。
- 进程内存提取 memdump
要在一个进程中提取所有内存驻留页面,可使用memdump命令将系统进程的可寻址内存提取到单个文件之中。
- Yara规则扫描内存
Yara是Victor M. Alvarez (http://plusvic.github.io/yara)的一个快速灵活的工具。在任意数据集内的模式匹配。Yarascan命令可以通过虚拟内存进行扫描,可以指定PID扫描,扫描规则除了使用字符也可以使用匹配规则文件。
3、示例分析-virut
原文地址:https://www.cnblogs.com/17bdw/p/9030715.html