Volatility2安装使用以及CTF比赛题目(复现)

Volatility2安装使用以及CTF比赛题目(复现)

    • 一 、简介
    • 二 、安装Volatility
    • 三 、安装插件
    • 四 、工具介绍
      • 五 、使用方法
      • 1.系统基本信息(imageinfo)
      • 2. 用户名密码信息(hashdump)
      • 3. 查看进程或隐藏或解链的进程(pslist)
      • 4. 扫描所有的文件列表(filescan)
      • 5. 查看当前展示的notepad内容 (notepad)
      • 6. 查看服务(svcscan)
      • 7. 查看命令行操作显示cmd历史命令 (cmdscan)
      • 8. 查看注册表配置单元(hivelist)
      • 9.查看浏览器历史记录 (iehistory)
      • 10.查看网络连接(netscan)
      • 11.提取进程(memdump)
      • 12.查看文件内容(dmpfiles)
      • 13.查看剪贴板信息(clipboard)
      • 14.获取主机名或查看注册表键值(printkey)
      • 15.查看环境变量(envars)
      • 16.查看进程树(pstree)
    • 六 、取证赛题(复现)
    • 1. Suspicion
    • 2. 2021中职网络安全国赛—内存取证
    • 3.福莱格殿下
    • 4.OtterCTF
      • 1. What the password?
      • 2. General Info
      • 3. Play Time
      • 4. Name Game
      • 5. Name Game 2
      • 6. Silly Rick
      • 7. Hide And Seek
      • 8. Path To Glory
      • 9. Path To Glory2
      • 10. Bit 4 Bit
      • 11. Graphic’s For The Weak
      • 12. Recovery
      • 13.Closure
    • 5.[NEWSCTF2021] very-ez-dump
    • 6.[湖湘杯2020] passwd
    • 7. [HDCTF] 你能发现什么蛛丝马迹吗?
    • 8.[BMZCTF]内存取证三项
    • 9. [长安杯]朴实无华的取证
    • 10.[安洵杯]Administrator 's_secret
    • 11.[护网杯]Easy_dump
    • 12.数字取证--worldskills3(46界湖北省技能大赛选拔赛)
    • 七 、解决问题
    • 八 、总结:

一 、简介

Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。

题目链接:链接: https://pan.baidu.com/s/1s9Ey8G12COT_vI65TwhIKw?pwd=shkd 提取码: shkd

Volatility2.6需要python2,pip安装模块也需要2版本,具体命令根据实际情况调整。

本次是比赛题目的复现参考大佬链接自己在做了一遍:https://bnessy.blog.csdn.net/article/details/123917324

二 、安装Volatility

1. 下载源码
https://github.com/volatilityfoundation/volatility

2. 解压
unzip volatility-master.zip

3. 安装依赖

  • crypto
pip2 install pycryptodome
pip2 install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple #如果安装失败,可使用以下命令切换国内源

在这里插入图片描述

  • distorm3
git-clone https://github.com/vext01/distorm3  
python2 setup.py install  #下载后进行编译

Volatility2安装使用以及CTF比赛题目(复现)_第1张图片

  • 可选插件
Distorm3(反编译库):pip install distorm3
Yara(恶意软件分类工具):pip install yara
PyCrypto(加密工具集):pip install pycrypto
PIL(图片处理库):pip install pil
OpenPyxl(读写excel文件):pip install openpyxl
ujson(JSON解析):pip install ujson

4.安装Volatility

在解压后的Volatility目录下进行编译
python2 setup.py install

Volatility2安装使用以及CTF比赛题目(复现)_第2张图片

解决方法:https://techglimpse.com/error-while-running-volatility-software-failed-to-import-volatility-plugins-malware-svcscanimporterror-no-module-named-crypto-hash-solved/

这里和博主的不太一样我还是继续报错 然后自己又研究了一下(然后已解决)

pip2的安装:

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python2 get-pip.py  

#安装依赖库
pip uninstall crypto pycryptodome                                                                                                                  
pip install pycryptodome

在这里插入图片描述
Volatility2安装使用以及CTF比赛题目(复现)_第3张图片
Volatility2安装使用以及CTF比赛题目(复现)_第4张图片

三 、安装插件

1.安装mimikatz,将mimikatz.py复制到volatility-master/volatility/plugins/目录下
使用时需要添加参数:--plugins=./volatility-master/volatility/plugins(也可以直接使用mimikatz不用加这个)

Volatility2安装使用以及CTF比赛题目(复现)_第5张图片
2.运行时可能会出现如下错误,这是因为没有安装construct 模块:

Volatility Foundation Volatility Framework 2.6
*** Failed to import volatility.plugins.mimikatz (ImportError: No module named construct)
ERROR   : volatility.debug    : You must specify something to do (try -h)

在这里插入图片描述

3.安装construct模块。

pip install construct 

四 、工具介绍

输入vol.py --help可查看帮助

Volatility Foundation Volatility Framework 2.6
用法: Volatility - 内存取证分析平台

Options:
  -h, --help            列出所有可用选项及其默认值
                        默认值可以在配置文件中设置
                        (/etc/volatilityrc)
  --conf-file=/home/kali/.volatilityrc
                        基于用户的配置文件
  -d, --debug           调试Volatility
  --plugins=PLUGINS     要使用的其他插件目录(冒号分隔)
  --info                打印所有注册对象的信息
  --cache-directory=/home/kali/.cache/volatility
                        存放缓存文件的目录
  --cache               使用缓存
  --tz=TZ               设置 (Olson) 时区以使用 pytz(如果已安装)或 tzset 显示时间戳
  -f FILENAME, --filename=FILENAME
                        打开图像时使用的文件名
  --profile=WinXPSP2x86
                        要加载的配置文件的名称(使用 --info 查看支持的配置文件列表)
  -l LOCATION, --location=LOCATION
                        从中加载地址空间的 URN 位置
  -w, --write           启用写支持
  --dtb=DTB             DTB 地址
  --shift=SHIFT         Mac KASLR 移位地址
  --output=text         以这种格式输出(支持特定于模块,请参阅下面的模块输出选项)
  --output-file=OUTPUT_FILE
                        在此文件中写入输出
  -v, --verbose         详细信息
  -g KDBG, --kdbg=KDBG  指定一个 KDBG 虚拟地址(注意:对于 64 位 Windows 8 及更高版本,这是 KdCopyDataBlock 的地址)
  --force               强制使用可疑配置文件
  -k KPCR, --kpcr=KPCR  指定特定的 KPCR 地址
  --cookie=COOKIE       指定 nt!ObHeaderCookie 的地址(仅适用于 Windows 10)

	支持的插件命令:

		amcache        	查看AmCache应用程序痕迹信息
		apihooks       	检测内核及进程的内存空间中的API hook
		atoms          	列出会话及窗口站atom表
		atomscan       	Atom表的池扫描(Pool scanner)
		auditpol       	列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息
		bigpools       	使用BigPagePoolScanner转储大分页池(big page pools)
		bioskbd        	从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码)
		cachedump      	获取内存中缓存的域帐号的密码哈希
		callbacks      	打印全系统通知例程
		clipboard      	提取Windows剪贴板中的内容
		cmdline        	显示进程命令行参数
		cmdscan        	提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息)
		connections    	打印系统打开的网络连接(仅支持Windows XP 和2003)
		connscan       	打印TCP连接信息
		consoles       	提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息)
		crashinfo      	提取崩溃转储信息
		deskscan       	tagDESKTOP池扫描(Poolscaner)
		devicetree     	显示设备树信息
		dlldump        	从进程地址空间转储动态链接库
		dlllist        	打印每个进程加载的动态链接库列表
		driverirp      	IRP hook驱动检测
		drivermodule   	关联驱动对象至内核模块
		driverscan     	驱动对象池扫描
		dumpcerts      	提取RAS私钥及SSL公钥
		dumpfiles      	提取内存中映射或缓存的文件
		dumpregistry   	转储内存中注册表信息至磁盘
		editbox        	查看Edit编辑控件信息 (Listbox正在实验中)
		envars         	显示进程的环境变量
		eventhooks     	打印Windows事件hook详细信息
		evtlogs        	提取Windows事件日志(仅支持XP/2003)
		filescan       	提取文件对象(file objects)池信息
		gahti          	转储用户句柄(handle)类型信息
		gditimers      	打印已安装的GDI计时器(timers)及回调(callbacks)
		gdt            	显示全局描述符表(Global Deor Table)
		getservicesids 	获取注册表中的服务名称并返回SID信息
		getsids        	打印每个进程的SID信息
		handles        	打印每个进程打开的句柄的列表
		hashdump       	转储内存中的Windows帐户密码哈希(LM/NTLM)
		hibinfo        	转储休眠文件信息
		hivedump       	打印注册表配置单元信息
		hivelist       	打印注册表配置单元列表
		hivescan       	注册表配置单元池扫描
		hpakextract    	从HPAK文件(Fast Dump格式)提取物理内存数据
		hpakinfo       	查看HPAK文件属性及相关信息
		idt            	显示中断描述符表(Interrupt Deor Table)
		iehistory      	重建IE缓存及访问历史记录
		imagecopy      	将物理地址空间导出原生DD镜像文件
		imageinfo      	查看/识别镜像信息
		impscan        	扫描对导入函数的调用
		joblinks       	打印进程任务链接信息
		kdbgscan       	搜索和转储潜在KDBG值
		kpcrscan       	搜索和转储潜在KPCR值
		ldrmodules     	检测未链接的动态链接DLL
		lsadump        	从注册表中提取LSA密钥信息(已解密)
		machoinfo      	转储Mach-O 文件格式信息
		malfind        	查找隐藏的和插入的代码
		mbrparser      	扫描并解析潜在的主引导记录(MBR)
		memdump        	转储进程的可寻址内存
		memmap         	打印内存映射
		messagehooks   	桌面和窗口消息钩子的线程列表
		mftparser      	扫描并解析潜在的MFT条目
		moddump        	转储内核驱动程序到可执行文件的示例
		modscan        	内核模块池扫描
		modules        	打印加载模块的列表
		multiscan      	批量扫描各种对象
		mutantscan     	对互斥对象池扫描
		notepad        	查看记事本当前显示的文本
		objtypescan    	扫描窗口对象类型对象
		patcher        	基于页面扫描的补丁程序内存
		poolpeek       	可配置的池扫描器插件
		printkey       	打印注册表项及其子项和值
		privs          	显示进程权限
		procdump       	进程转储到一个可执行文件示例
		pslist         	按照EPROCESS列表打印所有正在运行的进程
		psscan         	进程对象池扫描
		pstree         	以树型方式打印进程列表
		psxview        	查找带有隐藏进程的所有进程列表
		qemuinfo       	转储 Qemu 信息
		raw2dmp        	将物理内存原生数据转换为windbg崩溃转储格式
		screenshot     	基于GDI Windows的虚拟屏幕截图保存
		servicediff    	Windows服务列表(ala Plugx)
		sessions       	_MM_SESSION_SPACE的详细信息列表(用户登录会话)
		shellbags      	打印Shellbags信息
		shimcache      	解析应用程序兼容性Shim缓存注册表项
		shutdowntime   	从内存中的注册表信息获取机器关机时间
		sockets        	打印已打开套接字列表
		sockscan       	TCP套接字对象池扫描
		ssdt           	显示SSDT条目
		strings        	物理到虚拟地址的偏移匹配(需要一些时间,带详细信息)
		svcscan        	Windows服务列表扫描
		symlinkscan    	符号链接对象池扫描
		thrdscan       	线程对象池扫描
		threads        	调查_ETHREAD 和_KTHREADs
		timeliner      	创建内存中的各种痕迹信息的时间线
		timers         	打印内核计时器及关联模块的DPC
		truecryptmaster	Recover 	恢复TrueCrypt 7.1a主密钥
		truecryptpassphrase		查找并提取TrueCrypt密码
		truecryptsummary	TrueCrypt摘要信息
		unloadedmodules	打印卸载的模块信息列表
		userassist     	打印注册表中UserAssist相关信息
		userhandles    	转储用户句柄表
		vaddump        	转储VAD数据为文件
		vadinfo        	转储VAD信息
		vadtree        	以树形方式显示VAD树信息
		vadwalk        	显示遍历VAD树
		vboxinfo       	转储Virtualbox信息(虚拟机)
		verinfo        	打印PE镜像中的版本信息
		vmwareinfo     	转储VMware VMSS/VMSN 信息
		volshell       	内存镜像中的shell
		windows        	打印桌面窗口(详细信息)
		wintree        	Z顺序打印桌面窗口树
		wndscan        	池扫描窗口站
		yarascan       	以Yara签名扫描进程或内核内存

输入vol.py --info可查看插件。

Volatility Foundation Volatility Framework 2.6

Profiles
--------
VistaSP0x64           - Windows Vista SP0 x64 的配置文件
VistaSP0x86           - Windows Vista SP0 x86 的配置文件
VistaSP1x64           - Windows Vista SP1 x64 的配置文件
VistaSP1x86           - Windows Vista SP1 x86 的配置文件
VistaSP2x64           - Windows Vista SP1 x86 的配置文件
VistaSP2x86           - Windows Vista SP2 x64 的配置文件 
Win10x64              - Windows 10 x64 的配置文件 
Win10x64_10586        - Windows 10 x64 的配置文件 (10.0.10586.306 / 2016-04-23)
Win10x64_14393        - Windows 10 x64 的配置文件 (10.0.14393.0 / 2016-07-16)
Win10x86              - Windows 10 x86 的配置文件
Win10x86_10586        - Windows 10 x86 的配置文件 (10.0.10586.420 / 2016-05-28)
Win10x86_14393        - Windows 10 x86 的配置文件 (10.0.14393.0 / 2016-07-16)
Win2003SP0x86         - Windows 2003 SP0 x86 的配置文件
Win2003SP1x64         - Windows 2003 SP0 x86 的配置文件
Win2003SP1x86         - Windows 2003 SP1 x86 的配置文件 
Win2003SP2x64         - Windows 2003 SP1 x86 的配置文件 
Win2003SP2x86         - Windows 2003 SP2 x86 的配置文件 
Win2008R2SP0x64       - Windows 2008 R2 SP0 x64 的配置文件
Win2008R2SP1x64       - Windows 2008 R2 SP1 x64 的配置文件
Win2008R2SP1x64_23418 - Windows 2008 R2 SP1 x64 的配置文件 (6.1.7601.23418 / 2016-04-09)
Win2008SP1x64         - Windows 2008 SP1 x64 的配置文件
Win2008SP1x86         - Windows 2008 SP1 x86 的配置文件
Win2008SP2x64         - Windows 2008 SP2 x64 的配置文件
Win2008SP2x86         - Windows 2008 SP2 x86 的配置文件
Win2012R2x64          - Windows Server 2012 R2 x64 的配置文件
Win2012R2x64_18340    - Windows Server 2012 R2 x64 的配置文件 (6.3.9600.18340 / 2016-05-13)
Win2012x64            - Windows Server 2012 x64 的配置文件
Win2016x64_14393      - Windows Server 2016 x64 的配置文件 (10.0.14393.0 / 2016-07-16)
Win7SP0x64            - Windows 7 SP0 x64 的配置文件
Win7SP0x86            - Windows 7 SP0 x86 的配置文件
Win7SP1x64            - Windows 7 SP1 x64 的配置文件
Win7SP1x64_23418      - Windows 7 SP1 x64 的配置文件 (6.1.7601.23418 / 2016-04-09)
Win7SP1x86            - Windows 7 SP1 x86 的配置文件
Win7SP1x86_23418      - Windows 7 SP1 x86 的配置文件 (6.1.7601.23418 / 2016-04-09)
Win81U1x64            - Windows 8.1 更新 1 x64 的配置文件
Win81U1x86            - Windows 8.1 更新 1 x86 的配置文件
Win8SP0x64            - Windows 8 x64 的配置文件
Win8SP0x86            - Windows 8 x86 的配置文件
Win8SP1x64            - Windows 8.1 x64 的配置文件
Win8SP1x64_18340      - Windows 8.1 x64 的配置文件 (6.3.9600.18340 / 2016-05-13)
Win8SP1x86            - Windows 8.1 x86 的配置文件
WinXPSP1x64           - Windows XP SP1 x64 的配置文件
WinXPSP2x64           - Windows XP SP2 x64 的配置文件
WinXPSP2x86           - Windows XP SP2 x86 的配置文件
WinXPSP3x86           - Windows XP SP3 x86 的配置文件


Address Spaces
--------------
AMD64PagedMemory              - 标准 AMD 64 位地址空间
ArmAddressSpace               - ARM 处理器的地址空间
FileAddressSpace              - 这是一个直接文件 AS.
HPAKAddressSpace              - 此 AS 支持 HPAK 格式
IA32PagedMemory               - 标准 IA-32 分页地址空间
IA32PagedMemoryPae            - 此类实现 IA-32 PAE 分页地址空间
LimeAddressSpace              - Lime 的地址空间
LinuxAMD64PagedMemory         - Linux 特定的 AMD 64 位地址空间
MachOAddressSpace             - mach-o 文件的地址空间以支持 atc-ny 内存读取器
OSXPmemELF                    - 这个 AS 支持 VirtualBox ELF64 coredump 格式
QemuCoreDumpElf               - 这个 AS 支持 Qemu ELF32 和 ELF64 核心转储格式
VMWareAddressSpace            - 此 AS 支持 VMware 快照 (VMSS) 和保存状态 (VMSS) 文件 
VMWareMetaAddressSpace        - 此 AS 支持带有 VMSN/VMSS 元数据的 VMEM 格式 
VirtualBoxCoreDumpElf64       - 这个 AS 支持 VirtualBox ELF64 coredump 格式
Win10AMD64PagedMemory         - Windows 10 特定的 AMD 64 位地址空间
WindowsAMD64PagedMemory       - Windows 特定的 AMD 64 位地址空间
WindowsCrashDumpSpace32       - 这个 AS 支持 windows 崩溃转储格式
WindowsCrashDumpSpace64       - 此 AS 支持 windows Crash Dump 格式
WindowsCrashDumpSpace64BitMap - 此 AS 支持 Windows BitMap Crash Dump 格式
WindowsHiberFileSpace32       - 这是 Windows 休眠文件的休眠地址空间


Plugins
-------
amcache                    - 打印 AmCache 信息 
apihooks                   - 检测进程和内核内存中的 API 挂钩 
atoms                      - 打印会话和窗口站原子表
atomscan                   - 原子表的池扫描器
auditpol                   - 从 HKLM\SECURITY\Policy\PolAdtEv 打印出审计策略 
bigpools                   - 使用 BigPagePoolScanner 转储大页面池 
bioskbd                    - 从实模式内存中读取键盘缓冲区
cachedump                  - 从内存中转储缓存的域哈希
callbacks                  - 打印系统范围的通知例程
clipboard                  - 提取 Windows 剪贴板的内容
cmdline                    - 显示进程命令行参数
cmdscan                    - 通过扫描 _COMMAND_HISTORY 来提取命令历史记录
connections                - 打印打开的连接列表 [仅限 Windows XP 和 2003]
connscan                   - 用于 tcp 连接的池扫描器
consoles                   - 通过扫描 _CONSOLE_INFORMATION 提取命令历史记录
crashinfo                  - 转储崩溃转储信息
deskscan                   - tagDESKTOP(台式机)的 Poolscaner
devicetree                 - 显示设备树
dlldump                    - 从进程地址空间转储 DLL
dlllist                    - 打印每个进程加载的 dll 列表
driverirp                  - 驱动程序 IRP 挂钩检测
drivermodule               - 将驱动程序对象关联到内核模块
driverscan                 - 驱动程序对象的池扫描器
dumpcerts                  - 转储 RSA 私有和公共 SSL 密钥
dumpfiles                  - 提取内存映射和缓存文件
dumpregistry               - 将注册表文件转储到磁盘
editbox                    - 显示有关编辑控件的信息(列表框实验)
envars                     - 显示进程环境变量
eventhooks                 - 在 Windows 事件挂钩上打印详细信息
evtlogs                    - 提取 Windows 事件日志(仅限 XP/2003)
filescan                   - 文件对象的池扫描器
gahti                      - 转储 USER 句柄类型信息
gditimers                  - 打印已安装的 GDI 计时器和回调
gdt                        - 显示全局描述符表
getservicesids             - 获取 Registry 中的服务名称并返回计算的 SID
getsids                    - 打印拥有每个进程的 SID
handles                    - 打印每个进程的打开句柄列表
hashdump                   - 从内存中转储密码哈希 (LM/NTLM)
hibinfo                    - 转储休眠文件信息
hivedump                   - 打印注册表
hivelist                   - 打印注册表配置单元列表
hivescan                   - 注册表配置单元的池扫描程序
hpakextract                - 从 HPAK 文件中提取物理内存 
hpakinfo                   - 有关 HPAK 文件的信息 
idt                        - 显示中断描述符表 
iehistory                  - 重建 Internet Explorer 缓存/历史 
imagecopy                  - 将物理地址空间复制为原始 DD 映像
imageinfo                  - 识别图像的信息 
impscan                    - 扫描对导入函数的调用
joblinks                   - 打印进程作业链接信息 
kdbgscan                   - 搜索和转储潜在的 KDBG 值 
kpcrscan                   - 搜索和转储潜在的 KPCR 值
ldrmodules                 - 检测未链接的 DLL 
limeinfo                   - 转储 Lime 文件格式信息
linux_apihooks             - 检查用户态 apihooks 
linux_arp                  - 打印 ARP 表 
linux_aslr_shift           - 自动检测 Linux ASLR shift 
linux_banner               - 打印 Linux 横幅信息
linux_bash                 - 从 bash 进程内存中恢复 bash 历史记录
linux_bash_env             - 恢复进程的动态环境变量
linux_bash_hash            - 从 bash 进程内存中恢复 bash 哈希表 
linux_check_afinfo         - 验证网络协议的操作函数指针
linux_check_creds          - 检查是否有进程共享凭证结构
linux_check_evt_arm        - 检查异常向量表以查找系统调用表挂钩 
linux_check_fop            - 检查 rootkit 修改的文件操作结构
linux_check_idt            - 检查 IDT 是否已被更改
linux_check_inline_kernel  - 检查内联内核挂钩
linux_check_modules        - 将模块列表与 sysfs 信息进行比较(如果可用)
linux_check_syscall        - 检查系统调用表是否已更改
linux_check_syscall_arm    - 检查系统调用表是否已更改
linux_check_tty            - 检查 tty 设备的钩子
linux_cpuinfo              - 打印每个活动处理器的信息 
linux_dentry_cache         - 从 dentry 缓存中收集文件 
linux_dmesg                - 收集 dmesg 缓冲区
linux_dump_map             - 将选定的内存映射写入磁盘
linux_dynamic_env          - 恢复进程的动态环境变量
linux_elfs                 - 在进程映射中查找 ELF 二进制文件 
linux_enumerate_files      - 列出文件系统缓存引用的文件 
linux_find_file            - 列出并从内存中恢复文件 
linux_getcwd               - 列出每个进程的当前工作目录 
linux_hidden_modules       - 雕刻内存以查找隐藏的内核模块 
linux_ifconfig             - 收集活动接口 
linux_info_regs            - 就像 GDB 中的“信息寄存器”。 它打印出所有
linux_iomem                - 提供类似于 /proc/iomem 的输出
linux_kernel_opened_files  - 列出从内核中打开的文件 
linux_keyboard_notifiers   - 解析键盘通知器调用链 
linux_ldrmodules           - 将 proc 映射的输出与 libdl 中的库列表进行比较
linux_library_list         - 列出加载到进程中的库 
linux_librarydump          - 将进程内存中的共享库转储到磁盘 
linux_list_raw             - 列出具有混杂套接字的应用程序 
linux_lsmod                - 收集加载的内核模块 
linux_lsof                 - 列出文件描述符及其路径 
linux_malfind              - 寻找可疑的进程映射 
linux_memmap               - 转储 linux 任务的内存映射 
linux_moddump              - 提取加载的内核模块 
linux_mount                - 收集挂载的 fs/devices
linux_mount_cache          - 从 kmem_cache收集挂载的 fs/devices
linux_netfilter            - 列出 Netfilter 钩子
linux_netscan              - 雕刻网络连接结构 
linux_netstat              - 列出打开的套接字 
linux_pidhashtable         - 通过 PID 哈希表枚举进程 
linux_pkt_queues           - 将每个进程的数据包队列写入磁盘
linux_plthook              - 扫描 ELF 二进制文件的 PLT 以获取非需要图像的挂钩
linux_proc_maps            - 收集进程内存映射 
linux_proc_maps_rb         - 通过映射红黑树为 linux 收集进程映射
linux_procdump             - 将进程的可执行映像转储到磁盘 
linux_process_hollow       - 检查进程空心的迹象 
linux_psaux                - 收集进程以及完整的命令行和开始时间 
linux_psenv                - 收集进程及其静态环境变量 
linux_pslist               - 通过遍历 task_struct->task 列表来收集活动任务
linux_pslist_cache         - 从 kmem_cache 收集任务
linux_psscan               - 扫描进程的物理内存
linux_pstree               - 显示进程之间的父/子关系
linux_psxview              - 使用各种进程列表查找隐藏进程
linux_recover_filesystem   - 从内存中恢复整个缓存文件系统
linux_route_cache          - 从内存中恢复路由缓存 
linux_sk_buff_cache        - 从 sk_buff kmem_cache 中恢复数据包
linux_slabinfo             - 在运行的机器上模拟 /proc/slabinfo
linux_strings              - 将物理偏移量与虚拟地址匹配(可能需要一段时间,非常冗长)
linux_threads              - 打印进程的线程 
linux_tmpfs                - 从内存中恢复 tmpfs 文件系统
linux_truecrypt_passphrase - 恢复缓存的 Truecrypt 密码
linux_vma_cache            - 从 vm_area_struct 缓存中收集 VMA 
linux_volshell             - 内存映像中的 Shell 
linux_yarascan             - Linux 内存映像中的 shell
lsadump                    - 从注册表中转储(解密的)LSA 机密
mac_adium                  - 列出 Adium 消息
mac_apihooks               - 检查进程中的 API 挂钩
mac_apihooks_kernel        - 检查系统调用和内核函数是否被挂钩 
mac_arp                    - 打印 arp 表
mac_bash                   - 从 bash 进程内存中恢复 bash 历史记录
mac_bash_env               - 恢复 bash 的环境变量
mac_bash_hash              - 从 bash 进程内存中恢复 bash 哈希表
mac_calendar               - 从 Calendar.app 获取日历事件
mac_check_fop              - 验证文件操作指针 
mac_check_mig_table        - 列出内核 MIG 表中的整体
mac_check_syscall_shadow   - 查找影子系统调用表 
mac_check_syscalls         - 检查系统调用表条目是否被挂钩 
mac_check_sysctl           - 检查未知的 sysctl 处理程序
mac_check_trap_table       - 检查 mach 陷阱表条目是否被钩住
mac_compressed_swap        - 打印 Mac OS X VM 压缩器统计数据并转储所有压缩页面
mac_contacts               - 从 Contacts.app 获取联系人姓名 
mac_dead_procs             - 打印终止/取消分配的进程
mac_dead_sockets           - 打印终止/取消分配的网络套接字
mac_dead_vnodes            - 列出释放的 vnode 结构
mac_devfs                  - 列出文件缓存中的文件 
mac_dmesg                  - 打印内核调试缓冲区 
mac_dump_file              - 转储指定文件 
mac_dump_maps              - 转储进程的内存范围,可选地包括压缩交换中的页面 
mac_dyld_maps              - 从 dyld 数据结构中获取进程的内存映射
mac_find_aslr_shift        - 查找 10.8+ 图像的 ASLR 移位值
mac_get_profile            - 自动检测 Mac 配置文件
mac_ifconfig               - 列出所有设备的网络接口信息 
mac_interest_handlers      - 列出 IOKit 兴趣处理程序 
mac_ip_filters             - 报告任何挂钩的 IP 过滤器
mac_kernel_classes         - 列出内核中加载的 c++ 类
mac_kevents                - 显示进程的父/子关系
mac_keychaindump           - 恢复可能的钥匙串密钥。 使用chainbreaker打开相关的keychain文件
mac_ldrmodules             - 将 proc 映射的输出与 libdl 中的库列表进行比较
mac_librarydump            - 转储进程的可执行文件 
mac_list_files             - 列出文件缓存中的文件 
mac_list_kauth_listeners   - 列出 Kauth Scope 监听器 
mac_list_kauth_scopes      - 列出 Kauth 范围及其状态
mac_list_raw               - 列出具有混杂套接字的应用程序 
mac_list_sessions          - 枚举会话 
mac_list_zones             - 打印活动区域 
mac_lsmod                  - 列出加载的内核模块 
mac_lsmod_iokit            - 列出通过 IOkit 加载的内核模块
mac_lsmod_kext_map         - 列出加载的内核模块 
mac_lsof                   - 列出每个进程打开的文件 
mac_machine_info           - 打印有关样本的机器信息 
mac_malfind                - 寻找可疑的进程映射 
mac_memdump                - 将可寻址内存页转储到文件中 
mac_moddump                - 将指定的内核扩展写入磁盘 
mac_mount                  - 打印挂载的设备信息 
mac_netstat                - 列出每个进程的活动网络连接 
mac_network_conns          - 列出来自内核网络结构的网络连接 
mac_notesapp               - 查找 Notes 消息的内容
mac_notifiers              - 检测将钩子添加到 I/O 工具包中的 rootkit(例如 LogKext)
mac_orphan_threads         - 列出不映射回已知模块/进程的线程
mac_pgrp_hash_table        - 遍历进程组哈希表 
mac_pid_hash_table         - 遍历 pid 哈希表
mac_print_boot_cmdline     - 打印内核启动参数 
mac_proc_maps              - 获取进程的内存映射 
mac_procdump               - 转储进程的可执行文件 
mac_psaux                  - 在用户区打印带有参数的进程 (**argv)
mac_psenv                  - 在用户空间打印带有环境的进程 (**envp)
mac_pslist                 - 列出正在运行的进程 
mac_pstree                 - 显示进程的父/子关系
mac_psxview                - 使用各种进程列表查找隐藏进程 
mac_recover_filesystem     - 恢复缓存的文件系统 
mac_route                  - 打印路由表 
mac_socket_filters         - 报告套接字过滤器 
mac_strings                - 将物理偏移量与虚拟地址匹配(可能需要一段时间,非常冗长)
mac_tasks                  - 列出活动任务 
mac_threads                - 列出进程线程 
mac_threads_simple         - 列出线程及其开始时间和优先级 
mac_timers                 - 报告内核驱动程序设置的定时器 
mac_trustedbsd             - 列出恶意的trustedbsd 策略
mac_version                - 打印 Mac 版本
mac_vfsevents              - 列出过滤文件系统事件的进程 
mac_volshell               - 内存映像中的外壳 
mac_yarascan               - 扫描内存中的 yara 签名 
machoinfo                  - 转储 Mach-O 文件格式信息
malfind                    - 查找隐藏和注入的代码 
mbrparser                  - 扫描并解析潜在的主引导记录 (MBR)
memdump                    - 转储进程的可寻址内存 
memmap                     - 打印内存映射 
messagehooks               - 列出桌面和线程窗口消息挂钩 
mftparser                  - 扫描并解析潜在的 MFT 条目
moddump                    - 将内核驱动程序转储到可执行文件示例 
modscan                    - 内核模块的池扫描器 
modules                    - 打印加载模块的列表 
multiscan                  - 一次扫描各种对象 
mutantscan                 - 互斥对象的池扫描器 
netscan                    - 扫描 Vista(或更高版本)图像的连接和套接字 
notepad                    - 列出当前显示的记事本文本 
objtypescan                - 扫描 Windows 对象类型对象
patcher                    - 基于页面扫描修补内存 
poolpeek                   - 可配置的池扫描器插件 
pooltracker                - 显示池标签使用的摘要 
printkey                   - 打印注册表项及其子项和值 
privs                      - 显示进程权限 
procdump                   - 将进程转储到可执行文件示例 
pslist                     - 按照 EPROCESS 列表打印所有正在运行的进程
psscan                     - 进程对象的池扫描器 
pstree                     - 将进程列表打印为树 
psxview                    - 使用各种进程列表查找隐藏进程 
qemuinfo                   - 转储 Qemu 信息
raw2dmp                    - 将物理内存样本转换为 windbg 故障转储
screenshot                 - 保存基于 GDI 窗口的伪截图
servicediff                - 列出 Windows 服务(ala Plugx)
sessions                   - 列出 _MM_SESSION_SPACE 的详细信息(用户登录会话)
shellbags                  - 打印 ShellBags 信息
shimcache                  - 解析应用程序兼容性 Shim Cache 注册表项
shutdowntime               - 从注册表打印机器的 ShutdownTime
sockets                    - 打印打开的套接字列表 
sockscan                   - tcp 套接字对象的池扫描器
ssdt                       - 显示 SSDT 条目
strings                    - 将物理偏移量与虚拟地址匹配(可能需要一段时间,非常冗长)
svcscan                    - 扫描 Windows 服务
symlinkscan                - 符号链接对象的池扫描器 
thrdscan                   - 线程对象的池扫描器 
threads                    - 调查 _ETHREAD 和 _KTHREADs
timeliner                  - 从内存中的各种工件创建时间线 
timers                     - 打印内核定时器和相关的模块 DPC
truecryptmaster            - 恢复 TrueCrypt 7.1a 主密钥
truecryptpassphrase        - TrueCrypt 缓存密码短语查找器
truecryptsummary           - TrueCrypt 总结
unloadedmodules            - 打印已卸载模块的列表 
userassist                 - 打印 userassist 注册表项和信息
userhandles                - 转储 USER 句柄表
vaddump                    - 将 vad 部分转储到文件中
vadinfo                    - 转储 VAD 信息
vadtree                    - 遍历 VAD 树并以树格式显示
vadwalk                    - 走 VAD 树
vboxinfo                   - 转储 virtualbox 信息 
verinfo                    - 从 PE 图像中打印出版本信息
vmwareinfo                 - 转储 VMware VMSS/VMSN 信息
volshell                   - 内存映像中的 Shell
win10cookie                - 查找 Windows 10 的 ObHeaderCookie 值 
windows                    - 打印桌面窗口(详细信息)
wintree                    - 打印Z顺序桌面Windows树
wndscan                    - 用于窗口站的池扫描仪
yarascan                   - 使用 Yara 签名扫描进程或内核内存


Scanner Checks
--------------
CheckPoolSize          - 检查池块大小
CheckPoolType          - 检查池类型
KPCRScannerCheck       - 检查自引用指针以查找KPCR
MultiPrefixFinderCheck - 每页检查多个字符串,在偏移处完成
MultiStringFinderCheck - 每页检查多个字符串
PoolTagCheck           - 此扫描程序检查池标记的出现

五 、使用方法

命令格式:volatility -f [image] --profile=[profile] [plugin]

1.系统基本信息(imageinfo)

在这里插入图片描述

  1. --profile=带上镜像
  2. imageinfo 列出镜像基本信息

2. 用户名密码信息(hashdump)

Volatility2安装使用以及CTF比赛题目(复现)_第6张图片
Volatility2安装使用以及CTF比赛题目(复现)_第7张图片
Volatility2安装使用以及CTF比赛题目(复现)_第8张图片

  • hashdump列出hash值
  • mimikatz 直接破解哈希值(需要装插件)
  • lsadump john破解不出来 就查看强密码

3. 查看进程或隐藏或解链的进程(pslist)

Volatility2安装使用以及CTF比赛题目(复现)_第9张图片
Volatility2安装使用以及CTF比赛题目(复现)_第10张图片

  • pslist查看已知进程
  • psscan查看进程以及被rootkit隐藏或解链的进程

4. 扫描所有的文件列表(filescan)

在这里插入图片描述
在这里插入图片描述

  • filescan扫描文件并列出,配合 grep 命令进行相关字(flag,,)

5. 查看当前展示的notepad内容 (notepad)

Volatility2安装使用以及CTF比赛题目(复现)_第11张图片

6. 查看服务(svcscan)

Volatility2安装使用以及CTF比赛题目(复现)_第12张图片

7. 查看命令行操作显示cmd历史命令 (cmdscan)

Volatility2安装使用以及CTF比赛题目(复现)_第13张图片

8. 查看注册表配置单元(hivelist)

Volatility2安装使用以及CTF比赛题目(复现)_第14张图片

9.查看浏览器历史记录 (iehistory)

Volatility2安装使用以及CTF比赛题目(复现)_第15张图片

  • iehistory获取当前系统浏览器搜索过的关键词

10.查看网络连接(netscan)

Volatility2安装使用以及CTF比赛题目(复现)_第16张图片

11.提取进程(memdump)

在这里插入图片描述

  • 需要指定偏移量 -Q 和输出目录 -D

12.查看文件内容(dmpfiles)

Volatility2安装使用以及CTF比赛题目(复现)_第17张图片

  1. 提取进程 -p 进程号 -D 当前输出路径
  2. dump出来的进程文件,可以配合foremost使用,分离里面的文件
  3. strings -E l ***.dmp | grep flag 查找flag

13.查看剪贴板信息(clipboard)

Volatility2安装使用以及CTF比赛题目(复现)_第18张图片

14.获取主机名或查看注册表键值(printkey)

Volatility2安装使用以及CTF比赛题目(复现)_第19张图片

15.查看环境变量(envars)

Volatility2安装使用以及CTF比赛题目(复现)_第20张图片

16.查看进程树(pstree)

Volatility2安装使用以及CTF比赛题目(复现)_第21张图片

  • pstree列出父进程与子进程

六 、取证赛题(复现)

1. Suspicion

①.使用命令: python2 vol.py -f mem.vmem imageinfo获取基本信息。

Volatility2安装使用以及CTF比赛题目(复现)_第22张图片
②.使用命令: python2 vol.py -f mem.vmem --profile=WinXPSP2x86 pslist 查看进程。
Volatility2安装使用以及CTF比赛题目(复现)_第23张图片一个名为TrueCrypt的进程!TrueCrypt是一款加密软件,那么我们就很容易能想到,suspicion应该是一个被TrueCrypt加密的文件

③.使用命令: python2 vol.py -f mem.vmem --profile=WinXPSP2x86 memdump -p 2012 -D ./

  • -pPID
  • -D是转储路径将进程转储出来得到2012.dmp

在这里插入图片描述

Volatility2安装使用以及CTF比赛题目(复现)_第24张图片

④.使用Elcomsoft Forensic Disk Decryptor行破解。

Volatility2安装使用以及CTF比赛题目(复现)_第25张图片

Volatility2安装使用以及CTF比赛题目(复现)_第26张图片
Volatility2安装使用以及CTF比赛题目(复现)_第27张图片

Volatility2安装使用以及CTF比赛题目(复现)_第28张图片
Volatility2安装使用以及CTF比赛题目(复现)_第29张图片
Volatility2安装使用以及CTF比赛题目(复现)_第30张图片

2. 2021中职网络安全国赛—内存取证

①:从内存中获取到用户admin的密码并且破解密码,以flag{admin,password}形式提交(密码为6位);
Volatility2安装使用以及CTF比赛题目(复现)_第31张图片
Volatility2安装使用以及CTF比赛题目(复现)_第32张图片
使用john 进行破解哈希 这里我们可以使用网站进行解密:https://crackstation.net/

Volatility2安装使用以及CTF比赛题目(复现)_第33张图片

FLAG:{Administrator,999999}

②:获取当前系统ip地址和主机名,以flag{主机名,ip}形式提交;

python vol.py -f flag0043.raw --profile=Win2003SP1x86 sockets
python vol.py -f flag0043.raw --profile=Win2003SP1x86 printkey -K 'Controlset001\Control\Computername\Computername'

Volatility2安装使用以及CTF比赛题目(复现)_第34张图片
Volatility2安装使用以及CTF比赛题目(复现)_第35张图片

FLAG:{PYSYSTEM,192.168.200.157}

③:桌面上有一个flag文件,请获取flag文件中的内容;

python vol.py -f flag0043.raw --profile=Win2003SP1x86 filescan | grep flag
python vol.py -f flag0043.raw --profile=Win2003SP1x86  notepad  D #读取文本

在这里插入图片描述
Volatility2安装使用以及CTF比赛题目(复现)_第36张图片
④:恶意进程在系统中注册了服务,请将服务名以flag{服务名}形式提交。

python vol.py -f flag0043.raw --profile=Win2003SP1x86 svcscan                         

Volatility2安装使用以及CTF比赛题目(复现)_第37张图片

FLAG:{backdoor}

3.福莱格殿下

①:使用命令:python2 vol.py -f zy.raw imageinfo查看profileWinXPSP2x86

Volatility2安装使用以及CTF比赛题目(复现)_第38张图片

②:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 iehistory获取浏览器历史记录

Volatility2安装使用以及CTF比赛题目(复现)_第39张图片
③:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 filescan | grep hint获取浏览器历史记录
④:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002052028 -D ./hint.txt转存
Volatility2安装使用以及CTF比赛题目(复现)_第40张图片
⑤:使用命令:python2 vol.py -f zy.raw --profile=WinXPSP2x86 dumpfiles -Q 0x0000000002052028 -D ./继续转存fl4g.zip修改后缀
Volatility2安装使用以及CTF比赛题目(复现)_第41张图片
Volatility2安装使用以及CTF比赛题目(复现)_第42张图片
使用StegSlove 打开flag.png然后点击Analyse->Image Combiner打开flag.jpg进行异或会得到二维码扫码即可得到flag

Volatility2安装使用以及CTF比赛题目(复现)_第43张图片
在这里插入图片描述

4.OtterCTF

1. What the password?

you got a sample of rick’s PC’s memory. can you get his user password?
(你得到了瑞克电脑内存的样本,你能得到他的用户密码吗?)

使用命令:python2 vol.py -f OtterCTF.vmem imageinfo

Volatility2安装使用以及CTF比赛题目(复现)_第44张图片
使用命令:python2 vol.py -f OtterCTF.vmem --profile=Win7SP1x64 hashdump 列出hash值 这里需要使用mimikatz

在这里插入图片描述
使用命令:python2 vol.py -f OtterCTF.vmem --profile=Win7SP1x64 mimikatz进行破解。
在这里插入图片描述

FLAG{MortyIsReallyAnOtter}

2. General Info

Let’s start easy - whats the PC’s name and IP address?(让我们从简单的开始–电脑的名称和IP地址是什么?)

①.使用参数netscan 先找ip

Volatility2安装使用以及CTF比赛题目(复现)_第45张图片
②.使用hivelist查看注册表,发现有SYSTEM使用 -K "ControlSet001\Control\ComputerName\ComputerName获取主机名。

Volatility2安装使用以及CTF比赛题目(复现)_第46张图片
Volatility2安装使用以及CTF比赛题目(复现)_第47张图片

FLAG:{192.168.202.131,WIN-LO6FAF3DTFE}

3. Play Time

Rick just loves to play some good old videogames. can you tell which game is he playing? whats the IP address of the server?(瑞克只是喜欢玩一些好的老式电子游戏,你能告诉他在玩哪个游戏吗? 服务器的IP地址是什么?)

使用netscan直接查看到游戏名与IP

Volatility2安装使用以及CTF比赛题目(复现)_第48张图片

FLAG:{77.102.199.102,LunarMS.exe}

4. Name Game

We know that the account was logged in to a channel called Lunar-3. what is the account name?(我们知道该账户登录了一个名为Lunar-3的频道。什么是账户名称?)

Volatility2安装使用以及CTF比赛题目(复现)_第49张图片

FLAG:{0tt3r8r33z3}

5. Name Game 2

From a little research we found that the username of the logged on character is always after this signature: 0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} What’s rick’s character’s name?(通过一点研究,我们发现,登录的字符的用户名总是在这个签名之后。0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} 瑞克的角色叫什么名字?)

pslist列出进程将LunarMS.exe进行转存,使用16进制编辑器查看
在这里插入图片描述
Volatility2安装使用以及CTF比赛题目(复现)_第50张图片
Volatility2安装使用以及CTF比赛题目(复现)_第51张图片

FLAG:{M0rtyL0L}

6. Silly Rick

Silly rick always forgets his email’s password, so he uses a Stored Password Services online to store his password. He always copy and paste the password so he will not get it wrong. whats rick’s email password?(愚蠢的瑞克总是忘记他的电子邮件的密码,所以他使用在线存储密码服务来存储他的密码。他总是复制和粘贴密码,这样他就不会弄错。里克的电子邮件密码是什么?)
Volatility2安装使用以及CTF比赛题目(复现)_第52张图片

FLAG{M@il_Pr0vid0rs}

7. Hide And Seek

The reason that we took rick’s PC memory dump is because there was a malware infection. Please find the malware process name (including the extension)(我们提取瑞克的电脑内存转储的原因是有一个恶意软件感染。请找到恶意软件的进程名称(包括扩展名)

pstree查看进程树发现了一个vmware-tray.ex 比较可疑 搜索cmdline

Volatility2安装使用以及CTF比赛题目(复现)_第53张图片
Volatility2安装使用以及CTF比赛题目(复现)_第54张图片

FLAG:{vmware-tray.exe}

8. Path To Glory

How did the malware got to rick’s PC? It must be one of rick old illigal habits…(恶意软件是如何进入里克的电脑的?这一定是瑞克的一个老习惯…)

使用filescan | grep "Rick And Morty"过滤出Rick相关的文件,进行转存strings 进行查看 得到FLAG

Volatility2安装使用以及CTF比赛题目(复现)_第55张图片

FLAG:{M3an_T0rren7_4_R!ck}

9. Path To Glory2

Continue the search after the the way that malware got in.(在恶意软件进入后继续搜索。

根据前面torrent知道是种子文件,那肯定是通过谷歌浏览器下载的所以我们把思路放在chrome进程里面

filescan |grep -i "chrome.*history*" 进行转存,得到是个数据库文件 发现该种子文件来源为一个mail地址

Volatility2安装使用以及CTF比赛题目(复现)_第56张图片

Volatility2安装使用以及CTF比赛题目(复现)_第57张图片
搜索关键字|grep "mail.com" 找到了[email protected]邮件 继续过滤搜关键字 |grep -E "[email protected]" -C 10
Volatility2安装使用以及CTF比赛题目(复现)_第58张图片

10. Bit 4 Bit

We’ve found out that the malware is a ransomware. Find the attacker’s bitcoin address.(我们发现这个恶意软件是勒索软件。找到攻击者的比特币地址。)

把勒索病毒,以可执行文件转储3720进程 使用procdump -p 3720 -D ./

在这里插入图片描述
使用逆向分析工具IDA查看
Volatility2安装使用以及CTF比赛题目(复现)_第59张图片

FLAG:{1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M}

11. Graphic’s For The Weak

There’s something fishy in the malware’s graphics.(恶意软件的图形中有些可疑。)

foremost 直接分离恶意程序得到图片。
Volatility2安装使用以及CTF比赛题目(复现)_第60张图片
Volatility2安装使用以及CTF比赛题目(复现)_第61张图片

FLAG{S0_Just_M0v3_Socy}

12. Recovery

Rick got to have his files recovered! What is the random password used to encrypt the files?(里克得把他的档案找回来!用于加密文件的随机密码是什么?)

通过 ILSpy 得知密码长度为15个字符,格式为computerName+“-”+userName+“”+密码

猜测就是第二题总拿到的主机名WIN-LO6FAF3DTFE加上用户名Rick,使用strings进行搜索一下
在这里插入图片描述

FALG:{aDOBofVYUNVnmp7}

13.Closure

Now that you extracted the password from the memory, could you decrypt rick’s files?(既然你从内存中提取了密码,你能解密瑞克的文件吗?)

filecsan | grep Flag 搜索关键字,进行转存

在这里插入图片描述
百度后知道这个恶意软件就是HiddenTear勒索软件,先使用HiddenTear Bruteforcer爆破出密钥,再使用HiddenTearDecrypter进行解密

需要把文末的0都删了 在进行爆破(因为是更快把) 并将后缀修改为.png.locked* 密钥为:aDOBofVYUNVnmp7
在这里插入图片描述
打开HiddenTearDecrypter,填写密钥Select Directory选择加密文件的目录,点击Decrypt解密文件得到一张图片使用WinHex打开即可。
Volatility2安装使用以及CTF比赛题目(复现)_第62张图片
在这里插入图片描述

FLAG:{Im_Th@_B3S7_RicK_0f_Th3m_4ll}

5.[NEWSCTF2021] very-ez-dump

①:使用命令:python2 vol.py -f mem.raw imageinfo 获取基本信息,得到profileWin7SP1x64

Volatility2安装使用以及CTF比赛题目(复现)_第63张图片
②:使用命令:python2 vol.py -f mem.raw --profile=Win7SP1x64 cmdscan 得到mumuzi用户密码为(ljmmz)ovo

Volatility2安装使用以及CTF比赛题目(复现)_第64张图片
③:使用命令:python2 vol.py -f mem.raw --profile=Win7SP1x64 filescan | grep flag 得到mumuzi用户密码为(ljmmz)ovo

在这里插入图片描述
④:使用命令:python2 vol.py -f mem.raw --profile=Win7SP1x64 dumpfiles - Q 0x000000003e4b2070 -D ./ 输入密码得到flag

Volatility2安装使用以及CTF比赛题目(复现)_第65张图片

6.[湖湘杯2020] passwd

①:使用命令:python2 vol.py -f WIN-BU6IJ7FI9RU-20190927-152050.raw imageinfo 获取基本信息,得到profileWin7SP1x86_23418

Volatility2安装使用以及CTF比赛题目(复现)_第66张图片
②使用命令:python2 vol.py -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 hashdump 查看hash

在这里插入图片描述

Volatility2安装使用以及CTF比赛题目(复现)_第67张图片

7. [HDCTF] 你能发现什么蛛丝马迹吗?

①.查看镜像基本信息,这里需要指定profileWin2003SP1x86

Volatility2安装使用以及CTF比赛题目(复现)_第68张图片
②.搜索flag关键词,发现存在flag.png,进行转储得到一张二维码 扫码得到:jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
Volatility2安装使用以及CTF比赛题目(复现)_第69张图片
③.查看一下列表在查看一下cmd使用的命令 可以发现最后一个时间和别的不同 很可疑 pid1992 进行转存
Volatility2安装使用以及CTF比赛题目(复现)_第70张图片
在这里插入图片描述
④.使用binwalk或者foremost进行分离得到了一个keyiv 应该是AES加密最终得到flag

Volatility2安装使用以及CTF比赛题目(复现)_第71张图片

密文:jfXvUoypb8p3zvmPks8kJ5Kt0vmEw0xUZyRGOicraY4=
key: Th1s_1s_K3y00000
iv: 1234567890123456

Volatility2安装使用以及CTF比赛题目(复现)_第72张图片

8.[BMZCTF]内存取证三项

题目描述:一天下午小白出去吃饭,临走之前还不忘锁了电脑,这时同寝室的小黑想搞点事情,懂点黑客和社工知识的小黑经过多次尝试获得了密码成功进入电脑,于是便悄悄在电脑上动起手脚了,便在桌面上写着什么,想给小白一个惊喜,同时还传送着小白的机密文件,正巧这时小白刚好回来,两人都吓了一跳,小黑也不管自己在电脑上留下的操作急忙离开电脑,故作淡定的说:“我就是随便看看”。
1.小黑写的啥,据说是flag?
2.那么问题来了,小白的密码是啥?
3.小黑发送的机密文件里面到底是什么

①.查看镜像基本信息profileWin2003SP1x86
Volatility2安装使用以及CTF比赛题目(复现)_第73张图片
②.查看cmd记录这里nc下载了一个压缩包,找到压缩包位置进行转存,再看一下文本notepad
Volatility2安装使用以及CTF比赛题目(复现)_第74张图片
Volatility2安装使用以及CTF比赛题目(复现)_第75张图片
Volatility2安装使用以及CTF比赛题目(复现)_第76张图片
③.查看一下记事本,发现一串十六进制数,好像是ASCII码进行转换。
Volatility2安装使用以及CTF比赛题目(复现)_第77张图片

④.根据压缩包的格式猜测密码为八位数 使用john进行爆破 得到密码为:19950101

Volatility2安装使用以及CTF比赛题目(复现)_第78张图片
在这里插入图片描述

9. [长安杯]朴实无华的取证

①.查看镜像基本信息profileWinXPSP2x86
Volatility2安装使用以及CTF比赛题目(复现)_第79张图片
②.pslist查看进程 发现有文本 查看文本得到密码(暂时没用)过滤flag相关字符 把相关文件转存
Volatility2安装使用以及CTF比赛题目(复现)_第80张图片
Volatility2安装使用以及CTF比赛题目(复现)_第81张图片
③.zip解压需要密码刚刚上面得到了:20211209 得到一个脚本 还有一张图片
Volatility2安装使用以及CTF比赛题目(复现)_第82张图片

//幼儿园水平的加密(部分)
void Encrypt(string& str)
{
	for(int i = 0; i < str.length(); i++)
	{
		if(str[i] >='a'&& str[i]<='w')
			str[i]+=3;
		else if(str[i]=='x')
			str[i]='a';
		else if(str[i]=='y')
			str[i]='b';
		else if(str[i]=='z')
			str[i]='c';	
		else if(str[i]=='_')
			str[i]='|';
		str[i] -= 32;
	}
}

④.使用大佬的脚本(不太会代码)很明显是之前的加密脚本加密之后的文本,写脚本进行解密得到flag。

strs = list(map(lambda x: chr(ord(x) + 32), "FDCB[8LDQ?ZLOO?FHUWDLQOB?VXFFHHG?LQ?ILJKWLQJ?WKH?HSLGHPLF]"))
for i, j in enumerate(strs):
    if 'd' <= strs[i] <= 'z':
        strs[i] = chr(ord(j) - 3)
    match j:
        case 'a':
            strs[i] = 'x'
        case 'b':
            strs[i] = 'y'
        case 'c':
            strs[i] = 'z'
        case '|':
            strs[i] = '_'
print("".join(strs))

cazy{Xian_will_certainly_succeed_in_fighting_the_epidemic}

10.[安洵杯]Administrator 's_secret

①.查看镜像基本信息profileWin7SP1x64

Volatility2安装使用以及CTF比赛题目(复现)_第83张图片
②.使用pslist查看进程cmdscan 查看cmd使用命令filescan |grep flag过滤flag关键字,转存提取。

Volatility2安装使用以及CTF比赛题目(复现)_第84张图片
Volatility2安装使用以及CTF比赛题目(复现)_第85张图片
③.有个CnCrypt.exe进程,CnCrypt是一款磁盘加密软件 而且还有个 flag.ccx 文件并且提示 flag.ccx 的密码就是 Administrator 的密码

④.抓取hashdump 密码(这里mimikatz报错用不了 python2.7不支持下载模块)密码为:ABCabc123
Volatility2安装使用以及CTF比赛题目(复现)_第86张图片

⑤.使用CnCrypt进行解密输入密码 最后挂载磁盘即可得到flag

Volatility2安装使用以及CTF比赛题目(复现)_第87张图片
Volatility2安装使用以及CTF比赛题目(复现)_第88张图片

11.[护网杯]Easy_dump

①.查看镜像基本信息profileWin7SP1x64
Volatility2安装使用以及CTF比赛题目(复现)_第89张图片
②.先列出进程pslist 发现有个notepad.exe 别的也没找到可利用信息 先给他转存出来,提示有个jpg文件。
Volatility2安装使用以及CTF比赛题目(复现)_第90张图片
Volatility2安装使用以及CTF比赛题目(复现)_第91张图片
③.filescan |grep .jpg 然后转存得到图片使用foremost 进行分离得到一个文件在使用binwalk分离得到一个hint.txt

Volatility2安装使用以及CTF比赛题目(复现)_第92张图片
Volatility2安装使用以及CTF比赛题目(复现)_第93张图片
在这里插入图片描述
在这里插入图片描述
Volatility2安装使用以及CTF比赛题目(复现)_第94张图片
④.使用脚本得到一张二维码使用QR进行扫描 得到吉尼亚加密 密钥:aeolus 加密文件被删了需要我们恢复!

import matplotlib.pyplot as plt
import numpy as np

x = []
y = []
with open('hint.txt','r') as f:
   datas = f.readlines()
   for data in datas:
        arr = data.split(' ')
        x.append(int(arr[0]))
        y.append(int(arr[1]))
     
plt.plot(x,y,'ks',ms=1)
plt.show()

Volatility2安装使用以及CTF比赛题目(复现)_第95张图片
Volatility2安装使用以及CTF比赛题目(复现)_第96张图片
Volatility2安装使用以及CTF比赛题目(复现)_第97张图片

Here is the vigenere key: aeolus, but i deleted the encrypted message。##这是vigenere密钥:aeolus,但我删除了加密消息

⑤.这里使用testdisk这个工具(第一次使用)这里直接使用命令:testdisk message2.img 进入界面小c选择大C保存

Volatility2安装使用以及CTF比赛题目(复现)_第98张图片
在这里插入图片描述
Volatility2安装使用以及CTF比赛题目(复现)_第99张图片
Volatility2安装使用以及CTF比赛题目(复现)_第100张图片
Volatility2安装使用以及CTF比赛题目(复现)_第101张图片
Volatility2安装使用以及CTF比赛题目(复现)_第102张图片
这里使用ls -al 得到了一个.message.swp 在使用cat .message.swp 得到加密后的密码yise!dmsx_tthv_arr_didvi进行解码。
在这里插入图片描述
维吉尼亚密码在线:https://www.qqxiuzi.cn/bianma/weijiniyamima.php
Volatility2安装使用以及CTF比赛题目(复现)_第103张图片

12.数字取证–worldskills3(46界湖北省技能大赛选拔赛)

1、从内存中获取到用户admin的密码并且破解密码,以Flag{admin,password} 形式提交(密码为 6 位);

①.先通过imageinfo获取系统信息profile=Win7SP1x64

Volatility2安装使用以及CTF比赛题目(复现)_第104张图片
②.hashdump或者lsadump 这里直接加载mimikatz 两种方法都可以。
Volatility2安装使用以及CTF比赛题目(复现)_第105张图片
Volatility2安装使用以及CTF比赛题目(复现)_第106张图片

FLAG:flag{406990ff88f13dac3c9debbc0769588c}

2、获取当前系统 ip 地址及主机名,以 Flag{ip:主机名}形式提交;

①.使用netscan查看网络连接获取到了ip地址

Volatility2安装使用以及CTF比赛题目(复现)_第107张图片
②.使用hivelist查询注册表,在接着查询键 hivedump -o 0xfffff8a000024010
Volatility2安装使用以及CTF比赛题目(复现)_第108张图片
③.直接使用-o 0xfffff8a000024010 printkey -K "ControlSet001\Control\ComputerName\ComputerName" 查看主机名
在这里插入图片描述

FLAG{192.168.85.129:WIN-9FBAEH4UV8C}

3、获取当前系统浏览器搜索过的关键词,作为 Flag 提交

使用filescan | grep flag 搜索关键字,进行转存 查看即可得到flag

Volatility2安装使用以及CTF比赛题目(复现)_第109张图片
在这里插入图片描述

FLAG{180d163ca48c793cb0db74fb96d6a882}

4、当前系统中存在挖矿进程,请获取指向的矿池地址,以 Flag{ip:端口}形式 提交;

netscan 查看网络连接 刚刚看了其实就是矿池地址池可能是本地也可能是国外地址

Volatility2安装使用以及CTF比赛题目(复现)_第110张图片

FLAG{192.168.85.129:49163} 或{54.36.109.161:2222}

5、恶意进程在系统中注册了服务,请将服务名以 Flag{服务名}形式提交。

根据上一题知道了pid2588进行关键字搜索 pslist | grep 2588 继续查看父进程3036 然后导出 进行查看

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

FLAG{VMnetDHCP}

6、获取恶意代码的进程名pid

上题可知25883036都是恶意进程

Volatility2安装使用以及CTF比赛题目(复现)_第111张图片

FLAG{2588,3036}

7、病毒在自我删除时执行的命令是什么?(病毒进入系统后会删除原始文件,请获取文件删除时执行的命令)

进行转存 然后在内存文件中查寻del关键字

在这里插入图片描述

cmd.exe /C @ping -n 15 127.0.0.1&del path/file> nul

七 、解决问题

PS:重点来了 mimikatz后面得问题解决了,之前使用pip install construct 下载,版本比较低需要把它先卸载了在升级一下pip
Volatility2安装使用以及CTF比赛题目(复现)_第112张图片

pip2 install --upgrade pip setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple #使用清华源

pip2 install construct==2.5.5-reupload -i https://pypi.tuna.tsinghua.edu.cn/simple

Volatility2安装使用以及CTF比赛题目(复现)_第113张图片
Volatility2安装使用以及CTF比赛题目(复现)_第114张图片
在这里插入图片描述

八 、总结:

这篇文章肝了一周,虽然很累但是学习到了新的知识 可能这就是学习的乐趣 然后写的非常详细,比赛题目全部复现了,自己又加了一两题,希望大家可以给个一件三联 也是对我的一种鼓励以及更加用心给大家更新优质文章❤❤

你可能感兴趣的:(CTF,渗透工具,volatility工具使用,CTF,比赛复现,Python,内存取证)