# 内存取证
# volatility 使用:
# 获取内存镜像的摘要信息
1 | volatility -f mem.raw imageinfo |

判断系统版本应该是 Win7SP1x64
# 查看进程信息
pslist 可以直接列出运行的进程,如果进程已经结束,会在 Exit 列显示日期和时间,表明进程已经结束
1 | volatility -f mem.raw --profile=Win7SP1x64 pslist |

# 查看隐藏进程
1 | volatility -f mem.raw --profile=Win7SP1x64 pstree |

# 列举缓存在内存的注册表
1 | volatility -f mem.raw --profile=Win7SP1x64 hivelist |

# 提取主机名
1 | volatility -f mem.raw --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName" |

# 提取自启动项

提取内存中保留的 cmd 命令使用情况
1 | volatility -f name --profile=WinXPSP2x86 cmdscan |
获取到当时的网络连接情况
1 | volatility -f name --profile=WinXPSP2x86 netscan |
# 提取 ip 地址和主机名
1 | volatility -f name --profile=WinXPSP2x86 netscan | grep ESTABLISHED |
userassist 键值包含系统或桌面执行文件的信息,如名称、路径、执行次数、最后一次执行时间等
1 | volatility -f name --profile=WinXPSP2x86 userassist |
# 获取 SAM 表中的用户 :
1 | volatility -f mem.raw --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" |

显示每个进程的加载 dll 列表
1 | Volatility -f name -profile = Win7SP0x86 dlllist> dlllist.txt |
# 扫描内存中的文件
1 | volatility -f mem.raw --profile=Win7SP1x64 filescan |

- filescan 也可以结合 grep 命令来进行筛选,比如
1 | volatility -f mem.raw --profile=Win7SP1x64 filescan | grep "doc\|docx" |


# 提取 flag 值
1 | volatility -f mem.raw --profile=Win7SP1x64 dumpfiles -Q 0x07f1b6c10 --dump-dir=./ |


# 提取内存中保留的 cmd 命令使用情况
1 | volatility -f mem.raw --profile=Win7SP1x64 cmdline |

# 提取出内存中记录的 当时正在运行的程序
1 | volatility -f mem.vmem --profile=Win7SP1x64 userassist |

# 提取网络连接情况
1 | volatility -f mem.raw --profile=Win7SP1x64 netscan |

# 提取 IE 浏览器历史
1 | volatility -f mem.raw --profile=Win7SP1x64 iehistory |
# 提取系统密码(hashdump)
直接 hashdump
1 | volatility -f mem.raw --profile=Win7SP1x64 hashdump |

- 注册表 system 的 virtual 地址
- SAM 的 virtual 地址

- dump 出来密码
1 | volatility -f mem.vmem --profile=Win7SP1x64 hashdump -y (注册表 system 的 virtual 地址 )-s (SAM 的 virtual 地址) |

# 提取迁移后的进程编号
1 | volatility -f mem.raw --profile=Win7SP1x64 malfind -p |
# 提取开机自启项的 Virtual 地址
1 | volatility -f mem.raw --profile=Win7SP1x64 printkey -K "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" |