内存取证之windows-Volatility 3

news2025/3/29 1:11:51

一,Volatility 3下载

1.安装Volatility 3。

要求:python3.7以上的版本,我的是3,11,这里不说python的安装方法

  • 使用 pip 安装 Volatility 3:

    pip install volatility3
  • 安装完成后,验证安装:

    vol --help

 2.安装依赖项

pip install yara-python pycryptodome openpyxl

3.安装符号表

vol --symbols

提示:Volatility 3的默认安装位置是Python 的 site-packages 目录中

二,插件介绍(部分)

系统信息

windows.info:显示操作系统的基本信息。

vol -f <内存镜像文件路径> windows.info

进程列表

windows.pslist:列出所有进程。

vol -f <内存镜像文件路径> windows.pslist

网络连接

windows.netscan:列出网络连接和套接字。

vol -f <内存镜像文件路径> windows.netscan

文件扫描

windows.filescan:扫描内存中的文件对象。

vol -f <内存镜像文件路径> windows.filescan

注册表分析

windows.registry.hivelist:列出注册表 hive 文件。

vol -f <内存镜像文件路径> windows.registry.hivelist

恶意软件检测

windows.malfind:检测潜在的内存注入代码。

vol -f <内存镜像文件路径> windows.malfind

 常用依赖项命令


    windows.info:显示正在分析的内存样本的OS和内核详细信息
    windows.callbacks:列出内核回调和通知例程
    windows.cmdline:列出进程命令行参数
    windows.dlldump:将进程内存范围DLL转储
    windows.dlllist:列出Windows内存映像中已加载的dll模块
    windows.driverirp:在Windows内存映像中列出驱动程序的IRP
    windows.driverscan:扫描Windows内存映像中存在的驱动程序
    windows.filescan:扫描Windows内存映像中存在的文件对象
    windows.handles:列出进程打开的句柄
    windows.malfind:列出可能包含注入代码的进程内存范围
    windows.moddump:转储内核模块
    windows.modscan:扫描Windows内存映像中存在的模块
    windows.mutantscan:扫描Windows内存映像中存在的互斥锁
    windows.pslist:列出Windows内存映像中存在的进程
    windows.psscan:扫描Windows内存映像中存在的进程
    windows.pstree:列出进程树
    windows.procdump:转储处理可执行映像
    windows.registry.certificates:列出注册表中存储的证书
    windows.registry.hivelist:列出内存映像中存在的注册表配置单元
    windows.registry.hivescan:扫描Windows内存映像中存在的注册表配置单元
    windows.registry.printkey:在配置单元或特定键值下列出注册表项
    windows.registry.userassist:打印用户助手注册表项和信息
    windows.ssdt:列出系统调用表
    windows.strings:读取字符串命令的输出,并指示每个字符串属于哪个进程
    windows.svcscan:扫描Windows服务
    windows.symlinkscan:扫描Windows内存映像中存在的链接
    layerwriter:列出内存镜像platform信息
    linux.bash:从内存中恢复bash命令历史记录
    linux.check_afinfo:验证网络协议的操作功能指针
    linux.check_syscall:检查系统调用表中的挂钩
    linux.elfs:列出所有进程的所有内存映射ELF文件
    linux.lsmod:列出加载的内核模块
    linux.lsof:列出所有进程的所有内存映射
    linux.malfind:列出可能包含注入代码的进程内存范围
    linux.proc:列出所有进程的所有内存映射
    linux.pslist:列出linux内存映像中存在的进程
    linux.pstree:列出进程树
    mac.bash:从内存中恢复bash命令历史记录
    mac.check_syscall:检查系统调用表中的挂钩
    mac.check_sysctl:检查sysctl处理程序的挂钩
    mac.check_trap_table:检查trap表中的挂钩
    mac.ifconfig:列出网卡信息
    mac.lsmod:列出加载的内核模块
    mac.lsof:列出所有进程的所有内存映射
    mac.malfind:列出可能包含注入代码的进程内存范围
    mac.netstat:列出所有进程的所有网络连接
    mac.psaux:恢复程序命令行参数
    mac.pslist:列出linux内存映像中存在的进程
    mac.pstree:列出进程树
    mac.tasks:列出Mac内存映像中存在的进程 

三,例题。

[陇剑杯 2021]内存分析(问1)

网管小王制作了一个虚拟机文件,让您来分析后作答:
虚拟机的密码是_____________。(密码中为flag{xxxx},含有空格,提交时不要去掉)。得到的flag请使用NSSCTF{}格式提交。

先使用windows.info功能查看虚拟硬盘的电脑信息

 vol -f Target.vmem windows.info

得到操作系统的版本是

 即Win7SP1x64

  1. NTBuildLab7601.17514.amd64fre.win7sp1_rtm.

    • 7601 是 Windows 7 SP1 的内部版本号。

    • amd64fre 表示 64 位版本。

    • win7sp1_rtm 表示 Windows 7 Service Pack 1。

  2. CSDVersion1

    • 表示安装了 Service Pack 1。

  3. Major/Minor15.7601

    • 15 是 Windows 7 的内部版本号。

    • 7601 是 Windows 7 SP1 的版本号。

  4. NtMajorVersion / NtMinorVersion6 / 1

    • 6.1 对应 Windows 7。

  5. Is64BitTrue

    • 表示操作系统是 64 位。

然后使用lsadump从注册表中提取LSA密钥信息 

LSA 的主要功能

  1. 用户认证

    • LSA 负责验证用户的登录凭证(如用户名和密码)。

    • 它通过与 SAM(Security Account Manager)数据库或 Active Directory 交互来完成认证。

  2. 安全策略管理

    • LSA 管理本地安全策略,如密码策略、账户锁定策略等。

  3. 生成安全令牌

    • 在用户成功登录后,LSA 会生成一个 安全令牌(Security Token),其中包含用户的权限信息。

    • 这个令牌用于后续的权限验证和访问控制。

  4. 存储机密信息

    • LSA 存储一些机密信息,如:

      • 用户的密码哈希(NTLM 或 LM 哈希)。

      • 自动登录密码(如果启用了自动登录)。

      • 服务账户的凭据。

 命令:

vol -f Target.vmem  windowws.hashdump

得到

User          RID   LM Hash                                NTLM Hash
Administrator 500   aad3b435b51404eeaad3b435b51404ee      31d6cfe0d16ae931b73c59d7e0c089c0
Guest         501   aad3b435b51404eeaad3b435b51404ee      31d6cfe0d16ae931b73c59d7e0c089c0
CTF           1000  aad3b435b51404eeaad3b435b51404ee      be5593366cb1019400210101581e5d0d
//LM Hash:aad3b435b51404eeaad3b435b51404ee 是 LM 哈希的默认空值,表示未启用 LM 哈希。

NTLM Hash:31d6cfe0d16ae931b73c59d7e0c089c0 是 NTLM 哈希的默认空值,表示用户未设置密码或密码为空。

CTF 用户:be5593366cb1019400210101581e5d0d 是 CTF 用户的 NTLM 哈希值,表示该用户设置了密码

hashcat无法破解上面的ntml的hash值,使用如下命令提取

vol -f Target.vmem windows.lsadump.Lsadump  //lsadump 插件(用于提取 LSA 密钥和凭据)

得到密码为:        Hflag{W31C0M3 T0 THiS 34SY F0R3NSiCX}

[陇剑杯 2021]内存分析(问2)

题目描述

网管小王制作了一个虚拟机文件,让您来分析后作答:
虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为_____________。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。本题的格式也是flag{xxx},含有空格,提交时不要去掉)。得到的flag请使用NSSCTF{}格式提交。

接上题,可以看到密码是ctf用户的,那么我们后面的虚拟机文件也应该是ctf用户的,过滤ctf用户的文件

vol -f Target.vmem filescan | Select-String "Desk"

得到含有华为的文件,甚至你可以直接看见有图片的字样,即image和picture

那么虚拟机应该就是华为,过滤一下

vol -f Target.vmem filescan | Select-String "HUAWEI"

将上面的exe文件导出来,得到两个文件

 .\volatility_2.6_win64_standalone.exe -f C:\Users\顺\Desktop\内存分析\Target.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007d8c7d10 -D C:\Users\顺\Desktop\内存分析\output

注:之前版本的导不出来,不知道为什么导是这个样子 ,操作成功,没有结果,有懂的师傅解释一下,我换了volatility_2.6_win64_standalone这个版本就成功了,命令稍微有点区别,但是大差不差。

PS E:\取证工具\取证工具包\volatility\volatility3> vol -f Target.vmem windows.dumpfiles --virtaddr 0x7fe72430


Volatility 3 Framework 2.11.0
WARNING  volatility3.framework.layers.vmware: No metadata file found alongside VMEM file. A VMSS or VMSN file may be required to correctly process a VMEM file. These should be placed in the same directory with the same file name, e.g. Target.vmem and Target.vmss.
Progress:  100.00               PDB scanning finished
Cache   FileObject      FileName        Result

将下面的dat文件分离,得到压缩包,解压,得到一个文件

将上面的文件用华为的解密软件解密

py .\kobackupdec.py -vvv W31C0M3_T0_THiS_34SY_F0R3NSiCX "D:\desktop\HUAWEI P40_2021-aa-bb xx.yy.zz" "D:\desktop\VVV"

[蓝帽杯 2022 初赛]计算机取证_1 

题目描述

现对一个windows计算机进行取证,请您对以下问题进行分析解答。
从内存镜像中获得taqi7的开机密码是多少?
压缩包密码为93ce7ea39bdd7baa137f1e9b963b7ee5
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。
得到的flag请使用NSSCTF{}形式提交

内存镜像,用volatility先看看计算机的信息,看到是Win7SP1x64

.\volatility_2.6_win64_standalone.exe -f 1.dmp imageinfo

提取一下hash

 vol -f 1.dmp windows.hashdump.Hashdump
Volatility 3 Framework 2.11.0
Progress:  100.00               PDB scanning finished
User    rid     lmhash  nthash

Administrator   500     aad3b435b51404eeaad3b435b51404ee        31d6cfe0d16ae931b73c59d7e0c089c0
Guest   501     aad3b435b51404eeaad3b435b51404ee        31d6cfe0d16ae931b73c59d7e0c089c0
taqi7   1000    aad3b435b51404eeaad3b435b51404ee        7f21caca5685f10d9e849cc84c340528
naizheng        1002    aad3b435b51404eeaad3b435b51404ee        d123b09e13b1a82277c3e3f0ca722060
qinai   1003    aad3b435b51404eeaad3b435b51404ee        1c333843181864a58156f3e9498fe905

解密一下taqi7的密码,得到正确的密码

 [蓝帽杯 2022 初赛]计算机取证_2

现对一个windows计算机进行取证,请您对以下问题进行分析解答。
制作该内存镜像的进程Pid号是多少?
压缩包密码为93ce7ea39bdd7baa137f1e9b963b7ee5

直接查看进程,进程号是2192

vol -f 1.dmp windows.pslist    //查看进程
 vol -f 1.dmp windows.psscan    //扫描所有进程

[蓝帽杯 2022 初赛]计算机取证_3 

题目描述

现对一个windows计算机进行取证,请您对以下问题进行分析解答。
bitlokcer分区某office文件中存在的flag值为?(答案参考格式:NSSCTF{abcABC123})
 

[蓝帽杯 2022 初赛]计算机取证_4

题目描述

现对一个windows计算机进行取证,请您对以下问题进行分析解答。
TrueCrypt加密中存在的flag值为?(答案参考格式:flag{abcABC123})

[蓝帽杯 2022 初赛]网站取证_1

题目描述

据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。
请从网站源码中找出木马文件,并提交木马连接的密码。

既然是源码,可以先用webshell扫描一下

有两个漏洞

一个是eval

另一个是一句话木马,答案是后面这个

[蓝帽杯 2022 初赛]网站取证_2

题目描述

据了解,某网上商城系一团伙日常资金往来用,从2022年4月1日起使用虚拟币GG币进行交易,现已获得该网站的源代码以及部分数据库备份文件,请您对以下问题进行分析解答。
请提交数据库连接的明文密码

既然有数据库文件,直接搜索database

这里的密码没有直接保存,而是有一个函数,看看这个函数的内容

运行一下看看

注:encrypt这段代码只能在 PHP 5.x 或 PHP 7.0.x 的版本中运行。

<?php
function my_encrypt(){
    $str = 'P3LMJ4uCbkFJ/RarywrCvA==';
    $str = str_replace(array("/r/n", "/r", "/n"), "", $str);
    $key = 'PanGuShi';
    $iv = substr(sha1($key),0,16);
    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,"",MCRYPT_MODE_CBC,"");
    mcrypt_generic_init($td, "PanGuShi", $iv);
    $decode = base64_decode($str);
    $dencrypted = mdecrypt_generic($td, $decode);
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    $dencrypted = trim($dencrypted);
    return $dencrypted;
}
   echo my_encrypt();

结果

[蓝帽杯 2022 初赛]网站取证_3

题目描述

请提交数据库金额加密混淆使用的盐值。
该题目复现环境尚未取得主办方及出题人相关授权,如果侵权,请联系管理员删除。

在bak.sql文件中,直接搜索money,可以定位到 Table structure for tab_channel_order_list,上面的内容是和钱有关于的

下一步是去文件里面找相关的数据库备份文件 ,搜索关键词,在channelorder.php里面找到了加密的key

[蓝帽杯 2022 初赛]网站取证_4

题目描述

请计算张宝在北京时间2022-04-02 00:00:00-2022-04-18 23:59:59累计转账给王子豪多少RMB?(换算比例请从数据库中获取,答案参考格式:123.45)

在bak.sql中可以找到代表人物的数据库编号,王子豪是5,张宝是3

换算比例按时间应该是,因为在bak.sql里面搜索RMB只有这几条信息

交易数据在

按照时间和换算比例可以得到总钱数,需要脚本以及去掉加盐。

NSSCTF{15758353.76}

[蓝帽杯 2022 初赛]手机取证_1

题目描述

现对一个苹果手机进行取证,请您对以下问题进行分析解答。
627604C2-C586-48C1-AA16-FF33C3022159.PNG图片的分辨率是?(

[蓝帽杯 2022 初赛]手机取证_2

题目描述

现对一个苹果手机进行取证,请您对以下问题进行分析解答。
姜总的快递单号是多少?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2320964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

fastapi+playwright爬取google搜索1-3页的关键词返回json

1,playwright无头 2,代理池随机获取代理ip 3,随机浏览行为,随机页面滚动 4,启用stealth模式 5,随机延时搜索 from fastapi import FastAPI, HTTPException from fastapi.responses import JSONResponse import asyncio from concurrent.futures import ThreadPool…

阿里云对象存储教程

搜“对象存储->免费试用” 选择你的心仪产品&#xff0c;我使用的是第一个 创建后获得三个实例&#xff1a; 点击右上角自己的账号可以进入到AccessKey管理界面 回到对象存储控制台创建Bucket实例 在以下文件中替换自己Bucket的信息即可美美使用~ package com.kitty.blog…

【Node.js入门笔记10---http 模块】

Node.js入门笔记10 Node.js---http 模块一、核心功能0.学习http的前提1. 创建 HTTP 服务器2. 处理请求和响应 二、进阶用法1. 路由管理2. 处理 POST 请求3. 中间件模式 三、常见场景四、错误处理与安全五、对比 http 与 Express六、工具库推荐&#xff1a; Node.js—http 模块 …

实验11 机器学习-贝叶斯分类器

实验11 机器学习-贝叶斯分类器 一、实验目的 &#xff08;1&#xff09;理解并熟悉贝叶斯分类器的思想和原理&#xff1b; &#xff08;2&#xff09;熟悉贝叶斯分类器的数学推导过程&#xff1b; &#xff08;3&#xff09;能运用贝叶斯分类器解决实际问题并体会算法的效果&a…

OpenHarmony子系统开发 - 电池管理(二)

OpenHarmony子系统开发 - 电池管理&#xff08;二&#xff09; 五、充电限流限压定制开发指导 概述 简介 OpenHarmony默认提供了充电限流限压的特性。在对终端设备进行充电时&#xff0c;由于环境影响&#xff0c;可能会导致电池温度过高&#xff0c;因此需要对充电电流或电…

hive 数据简介

Hive介绍 1&#xff09;Hive简介 Hive是基于Hadoop的一个数据仓库工具&#xff0c;用于结构化数据的查询、分析和汇总。Hive提供类SQL查询功能&#xff0c;它将SQL转换为MapReduce程序。 Hive不支持OLTP&#xff0c;Hive无法提供实时查询。 2&#xff09;Hive在大数据生态环境…

Win32桌面编程:ACLUI.DLL,EditSecurity(IntPtr hwndOwner, ISecurityInformation psi)

在Windows编程中&#xff0c;我们通常需要借助通用对话框的力量&#xff0c;今天我们就聊一下“安全属性表”通用对话框的使用心得。 当我们调用EditSecurity函数时&#xff1a; 1.EditSecurity将调用ISecurityInformation中的GetObjectInformation函数 在编写 ISecurityInf…

数据分析异步进阶:aiohttp与Asyncio性能提升

一、时间轴呈现方案进程 2023-04-01&#xff1a;需求确认 确定目标&#xff1a;使用aiohttp与Asyncio提升采集性能&#xff0c;目标采集今日头条网站的新闻数据&#xff08;标题、内容、时间等&#xff09;。同时要求在程序中加入代理IP、Cookie和UserAgent的设置&#xff0c;…

《AI大模型趣味实战 》第8集:多端适配 个人新闻头条 基于大模型和RSS聚合打造个人新闻电台(Flask WEB版) 2

《AI大模型趣味实战 》第8集&#xff1a;多端适配 个人新闻头条 基于大模型和RSS聚合打造个人新闻电台(Flask WEB版) 2 摘要 本文末尾介绍了如何实现新闻智能体的方法。在信息爆炸的时代&#xff0c;如何高效获取和筛选感兴趣的新闻内容成为一个现实问题。本文将带领读者通过P…

低配电脑畅玩《怪物猎人:荒野》,ToDesk云电脑优化从30帧到144帧?

《怪物猎人&#xff1a;荒野&#xff08;Monster Hunter Wilds&#xff09;》自2025年正式发售以来已取得相当亮眼的成绩&#xff0c;仅用三天时间便轻松突破800万销量&#xff0c;目前顺利蝉联周榜冠军&#xff1b;凭借着开放世界的宏大场景和丰富的狩猎玩法&#xff0c;该游戏…

【js逆向入门】图灵爬虫练习平台 第九题

地址&#xff1a;aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvOS8 f12进入了debugger&#xff0c;右击选择一律不在此处暂停&#xff0c; 点击继续执行 查看请求信息 查看载荷&#xff0c;2个加密参数&#xff0c;m和tt 查看启动器&#xff0c;打上断点 进来 往…

NET6 WebApi第5讲:中间件(源码理解,俄罗斯套娃怎么来的?);Web 服务器 (Nginx / IIS / Kestrel)、WSL、SSL/TSL

一、NET6的启动流程 区别&#xff1a; .NET6 WebApi第1讲&#xff1a;VSCode开发.NET项目、区别.NET5框架【两个框架启动流程详解】_vscode webapi-CSDN博客 2、WebApplicationBuilder&#xff1a;是NET6引入的一个类&#xff0c;是建造者模式的典型应用 1>建造者模式的…

Nginx及前端部署全流程:初始化配置到生产环境部署(附Nginx常用命令)

nginx&前端从初始化配置到部署&#xff08;xshell&#xff09; 前言下载nginx前端打包与创建具体文件夹路径配置nginx.nginx.conf文件配置项内容 配置nginx.service文件配置项内容 启动nginx常用nginx命令 前言 目标&#xff1a;在xshell中部署前端包。 第一步&#xff1a…

python 实现一个简单的window 任务管理器

import tkinter as tk from tkinter import ttk import psutil# 运行此代码前&#xff0c;请确保已经安装了 psutil 库&#xff0c;可以使用 pip install psutil 进行安装。 # 由于获取进程信息可能会受到权限限制&#xff0c;某些进程的信息可能无法获取&#xff0c;代码中已经…

【xiaozhi赎回之路-2:语音可以自己配置就是用GPT本地API】

固件作用 打通了网络和硬件的沟通 修改固件实现【改变连接到小智服务器的】 回答逻辑LLM自定义 自定义了Coze&#xff08;比较高级&#xff0c;自定义程度比较高&#xff0c;包括知识库&#xff0c;虚拟脚色-恋人-雅思老师-娃娃玩具{可能需要使用显卡对开源模型进行微调-产…

WX小程序

下载 package com.sky.utils;import com.alibaba.fastjson.JSONObject; import org.apache.http.NameValuePair; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.Cl…

Spring boot 3.4 后 SDK 升级,暨 UI API/MCP 计划

PS 写这篇文章后看到 A Deep Dive Into MCP and the Future of AI Tooling | Andreessen HorowitzWe explore what MCP is, how it changes the way AI interacts with tools, what developers are already building, and the challenges that still need solving. https://a1…

Linux下JDK1.8安装配置

目录 1.下载完上传到Linux系统中 2.解压JDK压缩包 3.配置JDK环境变量 4.设置环境变量生效 5.查看环境变量是否配置成功 官网下载地址:Java Downloads | Oracle 1.下载完上传到Linux系统中 2.解压JDK压缩包 tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local (解压…

Python OCR文本识别详细步骤及代码示例

光学字符识别&#xff08;OCR&#xff09;是将图像中的文字转换为可编辑文本的技术。在Python中&#xff0c;我们可以利用多种库实现OCR功能。本文将详细介绍使用Tesseract和EasyOCR进行文本识别的步骤&#xff0c;并提供完整的代码示例。 一、OCR简介 OCR&#xff08;Optical…

Linux固定IP方法(RedHat+Net模式)

1、查看当前网关 ip route | grep default 2、配置静态IP 双击重启 3、验证