OtterCTF—内存取证wp

目录

前言

一、工具说明

二、题目解析

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 Glory 2

10.Bit 4 Bit

11.Graphic's For The Weak

12.Recovery

13.Closure

总结



前言

前几天有幸参加了本市的选拔赛,其中有内存取证的题,当时就愣住了,考完后赶紧找题目学习一下,学长介绍的这个OtterCTF靶场个人认为非常好,很适合像我这样的初学者。


一、工具说明

系统:kali,windows10

本文使用的工具有:volatility,ILSpy / IDE,HiddenTearDecrypter 


二、题目解析

1.What the password?

you got a sample of rick's PC's memory. can you get his user password? format: CTF{...}

你得到了rick电脑内存的样本。你能得到他的用户密码吗?格式:CTF{…}

我们拿到了他的电脑样本OtterCTF.vmem,使用volatility查看此镜像的信息

vol.py -f /root/Desktop/OtterCTF.vmem imageinfo


 我们可以发现此镜像版本为Win7SP1x64,题目要求我们得到他的用户密码,我们指定系统版本,使用hashdump命令即可

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 hashdump

 

拿到密码,但是为哈希值,我使用kali自带解析hash的工具hash-identifier,没有成功放入chatgpt中告诉我这是MD4哈运算得到的哈希值,于是搜了一下volatility的命令,发现lsadump可以强制显示密码。

lsadump:从注册表中提取LSA密钥信息,显示加密以后的数据用户密码

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 lsadump

 flag:CTF{MortyIsReallyAnOtter}


2.General Info

Let's start easy - whats the PC's name and IP address? format: CTF{flag}

让我们简单地开始吧——电脑的名称和IP地址是什么?格式:CTF{flag}

如何寻找本机的ip地址,直接使用netscan命令查看网络连接情况不就可以了

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 netscan

 里面本地地址最多且有效的就只有192.168.202.131了,进行查询PC名称,用hivelist命令查询注册表。

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 hivelist

 windows下PC名通常储存在SYSTEM下,所以通过 -o ‘ ’+printkey 查看注册表键名

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey

 PC名在ControlSet001和ControlSet002中都有我们这里选择查看001,通过-K ‘’ 查看键值

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 -K "ControlSet001" printkey
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 -K "ControlSet001\Control" printkey
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 -K "ControlSet001\Control\ComputerName" printkey
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 -K "ControlSet001\Control\ComputerName\ComputerName" printkey

 

 flag:CTF{192.168.202.131} CTF{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?   format: CTF{flag}

Rick只是喜欢玩一些好的老式电子游戏。你能说出他在玩什么游戏吗?服务器的IP地址是什么?格式:CTF{flag}

题目让我们找出游戏名称和服务器的ip地址,作为flag,名称可以使用pslist命令在系统进程中找到

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 pslist

 通过百度我们发现LunarMS.exe可能为游戏,打包成flag提交确定此就是游戏名,知道游戏名称了,查找此线索通过使用查询网络连接的netscan命令配合grep命令可查找到游戏的ip地址。

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 netscan|grep LunarMS

 查找出此游戏的ip地址为77.102.199.102

flag:CTF{LunarMS.exe},CFT{77.102.199.102}


4.Name Game

We know that the account was logged in to a channel called Lunar-3. what is the account name?format: CTF{flag}

我们知道该帐户已登录到一个名为Lunar-3的频道。账户名称是什么?格式:CTF{flag}

题目要求我们把LunarMS游戏中Lunar-3频道的账户名称搞出来。上题我们找到了LunarMS的进程,于是我们可以先把此游戏dump下来

volatility中-p指向进程号(PID),memdump是转储进程的可寻址内存

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64  memdump -p 708 -D /root/Desktop/dump

 题目提示是Lunar-3频道,于是我们可以使用winhex或者kali自带的strings命令配合grep命令进行

搜索。

strings  708.dmp | grep Lunar-3 -C 10 

  最后找到的用户名为0tt3r8r33z3

flag:CTF{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? format: CTF{...}

通过一点研究,我们发现登录字符的用户名总是在这个签名之后:0x64 0x??{6-8}0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2}rick角色的名字是什么?格式:CTF{…}

这个题目非常有意思,让我们寻找rick角色的名字是什么?并给出了0x64 0x??{6-8}0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2}的提示。此提示的意思是16进制64后6-8位是16进制40 16进制06,再18位后是十六进制5a 十六进制0c 十六进制00.。

根据这个提示,我们可以将第四题dump下来的文件内容用grep进行筛选有十六进制5a 十六进制0c 十六进制00的片段,并往前进行确认,但这里需要用到kali自带的16进制查看器hexhump。

hexdump -C 708.dmp |grep "5a 0c 00" -A 3 -B 3

 最后找到此片段符合题目要求。

flag:CTF{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?         format: CTF{flag}

Silly rick总是忘记电子邮件的密码,所以他使用在线存储密码服务来存储密码。他总是复制并粘贴密码,这样他就不会弄错了。rick的电子邮件密码是什么?格式:CTF{flag}

题目让我们查找电子邮箱的密码,并提示我们经常复制粘贴于是我们使用clipboard命令查看剪贴板

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 clipboard

 直接找到flag

flag:CTF{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) BEAWARE! There are only 3 attempts to get the right flag!format: CTF{flag}

我们拿走rick电脑内存转储的原因是因为有恶意软件感染。请查找恶意软件进程名称(包括扩展名)注意!只有3次尝试才能获得正确的旗帜!格式:CTF{flag}

此题让我们找出恶意进程名称,我们可以使用pslist命令查询进程但太多了,有层次地看看会更好一些,于是我们使用pstree命令查看进程树。

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64  pstree

上来我就感觉vmware-tray.exe很不对劲,因为在我的认知中vmware一直与虚拟机有关,这个则成为了Rick And Morty的子程序,于是我提交了他发现猜对了。

具体为什么他是恶意程序,我们进行深入挖掘一下

用dlllist命令打印每个进程加载的动态链接库列表,-p指向pid

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 dlllist -p 3720

 发现了他在Temp目录下运行,要知道Temp是windows下的临时文件夹,一般程序不会放在此文件夹中,放在此文件夹中的程序一般为恶意程序。

flag:CTF{vmware-tray.exe}


8.Path To Glory

How did the malware got to rick's PC? It must be one of rick old illegal habits...  format: CTF{...}

恶意软件是如何进入rick的电脑的?这一定是一种古老的非法习惯。。。 格式:CTF{…}

这个题我看见是很懵的,因为不知道他想要表达的是什么。于是我看了看其他大佬的wp,从恶意程序的父程序Rick And Morty开始,用filescan命令配合grep找一找这个文件

filescan 提取文件对象(file objects)池信息

vol.py -f /root/桌面/OtterCTF.vmem --profile=Win7SP1x64 filescan|grep 'Rick And Morty'

发现了有6个文件,3个种子文件和3个exe文件,先将种子文件dump下来,进行分析 。

dumpfiles 提取内存中映射或缓存的文件

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64  dumpfiles -Q 0x000000007d8813c0 -D /root/Desktop/dump
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64  dumpfiles -Q 0x000000007dae9350 -D /root/Desktop/dump
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64  dumpfiles -Q 0x000000007dcbf6f0 -D /root/Desktop/dump

 再通过strings命令进行查找分析。

strings file.None.0xfffffa801af10010.dat
strings file.None.0xfffffa801b42c9e0.dat
strings file.None.0xfffffa801b51ccf0.dat

 最终发现了flag:M3an_T0rren7_4_R!cke  但是最后的e没有不知道什么原因。

flag:CTF{M3an_T0rren7_4_R!ck}


9.Path To Glory 2

Continue the search after the way that malware got in.        format: CTF{...}

在恶意软件进入后继续搜索。格式:CTF{…}

这道题目依旧不知道干啥,没事接着翻大佬的wp。

大佬说先把所有的chrome浏览器进程转储下来,这里注意一定要建立一个目录,把chrome储存的内容都放在目录中,要不容易混乱。

查找进程,发现Rick And Morty上面是好几个chrome程序。

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 pslist

 把chrome.exe给dump下来具体分析。

memdump 转储进程的可寻址内存

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 memdump -n chrome.exe  -D /root/Desktop/dump/chrome

 使用strings命令配合grep命令查找Rick And Morty相关数据,这里查找的是Rick And Morty下载中相关的数据。

strings ./chrome/* | grep 'Rick And Morty season 1 download.exe' -C 10

 最终我们找到了flag:Hum@n_I5_Th3_Weak3s7_Link_In_Th3_Ch@in 没有Year咱也不知道为什么,在此过程中我们还发现了Flag.txt应该与后面的题目有关。

flag:CTF{Hum@n_I5_Th3_Weak3s7_Link_In_Th3_Ch@in}


10.Bit 4 Bit

We've found out that the malware is a ransomware. Find the attacker's bitcoin address.

format: CTF{...}

我们已经发现这个恶意软件是一个勒索软件。查找攻击者的比特币地址。

格式:CTF{…}

题目告诉我们这是个勒索软件,要我们查找比特币地址,其实就是说请逆向软件,并分析。

我们先把勒索软件程序dump下来,查找此勒索软件的进程。

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 pstree

 procdump 进程转储到一个可执行文件示例

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 procdump -p 3720 -D /root/Desktop/dump

 然后使用ILSpy或者IDE进行反编译,这里我是用ILSpy,直接搜索address,就可发现出flag.

 发现大佬们直接根据题目中的提示“ransomware”,就直接找出flag。(不得不说太牛了)

strings -e l /root/Desktop/OtterCTF.vmem | grep -i -A 5 "ransomware"

 flag:CTF{1MmpEmebJkqXG8nQv4cjJSmxZQFVmFo63M}


11.Graphic's For The Weak

There's something fishy in the malware's graphics.       format: CTF{...}

恶意软件的图形中有可疑之处。格式:CTF{…}

做CTF杂项做的,看见照片,直接就上手formost分离照片,而且还真被分离出来了。

foremost executable.3720.exe -o odic

 flag:CTF{S0_Just_M0v3_Socy}


12.Recovery

Rick got to have his files recovered! What is the random password used to encrypt the files?format: CTF{...}

里克必须找回他的文件!用于加密文件的随机密码是什么? 格式:CTF{…}

题目告知是随机密码,因为生成随机密码一定是软件内部代码,,于是我就回到逆向中查找Password,最终有所发现

 string text=computerName+" - "+userName+" - " +password

通过之前的题目我们知道了:

userName有3个分别为:Administrator  Guest  Rick  此题目与Rick And Morty有关所以

userName:Rick

computerName:WIN-LO6FAF3DTFE

string text=WIN-LO6FAF3DTFE-Rick+password

根据上面的分析,密码已经呼之欲出了,只要把恶意程序dump下来,使用grep进行关键字查找就可以了。

先查找恶意程序进程的pid

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 pslist

 将此进程dump下来

memdump 转储进程的可寻址内存

vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 memdump -p 3720 -D /root/Desktop/dump/password

 在通过老配方strings命令配合grep命令,查找password

strings -el 3720.dmp | grep 'WIN-LO6FAF3DTFE-Rick' -C 5

自此,我们就找到了password:aDOBofVYUNVnmp7

flag:CTF{aDOBofVYUNVnmp7}


13.Closure

Now that you extracted the password from the memory, could you decrypt rick's files?

既然你从内存中提取了密码,你能解密rick的文件吗?

题目让我们进行解密,所以一定要有需要解密的文件和解密软件。

需要解密的文件:让我想到了第9关发现的Flag.txt

解密软件:未知

解密密码:aDOBofVYUNVnmp7

我们先把Flag.txt给dump下来,

dumpfiles 提取内存中映射或缓存的文件

strings ./chrome/* | grep 'Rick And Morty season 1 download.exe' -C 10
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 filescan|grep -i 'Flag'
vol.py -f /root/Desktop/OtterCTF.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007e410890 -D /root/Desktop/dump 

 这里保存下来的文件为file.None.0xfffffa801b0532e0.dat,为了方便给他重命名为flag.dat。

 接下来找破解软件,嗯。。。没有思路。

大佬,借鉴,谢谢

好了,根据大佬的思路,查看pdb,为什么查找pdb文件,他里面有啥,我粘贴了份介绍,供大家参考。

pdb文件主要存储了如下调试信息:
(1)public, private,和static函数地址。
(2)全局变量的名称和地址。
(3)参数和局部变量的名称及它们在栈中的偏移量。
(4)类型定义,包括class, structure,和 data definitions。
(5)源文件名称和行号。
————————————————
版权声明:本文为CSDN博主「吃素的施子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/feikudai8460/article/details/116237433

查看恶意程序中关于pdb中的内容

strings executable.3720.exe| grep pdb

 我们看到他在hidden-tear目录下,百度一下,发现这是个勒索软件为HiddenTear,直接在网上找到解密程序HiddenTearDecrypter

目前

需要解密文件:flag.bat

解密软件:HiddenTearDecrypter

解密密码:aDOBofVYUNVnmp7

提前查看flag.bat

hexdump -C flag.dat

 看见此文件后面好多0,于是我们删去(方便解密),而且把flag.bat后缀改为flag.png.locked,只有这样才能让解密软件识别到,话不多说上命令。

tr < flag.dat -d '\000' > flag2.png.locked

 打开解密软件,点击select Directory,选择flag.png.locked放置的目录

 输入解密密码:aDOBofVYUNVnmp7   提示解密成功

 此时会自动将目录下的flag.png.locked转换成flag.png

 直接打开是打不开的,我们借助winhex工具打开,发现flag

flag:CTF{Im_Th@_B3S7_RicK_0f_Th3m_4ll}


至此OtterCTF内存取证的题就搞定了


总结

这个靶场的题目我觉得特别好,主要就是学习volatility工具和取证思维方式。

以下是volatility工具的使用方法,可供参考。

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签名扫描进程或内核内存

第一次记录长篇的做题思路,写的不是很好,请多多包涵。

猜你喜欢

转载自blog.csdn.net/m0_66638011/article/details/130577116