内存取证之windows-Volatility 3
一,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
NTBuildLab:
7601.17514.amd64fre.win7sp1_rtm.
7601是 Windows 7 SP1 的内部版本号。
amd64fre表示 64 位版本。
win7sp1_rtm表示 Windows 7 Service Pack 1。CSDVersion:
1
表示安装了 Service Pack 1。
Major/Minor:
15.7601
15是 Windows 7 的内部版本号。
7601是 Windows 7 SP1 的版本号。NtMajorVersion / NtMinorVersion:
6/1
6.1对应 Windows 7。Is64Bit:
True
表示操作系统是 64 位。
然后使用lsadump从注册表中提取LSA密钥信息
LSA 的主要功能
用户认证:
LSA 负责验证用户的登录凭证(如用户名和密码)。
它通过与 SAM(Security Account Manager)数据库或 Active Directory 交互来完成认证。
安全策略管理:
LSA 管理本地安全策略,如密码策略、账户锁定策略等。
生成安全令牌:
在用户成功登录后,LSA 会生成一个 安全令牌(Security Token),其中包含用户的权限信息。
这个令牌用于后续的权限验证和访问控制。
存储机密信息:
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 nthashAdministrator 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
题目描述
现对一个苹果手机进行取证,请您对以下问题进行分析解答。
姜总的快递单号是多少?
相关文章:
内存取证之windows-Volatility 3
一,Volatility 3下载 1.安装Volatility 3。 要求:python3.7以上的版本,我的是3,11,这里不说python的安装方法 使用 pip 安装 Volatility 3: pip install volatility3 安装完成后,验证安装: v…...
WIFI p2p连接总结
p2p 设备角色 go 为 group owner,类似 ap 的功能,控制 p2p 组,每个 group 只有一个 go gc 是 client,为连接 go 的设备,是组成员 P2P 扫描 p2p discovery 利用 probe request 和 probe response 帧来搜索周围的 p2…...
React Native进阶(六十):webview实现屏蔽所嵌套web页面异常弹窗
文章目录 一、前言二、解决方案三、注意事项四、拓展阅读 一、前言 在React Native项目集成web页面时,webview嵌套方式是常用方式。如果所嵌套的web页面由于某种不可控因素导致出现错误弹窗信息,webview作为web嵌套方式应该对其行为可控。 React Nativ…...
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…...
施磊老师高级c++(五)
文章目录 一、设计模式二、单例模式(创建型模式)- 重点(共三种代码)1.1 饿汉式单例模式 -- 不受欢迎1.2 懒汉式单例模式 -- 受欢迎1.3 线程安全的懒汉式单例模式--锁volatile 三、工厂模式(创建型模式)3.1 简单工厂模式3.2 工厂方…...
鸿蒙相机开发实战:从设备适配到性能调优 —— 我的 ArkTS 录像功能落地手记(API 15)
引言:为什么我要写这份开发指南? 作为一名老技术,最近特别喜欢研究鸿蒙相机功能,而且目前已经更新到API15了,那么咱们更要好好研究一下。而且从手持云台到车载记录仪,每个项目都面临独特挑战:车…...
MySQL中怎么分析性能?
MySQL中主要有4种方式可以分析数据库性能,分别是慢查询日志,profile,Com_xxx和explain。 慢查询日志 先用下面命令查询慢查询日志是否开启, show variables like slow_query_log;# 一般默认都是以下结果 ---------------------…...
阿里云对象存储教程
搜“对象存储->免费试用” 选择你的心仪产品,我使用的是第一个 创建后获得三个实例: 点击右上角自己的账号可以进入到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六、工具库推荐: Node.js—http 模块 …...
深拷贝在 JavaScript 中的几种实现方式对比
深拷贝在 JavaScript 中的几种实现方式对比 1. JSON 序列化法2. 结构化克隆(structuredClone)原理与使用 3. 自定义深拷贝函数原理与使用 性能对比与选择建议性能比较 综合建议:示例代码整合总结 在开发过程中,我们经常需要对对象…...
实验11 机器学习-贝叶斯分类器
实验11 机器学习-贝叶斯分类器 一、实验目的 (1)理解并熟悉贝叶斯分类器的思想和原理; (2)熟悉贝叶斯分类器的数学推导过程; (3)能运用贝叶斯分类器解决实际问题并体会算法的效果&a…...
Delta Lake 解析:架构、数据处理流程与最佳实践
Delta Lake 是一个基于 Apache Spark 的开源存储层,主要解决传统数据湖(Data Lake)缺乏 ACID 事务、数据一致性和性能优化的问题,使大数据处理更加可靠、高效。从本质上讲,它让数据湖具备了数据仓库的结构化管理能力&a…...
OpenHarmony子系统开发 - 电池管理(二)
OpenHarmony子系统开发 - 电池管理(二) 五、充电限流限压定制开发指导 概述 简介 OpenHarmony默认提供了充电限流限压的特性。在对终端设备进行充电时,由于环境影响,可能会导致电池温度过高,因此需要对充电电流或电…...
hive 数据简介
Hive介绍 1)Hive简介 Hive是基于Hadoop的一个数据仓库工具,用于结构化数据的查询、分析和汇总。Hive提供类SQL查询功能,它将SQL转换为MapReduce程序。 Hive不支持OLTP,Hive无法提供实时查询。 2)Hive在大数据生态环境…...
Win32桌面编程:ACLUI.DLL,EditSecurity(IntPtr hwndOwner, ISecurityInformation psi)
在Windows编程中,我们通常需要借助通用对话框的力量,今天我们就聊一下“安全属性表”通用对话框的使用心得。 当我们调用EditSecurity函数时: 1.EditSecurity将调用ISecurityInformation中的GetObjectInformation函数 在编写 ISecurityInf…...
数据分析异步进阶:aiohttp与Asyncio性能提升
一、时间轴呈现方案进程 2023-04-01:需求确认 确定目标:使用aiohttp与Asyncio提升采集性能,目标采集今日头条网站的新闻数据(标题、内容、时间等)。同时要求在程序中加入代理IP、Cookie和UserAgent的设置,…...
《AI大模型趣味实战 》第8集:多端适配 个人新闻头条 基于大模型和RSS聚合打造个人新闻电台(Flask WEB版) 2
《AI大模型趣味实战 》第8集:多端适配 个人新闻头条 基于大模型和RSS聚合打造个人新闻电台(Flask WEB版) 2 摘要 本文末尾介绍了如何实现新闻智能体的方法。在信息爆炸的时代,如何高效获取和筛选感兴趣的新闻内容成为一个现实问题。本文将带领读者通过P…...
低配电脑畅玩《怪物猎人:荒野》,ToDesk云电脑优化从30帧到144帧?
《怪物猎人:荒野(Monster Hunter Wilds)》自2025年正式发售以来已取得相当亮眼的成绩,仅用三天时间便轻松突破800万销量,目前顺利蝉联周榜冠军;凭借着开放世界的宏大场景和丰富的狩猎玩法,该游戏…...
Leetcode刷题笔记1 图论part03
卡码网 101 孤岛总面积 from collections import deque directions [[0, 1], [1, 0], [0, -1], [-1, 0]] count 0def main():global countn, m map(int, input().split())grid []for _ in range(n):grid.append(list(map(int, input().split())))for i in range(n):if gri…...
【模拟面试】计算机考研复试集训(第十一天)
文章目录 前言一、专业面试1、什么是面向对象编程?2、软件工程的主要模型有哪些?3、Cache和寄存器的区别4、卷积层有哪些参数,它们代表什么?5、你有读博的打算吗?6、你的师兄/姐临近毕业,仍做不出成果&…...
查看自己的公有ip
IP 地址 112.3.88.1** 是一个 公有 IP 地址,而不是私有 IP 地址。 公有 IP 地址 vs 私有 IP 地址 公有 IP 地址: 用于在互联网上唯一标识设备。由互联网服务提供商(ISP)分配。可以在全球范围内路由和访问。例如:112.3.88.156、8.8…...
【js逆向入门】图灵爬虫练习平台 第九题
地址:aHR0cHM6Ly9zdHUudHVsaW5ncHl0b24uY24vcHJvYmxlbS1kZXRhaWwvOS8 f12进入了debugger,右击选择一律不在此处暂停, 点击继续执行 查看请求信息 查看载荷,2个加密参数,m和tt 查看启动器,打上断点 进来 往…...
NET6 WebApi第5讲:中间件(源码理解,俄罗斯套娃怎么来的?);Web 服务器 (Nginx / IIS / Kestrel)、WSL、SSL/TSL
一、NET6的启动流程 区别: .NET6 WebApi第1讲:VSCode开发.NET项目、区别.NET5框架【两个框架启动流程详解】_vscode webapi-CSDN博客 2、WebApplicationBuilder:是NET6引入的一个类,是建造者模式的典型应用 1>建造者模式的…...
Nginx及前端部署全流程:初始化配置到生产环境部署(附Nginx常用命令)
nginx&前端从初始化配置到部署(xshell) 前言下载nginx前端打包与创建具体文件夹路径配置nginx.nginx.conf文件配置项内容 配置nginx.service文件配置项内容 启动nginx常用nginx命令 前言 目标:在xshell中部署前端包。 第一步:…...
python 实现一个简单的window 任务管理器
import tkinter as tk from tkinter import ttk import psutil# 运行此代码前,请确保已经安装了 psutil 库,可以使用 pip install psutil 进行安装。 # 由于获取进程信息可能会受到权限限制,某些进程的信息可能无法获取,代码中已经…...
【AI模型】深度解析:DeepSeek的联网搜索的实现原理与认知误区
一、大模型的“联网魔法”:原来你是这样上网的! 在人工智能这个舞台上,大模型们可是妥妥的明星。像DeepSeek、QWen这些大模型,个个都是知识渊博的“学霸”,推理、生成文本那叫一个厉害。不过,要是论起上网…...
【xiaozhi赎回之路-2:语音可以自己配置就是用GPT本地API】
固件作用 打通了网络和硬件的沟通 修改固件实现【改变连接到小智服务器的】 回答逻辑LLM自定义 自定义了Coze(比较高级,自定义程度比较高,包括知识库,虚拟脚色-恋人-雅思老师-娃娃玩具{可能需要使用显卡对开源模型进行微调-产…...
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…...
JavaScript案例0322
以下是一些涵盖不同高级JavaScript概念和应用的案例,每个案例都有详细解释: 案例1:实现 Promise/A 规范的手写 Promise class MyPromise {constructor(executor) {this.state pending;this.value undefined;this.reason undefined;this.o…...
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…...
