一道ctf-内存取证volatility的学习使用
环境:kali
0x00 volatility官方文档
https://github.com/volatilityfoundation/volatility
在分析之前,需要先判断当前的镜像信息,分析出是哪个操作系统
volatility imageinfo -f Advertising\ for\ Marriage.raw

知道镜像后,就可以在 –profile 中带上对应的操作系统(我不加也行emmm,严谨点就加吧)
0x01 列出进程列表
volatility pslist -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

提取cmd命令历史记录
volatility -f Advertising\ for\ Marriage.raw cmdscan --profile=WinXPSP2x86

根据你的经验(可根据每个进程的开始结束时间),发现比较可疑的进程有
DumpIt.exe 180(好吧这是正在进行内存取证)
mspaint.exe 332(画图,应该蛮重要的)
spoolsv.exe 1472(打印机和服务)题目背景是结婚广告(所以打印跟画图应该有用,没看到ps进程)
notepad.exe 1056(notepad,everyone know)
查看当前展示的 notepad 文本
volatility notepad -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

根据进程的 pid dump出指定进程到指定的文件夹--dump_dir=XX/(或者-D )
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 memdump -p -D XX/
-p 进程号 -D 当前输出路径(导出为332.dmp)
dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐
查找关键字flag
strings -e l .dmp | grep flag
把结果存放在1.txt上
strings -e l .dmp | grep flag > 1.txt
强荐安装gimp
将2040.dmp copy一份重命名为2040.data,使用Gimp打开,打开方式选择"原始图像数据"
疯狂调分辨率
sudo apt-get install gimp gimp-plugin-registry gimp-data-extras
volatility screenshot -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 --dump-dir=out
对当前的窗口界面,生成屏幕截图(上)
扫描所有的文件列表
volatility filescan -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86
扫描所有的图片
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "jpg\|jpeg\|png\|tif\|gif\|bmp"
扫描所有的文档
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "doc\|docx\|rtf"
扫描桌面路径(根据实际情况选择中英)
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "Desktop"
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 filescan | grep "桌面"

根据显示dump出文件
volatility -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 dumpfiles -D XX/ -Q 0x0000000002310ef8
我太菜了QAQ
继续学习!!!
查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容
volatility hashdump -fAdvertising\ for\ Marriage.raw--profile=WinXPSP2x86
扫描 Windows 的服务列表
volatility svcscan -fAdvertising\ for\ Marriage.raw--profile=WinXPSP2x86
查看网络连接
volatility connscan -fAdvertising\ for\ Marriage.raw--profile=WinXPSP2x86
查看命令行输入
volatility -f Advertising\ for\ Marriage.raw cmdline --profile=WinXPSP2x86
扫描建立的连接和套接字(网络连接),类似于netstat
netscan
好好看官方文档!仔细看!!
https://github.com/volatilityfoundation/volatility/wiki/Command-Reference#dumpfiles
参考资料:
volatility memory forensics cheat sheet.pdf
应用程序进程 wordpad.exe写字板 MineSweeper.exe扫雷 sshd.exe
https://www.freebuf.com/news/145262.html
https://www.freebuf.com/column/152545.html稳。。。。
一道ctf-内存取证volatility的学习使用的更多相关文章
- volatility内存取证学习
工具下载: Linux环境 apt-get install volatility 各种依赖的安装,(视情况安装) #Distorm3:牛逼的反编译库 pip install distorm3 #Y ...
- 内存取证工具-volatility、foremost
内存取证 1. 内存取证工具volatility 猜测dump文件的profile值 root@kali:~/CTF# volatility -f mem.vmem imageinfo Volatil ...
- volatility内存取证
最近参加了45届世界技能大赛的山东选拔赛,样题里有一个题如下: 师傅好不容易拿到了压缩包的密码,刚准备输入,电脑蓝屏 了... = =",题意简单明了,易于理解.一看就是内存取证的题并且已经 ...
- 苹果内存取证工具volafox
苹果内存取证工具volafox volafox是一款针对苹果内存取证的专用工具.该工具使用Python语言编写.该工具内置了overlay data数据,用户可以直接分析苹果10.6-10.11的各种 ...
- 从一道ctf看php反序列化漏洞的应用场景
目录 0x00 first 前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE.刚好今天刷CTF题时遇到了一个类 ...
- 利用Volatility对Linux内存取证分析-常用命令翻译
命令翻译 linux_apihooks - 检查用户名apihooks linux_arp - 打印ARP表 linux_aslr_shift - 自动检测Linux aslr改变 linux_ban ...
- 7. 由一道ctf学习变量覆盖漏洞
0×00 背景 近期在研究学习变量覆盖漏洞的问题,于是就把之前学习的和近期看到的CTF题目中有关变量覆盖的题目结合下进一步研究. 通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞.经常导 ...
- 21. 从一道CTF靶机来学习mysql-udf提权
这次测试的靶机为 Raven: 2 这里是CTF解题视频地址:https://www.youtube.com/watch?v=KbUUn3SDqaU 此次靶机主要学习 PHPMailer 跟 mymq ...
- 以一道ctf学习python脚本
今天做了省赛初赛的ctf比赛,过程真是忐忑,奋战了6个小时(本来是三个小时的,哈哈哈哈). 不说了! 不说了! 说多了都是泪~ 看题吧,题目就是一道流量分析题,里面有一段icmp包,icmp包的ttl ...
随机推荐
- 点击查看大图滑动预览(h5,pc通用)
点击预览大图并滑动观看,支持手机端和pc端,具体功能如下图: 一. touchTouch 的js和css 以及jquery依赖库 <link rel="stylesheet" ...
- shell中的函数、shell中的数组、告警系统需求分析
7月16日任务 20.16/20.17 shell中的函数20.18 shell中的数组20.19 告警系统需求分析 20.16/20.17 shell中的函数 函数就是一个子shell就是一个代码段 ...
- PAT(甲级)2018年冬季考试
1152 Google Recruitment 思路:判断素数 #include<bits/stdc++.h> using namespace std; const int maxn = ...
- TypeScript躬行记(1)——数据类型
TypeScript不仅支持JavaScript所包含的数据类型,还额外扩展了许多实用的数据类型,例如枚举.空值.任意值等. 一.JavaScript的数据类型 JavaScript的数据类型包括6种 ...
- 如何在Android手机上进行自动化测试(上)
版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本节教程,你将了解到以下内容: 如何在脚本代码中.运行脚本时指定手机 如何填写--device Android:/// ...
- SpringBoot-HelloWorld(三)
HelloWorld 学一个新的框架,不写helloworld是没有灵魂的,嘿嘿 准备工作 我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理.通过这个例子对S ...
- 简而意赅 HTTP HTTPS SSL TLS 之间有什么不同
HTTP HTTPS SSL TLS 之间有什么不同? SSL是Secure Sockets Layer的缩写.SSL的作用是为网络上的两台机器或设备提供了一个安全的通道. TLS是SSL的一个新的名 ...
- 声明式服务调用Feign
什么是 Feign Feign 是种声明式.模板化的 HTTP 客户端(仅在 consumer 中使用). 什么是声明式,有什么作用,解决什么问题? 声明式调用就像调用本地方法一样调用远程方法;无 ...
- Rest微服务案例
数据库 数据库名称为Product; 创建api子工程,项目名为springcloud_api Product实体类 public class Product implements Serializa ...
- BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)
Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: ...