环境: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 -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86

扫描 Windows 的服务列表

volatility svcscan -f Advertising\ for\ Marriage.raw --profile=WinXPSP2x86 

查看网络连接

volatility connscan -f Advertising\ 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

OtterCTF取证

https://www.freebuf.com/news/145262.html

https://www.freebuf.com/column/152545.html稳。。。。

红队资料

Printer Exploitation Toolkit

https://www.andreafortuna.org/2017/07/17/volatility-my-own-cheatsheet-part-4-kernel-memory-and-objects/

volatility内核对象内存池

HDCTF

一道ctf-内存取证volatility的学习使用的更多相关文章

  1. volatility内存取证学习

    工具下载: Linux环境 apt-get install volatility 各种依赖的安装,(视情况安装) #Distorm3:牛逼的反编译库 pip install distorm3 ​ #Y ...

  2. 内存取证工具-volatility、foremost

    内存取证 1. 内存取证工具volatility 猜测dump文件的profile值 root@kali:~/CTF# volatility -f mem.vmem imageinfo Volatil ...

  3. volatility内存取证

    最近参加了45届世界技能大赛的山东选拔赛,样题里有一个题如下: 师傅好不容易拿到了压缩包的密码,刚准备输入,电脑蓝屏 了... = =",题意简单明了,易于理解.一看就是内存取证的题并且已经 ...

  4. 苹果内存取证工具volafox

    苹果内存取证工具volafox volafox是一款针对苹果内存取证的专用工具.该工具使用Python语言编写.该工具内置了overlay data数据,用户可以直接分析苹果10.6-10.11的各种 ...

  5. 从一道ctf看php反序列化漏洞的应用场景

    目录 0x00 first 前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE.刚好今天刷CTF题时遇到了一个类 ...

  6. 利用Volatility对Linux内存取证分析-常用命令翻译

    命令翻译 linux_apihooks - 检查用户名apihooks linux_arp - 打印ARP表 linux_aslr_shift - 自动检测Linux aslr改变 linux_ban ...

  7. 7. 由一道ctf学习变量覆盖漏洞

    0×00 背景 近期在研究学习变量覆盖漏洞的问题,于是就把之前学习的和近期看到的CTF题目中有关变量覆盖的题目结合下进一步研究. 通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞.经常导 ...

  8. 21. 从一道CTF靶机来学习mysql-udf提权

    这次测试的靶机为 Raven: 2 这里是CTF解题视频地址:https://www.youtube.com/watch?v=KbUUn3SDqaU 此次靶机主要学习 PHPMailer 跟 mymq ...

  9. 以一道ctf学习python脚本

    今天做了省赛初赛的ctf比赛,过程真是忐忑,奋战了6个小时(本来是三个小时的,哈哈哈哈). 不说了! 不说了! 说多了都是泪~ 看题吧,题目就是一道流量分析题,里面有一段icmp包,icmp包的ttl ...

随机推荐

  1. R语言学习笔记(2)——数据结构与数据集

    一.数据集 数据集的概念 数据集是由数据组成的矩阵数组,行表示观测(observation),列表示变量(variable) 数据类型 数值型变量 PatientID.AdmData.Age 为数值型 ...

  2. 在jsp页面中设置中序号

    首先要使用<c>标签的话需要先引入下面这句话: <%@ taglib prefix="c" uri="http://Java.sun.com/jsp/j ...

  3. python_Django

    1.Python用具 - pip    1.作用:        Python的软件包管理器,有一些python包被集成到了pip中.只要被集成到pip中的包,都允许通过pip直接安装    2.安装 ...

  4. 简单易学的机器学习算法——决策树之ID3算法

    一.决策树分类算法概述     决策树算法是从数据的属性(或者特征)出发,以属性作为基础,划分不同的类.例如对于如下数据集 (数据集) 其中,第一列和第二列为属性(特征),最后一列为类别标签,1表示是 ...

  5. 获取JVM转储文件的Java工具类

    在上期文章如何获取JVM堆转储文件中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法.这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获 ...

  6. Unity3D 卡通描边之控制线条粗细

    一.前言 之前我发表过一篇Unity3D 卡通渲染 基于退化四边形的实时描边,最重要的实时描边已经实现了,本文接下来要完善一下它. 在之前的实时描边中,使用了几何着色器中的LineStream来进行绘 ...

  7. 常用torch代码片段合集

    PyTorch常用代码段整理合集 本文代码基于 PyTorch 1.0 版本,需要用到以下包 import collections import os import shutil import tqd ...

  8. mysql的两阶段协议(封锁定理,虫洞事务)

    我们都知道数据库的事务具有ACID的四个属性:原子性,一致性,隔离性和持久性.然后在多线程操作的情况下,如果不能保证事务的隔离性,就会造成数据的修改丢失(事务2覆盖了事务1的修改结果).读到脏数据(事 ...

  9. jQuery中detach&&remove&&empty三种方法的区别

    jQuery中empty&&remove&&detach三种方法的区别 empty():移除指定元素内部的所有内容,但不包括它本身 remove():移除指定元素内部的 ...

  10. luogu P1327 数列排序

    题目描述 给定一个数列{an},这个数列满足ai≠aj(i≠j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? 输入格式 第一行,正整数n (n<=10 ...