内存取证之Volatility ——合天网安实验室学习笔记

article/2025/3/3 17:40:19

实验链接

Volatility是一款顶级的开源内存取证分析工具,支持Windows,Linux,MaC,Android等系统的内存取证,它由Python编写成,通过本实验学习内存取证的思想与方法,掌握volatility的使用。

链接:http://www.hetianlab.com/expc.do?ce=aeca012d-d9b1-4706-b761-d0240089d7c5

实验简介

实验所属系列: 数据安全

实验对象: 本科/专科信息安全专业

相关课程及专业: 操作系统

实验类别: 实践实验类

预备知识

  • 关于volatility

    Volatility是开源的Windows,Linux,MaC,Android的内存取证分析工具,由python编写成,命令行操作,支持各种操作系统。

  • 注册表

    是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。

实验目的

通过该实验了解内存取证的思想与方法,深入掌握volatility的技巧与使用。

实验环境

服务器:kali,IP地址:随机分配

测试文件请在实验机内下载使用:http://tools.hetianlab.com/tools/T023.zip,将压缩包内的文件保存在文件系统下:
在这里插入图片描述

实验步骤

步骤一

打开volatility
在这里插入图片描述

启动后看到的supported flugin command都是volatility可用的插件
在这里插入图片描述

左边是插件的命令右边是插件的效果

所有的操作系统都将信息存储在RAM,然后不同的操作系统可能存储在不同的路径下,在volatility中,根据操作系统的不同,我们必须选择合适的profile来帮助volatility识别数据存储的位置以及有用的信息

为了选择格式的profile,我们先用imageinfo插件查看一下系统的版本等信息

volatility -f cridex.vmem imageinfo
在这里插入图片描述

建议的profile也在回显中给出
在这里插入图片描述
选择好合适的profile之后我们就可以进行下一步的分析了

步骤二

进程识别及分析

为了识别内存镜像中的相关的进程、PID、开始时间等信息我们可以ps相关的插件

volatility --profile=WinXPSP3x86 -f cridex.vmem pslist
在这里插入图片描述

pslist命令不仅显示了所有正在运行的进程,而且给出了有价值的信息,比如PID、PPID、启动的时间。

volatility --profile=WinXPSP3x86 -f cridex.vmem pstree
在这里插入图片描述

另一个相似的命令是pstree。与pslist命令不同的地方在于还可以识别子进程以及父进程

volatility --profile=WinXPSP3x86 -f cridex.vmem psscan
在这里插入图片描述

psscan命令可以显示出被恶意软件比如rootkit为了躲避用户或杀毒软件而隐藏的进程

分析网络服务及连接

volatility可以用来分析和识别隐藏的、终止的、活跃的连接以及相应的端口和进程。可以使用下列的命令

volatility --profile=WinXPSP3x86 -f cridex.vmem connections
在这里插入图片描述

connections命令列出活跃的连接和端口,以及本地和远程的ip、PID、端口等

volatility --profile=WinXPSP3x86 -f cridex.vmem connscan
在这里插入图片描述

connscan比之上一条命令,能列出已经被终止的连接。

拿到ip之后还可以在网站上查询进一步的信息,比如125.19.103.198

(试验机貌似不可联网)
在这里插入图片描述

volatility --profile=WinXPSP3x86 -f cridex.vmem sockets
在这里插入图片描述

sockets插件可以被用来展示出额外的连接信息监听的sockets,sockets插件支持所有的协议。

分析DLL

dll是windows特有的,包含可以被大量程序同时使用的代码,通过了解进程正在运行的dll和版本信息有助于分析关联的进程信息

相关的插件有:

volatility --profile=WinXPSP3x86 -f cridex.vmem verinfo
在这里插入图片描述

verinfo插件可以列出PE文件的版本信息

volatility --profile=WinXPSP3x86 -f cridex.vmem dlllist
在这里插入图片描述

dlllist插件可以列出所有正在运行的dll。

步骤三

注册表分析

关于用户、设置、程序以及操作系统的信息都可以在注册表中找到,甚至被散列了的密码也可以找到,在分析windows注册表时,我们可以使用下面的插件

volatility --profile=WinXPSP3x86 -f cridex.vmem hivescan
在这里插入图片描述

hivescan插件显示了可用的注册表配置单元的物理地址

volatility --profile=WinXPSP3x86 -f cridex.vmem hivelist

在这里插入图片描述

更加详细的信息可以通过hivelist命令查看,这条命令会显示虚拟地址、物理地址的细节以及更容易识别的路径等

timeliner插件

volatility --profile=WinXPSP3x86 -f cridex.vmem timeliner
在这里插入图片描述

timeliner插件可以通过提供所有时间发生时的时间线来帮助取证。

恶意软件分析

volatility --profile=WinXPSP3x86 -f cridex.vmem malfind
在这里插入图片描述

malfind插件用于寻找可能注入到各种进程中的恶意软件。使用malfind时也可以使用-p直接指定进程,比如

volatility --profile=WinXPSP3x86 -f cridex.vmem malfind -p 608
在这里插入图片描述
从上图中可以看到pid是608对应的进程是winlogon.exe

答题

在这里插入图片描述


http://chatgpt.dhexx.cn/article/GBQTXQk2.shtml

相关文章

合天网安实验室CTF练习赛之逆向题

最近搞逆向,就做做CTF题吧 挑战地址:http://www.hetianlab.com/CTFrace.html 对linux的逆向还没深入学习,所以re300暂时空着 2017.11.07:竟然还想起有这个事情没完成....,那就现在完成re300吧:合天网安实验室CTF练习…

合天网安实验室CTF-解密200-找茬游戏

合天网安实验室CTF-解密200-找茬游戏 题目描述 diff 相关附件 cry200.zip 题目链接 参考解题步骤 1、下载附件解压后得到一个文件夹,里面有两张图片 2、直接仔细观察未发现不同之处 3、既然表面没有不同,那应该是内部信息不同啦,用binw…

合天网安实验室CTF-Steg150-一段欢快的曲调

合天网安实验室CTF-Steg150-一段欢快的曲调 题目描述 滴滴 相关附件 stego100.wav 题目链接 参考解题步骤 1、下载的附件是一段wav格式的音频,打开听了一下,确实是欢快的曲调。 2、听的时候很奇怪为什么左声道没有声音,直到听到第1分11秒…

CTF挑战赛-合天网安实验室-Reverse逆向200writeup

自己做的时候 那个INT3断点一直搞不定 后来按照这篇文章的方法成功 转载自合天小逆向探究断点异常 作者iFurySt 东搞西搞都在瞎搞,今天到合天上面看到一个逆向题(RE200),拿下来搞了一下,学到了点东西,分享一下。 首先当然是…

合天网安实验室CTF-Web100-Give Me Flag

合天网安实验室CTF-Web100-Give Me Flag 题目描述 哎,不小心把代码弄乱惹 相关附件 web100.zip 题目链接 参考解题步骤 1、下载附件打开后是一段JavaScript代码,但看起来被混淆了 源文件是没有换行的,我这里手动换行以便观察 2、试了一下直接翻译&…

合天网安实验室-第十六周-有点另类的SSRF

正式开始之前先普及一下SSRF漏洞的相关协议(普及内容摘自大佬博客:https://www.anquanke.com/post/id/262430#h3-4) File协议 读取本地文件用的 HTTP协议 探测一下内网活着的主机(但是很多不会开Http协议,没多大用&…

合天网安实验室CTF-基础50-0x01

合天网安实验室CTF-基础50-0x01 最近无聊时准备刷点题,由简到难慢慢来吧 题目描述 真的不能再简单了! 相关附件 misc50.zip 题目链接 参考解题步骤 1、下载下来的压缩包解压后只有一个misc50.exe文件 2、先用sublime打开看一下,竟然是flag{666C616…

合天网安实验室CTF-基础100-Flag就在这儿

合天网安实验室CTF-基础100-Flag就在这儿 题目描述 嗯,什么东东?相信聪明的你一定会想到吧 相关附件 misc100.txt 题目链接 参考解题步骤 1、下载附件打开后是61366行每行是由逗号分隔的3个数,大部分是255,255,255 这里只截取…

合天网安实验室CTF-逆向100-看你的咯,移动安全大神

合天网安实验室CTF-逆向100-看你的咯,移动安全大神 题目描述 dex2jar是我们的好朋友 相关附件 rev100.zip 题目链接 参考解题步骤 1、下载附件解压后只有一个文件rev100 2、根据题目描述可以知道需要使用工具dex2jar。   由于本人使用的kali,很多工具系统都…

合天网安实验室 渗透测试项目一

利用网站漏洞获取该服务器shell;(网页关入侵–铜牌任务) 进入网站,找到文件上传口 写个一句话木马,上传,经过几次上传测试,发现是检测content-type,所以抓包,修改conte…

Docker未授权漏洞复现(合天网安实验室)

简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成…

合天网安 CTF之第六周-套娃一样的上传

合天网安 CTF之第六周-套娃一样的上传 一、实验目的 本实验无writeup,需要同学们发挥自己所学,拿下最终目标 二、实验环境 目标机:Centos7 IP地址:10.1.1.147:5006 攻击机:win7 IP地址:随机分配 要求…

合天网安就业班_【合天网安实验室】SQL注入入门一

标签: 时间:2015年1月17日 实验平台:合天网安实验室.Web应用安全.SQL注入实验一 实验环境:ApachePHPMysql 实验原理: SQL注入是一种将SQL代码插入或添加到应用的输入参数中的攻击,之后再将这些参数传递给后…

合天网安 Weekly CTF 刷题合集

Weekly CTF 第一周:神奇的磁带尝试思路题解 第二周:就差一把钥匙题解 第三周:迷了路题目题解 第四周:Check your source code题目题解 Weekly CTF:课程:Weekly CTF(合天网安实验室) (hetianlab.com) 第一周&#xff1…

合天网安的渗透测试考核过程

首先拿到考核内容的ip之后,我们首先进行渗透测试的第一个内容就是 信息收集: 使用kali自带的dirb对目标网站进行一个扫描,同理,类似的软件还有dirsearch 当然,这里使用自带的也可以用,个人感觉&#xff0…

BurpSuite实战——合天网安实验室学习笔记

burpsuite是一款功能强大的用于攻击web应用程序的集成平台,通常在服务器和客户端之间充当一个双向代理,用于截获通信过程中的数据包,对于截获到的包可以人为的进行修改和重放。 此BurpSuite实战主要包括两个实验:分别是使用burp进…

数据取证三剑客 ——合天网安实验室学习笔记

实验链接 通过该实验了解文件恢复、数据提取的相关技术及应用、熟练掌握三款相关开源工具foremost、scalpel、bulk_exetractor的使用。 链接:http://www.hetianlab.com/expc.do?ce6ca30fb8-e0c2-41f3-8335-731e91774df4 实验简介 实验所属系列: 数据…

开发神器之BeyondCompare4.0工程代码比较工具

超好用文件对比工具 – Beyond Compare 具备的丰富实用功能: - 并列比较文件夹、FTP 网站或 Zip 文件; - 为以后的比较保存快照; - 类似浏览器的界面; - 可扩展子文件夹; - 隐藏比较不需要的文件夹; …

6 款代码对比工具

点击上方“朱小厮的博客”,选择“设为星标” 后台回复”加群“获取公众号专属群聊入口 来源:rrd.me/fTS4c 在程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,在这篇文章里我们向大家介绍六款程序员常用的代码比较工…

Monaco-Editor在Vue中使用(实现代码编辑与diff代码比较)

Monaco在线代码编辑器使用总结 1.什么是Monaco Monaco编辑器是为VS代码提供支持的代码编辑器官方API文档 2.Monaco Editor安装及使用 2.1安装 npm install monaco-editor --save-devnpm install monaco-editor-webpack-plugin --save-dev2.2配置vue.config.js const Mona…