内存取证之Volatility ——合天网安实验室学习笔记
实验链接
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
答题
内存取证之Volatility ——合天网安实验室学习笔记相关推荐
- BurpSuite实战——合天网安实验室学习笔记
burpsuite是一款功能强大的用于攻击web应用程序的集成平台,通常在服务器和客户端之间充当一个双向代理,用于截获通信过程中的数据包,对于截获到的包可以人为的进行修改和重放. 此BurpSuite ...
- CSRF攻击实验 ——合天网安实验室学习笔记
实验链接 本实验以PHP和Mysql为环境,展示了CSRF攻击的原理和攻击过程.通过实验结果结合对攻击代码的分析,可更直观清晰地认识到Web安全里这种常见的攻击方式. 链接:http://www.he ...
- 使用burp进行暴力破解 ——合天网安实验室学习笔记
实验链接 通过该实验掌握burp的配置方法和相关模块的使用方法,对一个虚拟网站使用burp进行暴力破解来使网站建设者从攻击者的角度去分析和避免问题,以此加强网站安全. 链接:http://www.he ...
- 绕过黑名单检查实现文件上传1 ——合天网安实验室学习笔记
实验链接 文件上传指将客户端数据以文件形式封装,通过网络协议发送到服务器端.在服务器端解析数据,最终在服务端硬盘上作为真实的文件保存.了解文件上传漏洞产生的原因,掌握漏洞的利用方法. 链接:http: ...
- 摩尔斯电码和栅栏密码 ——合天网安实验室学习笔记
实验链接 通过学习本实验理解摩尔斯电码和栅栏密码的编码解码过程:掌握编写摩尔斯电码的编码解码程序和编写多功能栅栏密码的编码解码程序. 链接:http://www.hetianlab.com/expc. ...
- 合天网安就业班_CTF挑战赛-合天网安实验室
[TOCCTF挑战赛-合天网安实验室逆向解析] CTF挑战赛-合天网安实验室sourl.cn 1.逆向100 修改后缀为.apk 安卓模拟器打开,发现要求输入Password 用Android逆向助 ...
- 合天网安实验室CTF-基础50-0x01
合天网安实验室CTF-基础50-0x01 最近无聊时准备刷点题,由简到难慢慢来吧 题目描述 真的不能再简单了! 相关附件 misc50.zip 题目链接 参考解题步骤 1.下载下来的压缩包解压 ...
- 合天网安实验室CTF-Web100-Give Me Flag
合天网安实验室CTF-Web100-Give Me Flag 题目描述 哎,不小心把代码弄乱惹 相关附件 web100.zip 题目链接 参考解题步骤 1.下载附件打开后是一段JavaScri ...
- 合天网安实验室CTF-Exp200-Come on,Exploit me!
合天网安实验室CTF-Exp200-Come on,Exploit me! 题目描述 Audrey Tang. ⊙.⊙ 我只能说到这儿了 相关附件 exp200 题目链接 参考解题步骤 1.下 ...
- 合天网安实验室CTF-Steg150-一段欢快的曲调
合天网安实验室CTF-Steg150-一段欢快的曲调 题目描述 滴滴 相关附件 stego100.wav 题目链接 参考解题步骤 1.下载的附件是一段wav格式的音频,打开听了一下,确实是欢快 ...
最新文章
- 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
- 在ASP.NET中实现Url Rewriting
- 【项目管理】常见缩写(术语)
- SAP UI5 Mock server,为什么运行时无法返回 JSON 类型的测试数据?
- oracle 网关下载,oracle透明网关访问sqlserver2000
- git 大文件报错Out of memory, malloc failed、 The remote end hung up unexpectedly
- 日语学习-多邻国-关卡1-餐馆
- max unity 方向_在2D游戏中实现方向光照
- 电脑常见问题_电脑常见问题解决方法(二)
- 线上一个数组查询遇到的坑
- 软件测试_Loadrunner_APP测试_性能测试_脚本优化_脚本回放
- javascript实现数据结构:广义表
- 计算机语言学汉语言文学,汉语言文学本科通关宝典-《语言学概论》.pdf
- 波士顿房价数据集 Boston house prices dataset
- inav向STM32F401CCU开发板定制的过程(一)
- hadoop原理及安装启动
- 软件测试 白盒测试用例设计方法动态 逻辑覆盖(语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖)基本路径测试法
- m3u8格式转MP4(ffmpeg方法)
- 中学计算机社团活动计划,社团活动方案
- 中国移动为挽留用户!推出20元不限量套餐,你会为之买单吗