volatility

发布于 2022-10-15  119 次阅读


volatility下载地址

  1. https://www.volatilityfoundation.org/releases

工具介绍

  1. volatility是一款计算机取证工具,volatility常用于以下镜像文件的取证:raw、vmen、dmp、img。计算机取证在CTF中属于misc杂项。

工具的使用

Mimikatz+procdump绕免杀获取windwos主机密码

  1. procdump64.exe -accepteula -ma lsass.exe lsass.dmp
  2. 使用微软白名单工具procdump64,对进程lsass.exe进行保存,保存为lsass.dmp
  3. 将lsass.dmp移动到本地,使用mimikatz读取lsass.dmp中的密码
  4. sekurlsa::minidump lsass.dmp
  5. sekurlsa::logonPasswords full //读取密码
    file

利用Dumplt工具保存当前内存为RAW文件

  1. 下载地址:https://pan.baidu.com/s/1Ms4FcqzK7Vp1bHwe10Uapw 提取码:m5lp
  2. 双击运行即可,生成一个大于当前内存的raw内存文件
  3. 内存文件与内存大小接近或者稍微大一点,raw格式
    file
  4. procdump -ma 进程 123.dmp

volatility在kali中的安装

  1. wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.5.tar.gz
    tar -zxvf setuptools-18.5.tar.gz
    cd setuptools-18.5/
    sudo python2 setup.py build
    sudo python2 setup.py install
  2. wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
    sudo python2 get-pip.py
  3. sudo apt-get install python2-dev
  4. wget https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz
    tar -zxvf pycrypto-2.6.1.tar.gz
    cd pycrypto-2.6.1
    sudo python2 setup.py build
    sudo python2 setup.py install
  5. pip install distorm3
  6. wget https://github.com/volatilityfoundation/volatility/archive/refs/tags/2.6.zip
  7. python2 setup.py install
    python2 vol.py -h
    file

参考文章:

  1. https://blog.csdn.net/wangjin7356/article/details/123442090
  2. https://blog.csdn.net/weixin_45485719/article/details/107668884
  3. https://cloud.tencent.com/developer/article/1881336
  4. https://github.com/volatilityfoundation/volatility/releases/tag/2.6

volatility对RAW文件的分析使用

  1. python2 vol.py -f ../CISP-PTE-PC-20221015-093756.raw imageinfo //查看该镜像的信息,关注profile,-f 选择文件路径
    file
  2. python2 vol.py -f ../CISP-PTE-PC-20221015-093756.raw --profile=Win7SP1x64 -h //--profile指定操作系统版本,-h查看有哪些模块file
  3. python2 vol.py -f ../CISP-PTE-PC-20221015-093756.raw --profile=Win7SP1x64 pslist //pslist查看进程列表
    file
  4. python2 vol.py -f ../CISP-PTE-PC-20221015-093756.raw --profile=Win7SP1x64 hivedump -o 0xfffffa8005cceb30
    //按hivelist列出的虚内存地址查看注册表内容
  5. lsadump 直接内存读取
    file

内存恶意软件分析

  1. pstree //看一下异常进程
  2. connscan //看看网络连接情况
  3. getsids -p 111,222 //看一下这两个进程的用户信息是否异常
  4. dlllist -p 111,222 //看一下进程涉及的DLL数量
    5.malfind -p 111,222 -D test //将这两个进程保存到test目录下,传到windows上,使用defender查杀

插件例子

  • pslist //查看进程列表
  • hashdump //dump出用户密码
    hashdump -y system对应的虚内存 -s SAM对应的虚内存 //hivelist显示注册表蜂巢
    file
    md5:31d6cfe0d16ae931b73c59d7e0c089c0是空密码
  • hivedump -o 虚内存 //列出的虚内存地址查看注册表内容
  • -K "注册表路径" //查看注册表对应的内容
    SAM\Domains\Account\Users\Names //用户信息
    SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon //最后登录的用户
  • userassist //正在运行的程序、运行过多少次、最后一次运行时间等
  • memdump -p PID -D test //dump进程PID输出到test目录下
    strings 1456.dmp > 123.txt
  • cmdscan //cmd历史命令
  • netscan //网络连接
  • iehistory //ie浏览器历史记录
  • hivelist //提取hash

自带插件总览

  • imageinfo:显示目标镜像的摘要信息,这常常是第一步,获取内存的操作系统类型及版本,之后可以在 –profile 中带上对应的操作系统,后续操作都要带上这一参数

  • pstree:以树的形式查看进程列表,和pslist一样,也无法检测隐藏或解链的进程

  • psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的- 进程

  • cmdscan:可用于查看终端记录

  • notepad:查看当前展示的 notepad 文本(–profile=winxp啥的低版本可以,win7的不行,可以尝试使用editbox)

  • filescan:扫描所有的文件列表

  • linux配合 grep 命令进行相关字符定向扫描,如:grep flag、grep -E ‘png|jpg|gif|zip|rar|7z|pdf|txt|doc’

  • dumpfiles:导出某一文件(指定虚拟地址)

  • 需要指定偏移量 -Q 和输出目录 -D

  • mendump:提取出指定进程,常用foremost 来分离里面的文件

  • 需要指定进程-p [pid] 和输出目录 -D

  • editbox:显示有关编辑控件(曾经编辑过的内容)的信息

  • screenshot:保存基于GDI窗口的伪截屏

  • clipboard:查看剪贴板信息

  • iehistory:检索IE浏览器历史记录

  • systeminfo:显示关于计算机及其操作系统的详细配置信息(插件)

  • hashdump:查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容(mimikatz插件可以获取系统明文密码)

  • mftparser:恢复被删除的文件

  • svcscan:扫描 Windows 的服务

  • connscan:查看网络连接

  • envars:查看环境变量

  • dlllist: 列出某一进程加载的所有dll文件

  • hivelist: 列出所有的注册表项及其虚拟地址和物理地址

  • timeliner: 将所有操作系统事件以时间线的方式展开

……

volatility扩展插件

  1. 插件位置:
    /usr/lib/python2.7/dist-packages/volatility/plugins

volatility从内存还原图片

  1. volatility -f 7.raw --profile=Win7SP1x64 memdump -p 1456 -D test
  2. mv mstsc.dmp mstsc.data
  3. Gimp -> open -> Raw Image Data -> 调整参数

死取证

  • Autopsy

  • Extundelete
    Extundelete [device-file] --restore-file [restore location]

  • iPhone Backup Analyzer

  • Foremost
    foremost -t jpeg,gif,png,doc -i 7.raw

子夜不哭
最后更新于 2022-10-15