MemLabs靶场&Volatility内存取证

Eecho
Eecho
发布于 2024-12-24 / 1414 阅读
31
0

MemLabs靶场&Volatility内存取证

kali中安装内存取证工具volatility

安装pip2

因为kali自带的pip都是3.0版本的。所以需要手动安装基于python2的pip。

# 下载 get-pip.py
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
# 安装 pip
python2 get-pip.py

image-20241216144922035出现如图代表安装成功

依赖安装

升级pip

pip2 install --upgrade setuptools

安装crypto

pip2 install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple

安装construct

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

安装distorm3

# 使用 git 命令下载 distorm3 模块
git clone https://github.com/vext01/distorm3.git
# 进入到 distorm3 目录
cd distorm3
# 安装 
python2 setup.py install

安装volatility

# 下载源码
wget http://downloads.volatilityfoundation.org/releases/2.6/volatility-2.6.zip
# 解压 
unzip volatility-2.6.zip
# 进入到 volatility-master 目录
cd volatility-master
# 安装 
python2 setup.py install

image-20241216150132134

volatility插件安装

mimikatz

在内网渗透中从内存中捕获 Windows 系统的管理员 NTLM 值 和 明文密码

# 下载源码
wget https://raw.githubusercontent.com/RealityNet/hotoloti/master/volatility/mimikatz.py

浏览器插件下载

https://github.com/superponible/volatility-plugins

参数解释

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         查看记事本当前显示的文本
        netscan         查看网络连接,要获取当前系统的IP地址和主机名
        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签名扫描进程或内核内存

MemLabs靶场

https://github.com/stuxnet999/MemLabs/tree/master

Lab1 Beginner's Luck

描述

My sister's computer crashed. We were very fortunate to recover this memory dump. Your job is get all her important files from the system. From what we remember, we suddenly saw a black window pop up with some thing being executed. When the crash happened, she was trying to draw something. Thats all we remember from the time of crash.

我姐姐的电脑死机了。我们非常幸运地恢复了这个内存转储。你的工作是从系统中取出她所有的重要文件。根据我们的记忆,我们突然看到一个黑色的窗口弹出,上面有正在执行的任务。车祸发生时,她正试图画点什么。这就是我们从坠机事件中所记得的。

分析

首先使用vol2的imageinfo分析一些镜像

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' imageinfo   

!image-20241216185029038

flag1

根据描述可以得知黑色窗口,可能是命令行,那么使用cmdscan(提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息))

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 cmdscan  

image-20241216185253172

发现并没有有用的东西,那么使用cmdline(显示进程命令行参数)查看一些

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 cmdline

image-20241216185518518

image-20241216185538343

image-20241216185608512

发现还是没有有用的信息,使用consoles(提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息))

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 consoles

image-20241216185914531

一眼就看到了base64解密一些发现是flag

ZmxhZ3t0aDFzXzFzX3RoM18xc3Rfc3Q0ZzMhIX0=

flag2

从描述中得知画图软件,使用pslist查看一些进程

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 pslist  

image-20241216190115488

找到了一个画图程序

0xfffffa80022bab30 mspaint.exe 2424 604 6 128 1 0 2019-12-11 14:35:14 UTC+0000

直接dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 dumpfiles -Q 0xfffffa80022bab30 -D /root/Desktop

用gimp处理一些,宽:1230 高:2000 移位:2268045就可以得出flag了

flag3

使用cmdline查看一下

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 cmdline                                                 

image-20241216191107988

image-20241216191129001

发现大部分都是.exe只有一个Important.rar,使用filescan查看在哪个文件夹里面

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 filescan | grep "Important.rar"         

image-20241216191328708

直接dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000003fa3ebc0 -D /root/Desktop        

image-20241216191401245

修改后缀为rar,打开发现有密码,右击属性查看发现存在注释(Password is NTLM hash(in uppercase) of Alissa's account passwd.解压密码为 Alissa的NTLM hash值(大写))

那么直接使用hashdump获取hash值

python2 vol.py -f '/root/Desktop/MemoryDump_Lab1.raw' --profile=Win7SP1x64 hashdump                                        

image-20241216191616517

将f4ff64c8baac57d22f22edc681055ba6转换成大写F4FF64C8BAAC57D22F22EDC681055BA6

Lab2 A New World

描述

我们公司的一个客户,由于一个未知的错误而无法访问他的系统。他被认为是一位非常受欢迎的“环保”活动家。作为调查的一部分,他告诉我们,他的应用程序是浏览器,他的密码管理器等。我们希望你能翻翻这些记忆,找到他重要的东西,然后把它还给我们。

分析

首先查看镜像信息

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' imageinfo    

image-20241217081406970

flag1

根据描述知道他使用了一些程序,那么我们可以用envars(显示进程的环境变量)

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 envars   

image-20241217081718832

发现了一串bash64 ZmxhZ3t3M2xjMG0zX1QwXyRUNGczXyFfT2ZfTDRCXzJ9直接解码获得flag

flag{w3lc0m3_T0$T4g3!_Of_L4B_2}

flag2

使用pslist查看一下进程

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 pslist

!image-20241217081943980

发现了一个chrome浏览器的进程。

iehistory(重建IE缓存及访问历史记录)查看一下历史记录

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 iehistory

image-20241217082430290

发现了txt,png,hdbx

直接filescan查找一下,txt,png之类的文件

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 filescan | grep -E "txt|png|zip|jpg|rar|kdbx"

image-20241217082654878

直接将Password.png和Hidden.kdbx dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000003fce1c70 -D /root/Desktop
python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000003fb112a0 -D /root/Desktop

image-20241217083408561

image-20241217083730309

然后将第一个dump下来的文件后缀修改为png

第二个修改成kdbx(kdbx是通过KeePass密码安全创建的数据文件称为KDBX文件,它们通常所说的KeePass的密码数据库。 这些文件包含密码的加密数据库,其中如果用户设置一个主密码,并通过主密码访问他们,他们只能查看。)

使用keepass打开发现需要密码,可能在图片里吧(右下角就是密码)

flag2在Recycle Bin里面,直接双击,查看password就是flag2

image-20241217085200313

flag{w0w_th1s_1s_Th3_SeC0nD_ST4g3_!!}

flag3

cmdline(显示进程命令行参数)查看一下

python2 vol.py -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 cmdline

image-20241217085616243

发现有许多chrome进程,也与题目相符合

直接chromhistory查看chrome历史

python2 vol.py  --plugins=plugins/ -f '/root/Desktop/MemoryDump_Lab2.raw' --profile=Win7SP1x64 chromehistory

image-20241217103207730

发现MEGA云盘链接,复制链接打开下载

image-20241217103358990

发现有密码,查看一些属性里面有没有注释,发现是有点(Password is SHA1(stage-3-FLAG) from Lab-1. Password is in lowercase.)提示我们密码是Lab-1的第三部分Flag的SHA1值

Lab3 The Evil's Den

描述

A malicious script encrypted a very secret piece of information I had on my system. Can you recover the information for me please?
一个恶意脚本加密了我系统上的一段非常机密的信息。你能帮我恢复一下信息吗?

Note-1: This challenge is composed of only 1 flag. The flag split into 2 parts.(这个挑战只由一面旗帜组成。国旗分成两部分。)

Note-2: You'll need the first half of the flag to get the second.(你需要拿到前半面旗才能拿到后半面。)

You will need this additional tool to solve the challenge,(你将需要这个额外的工具来解决这个挑战,)

$ sudo apt install steghide

首先分析一下镜像

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' imageinfo 

image-20241217104631947

flag1

根据描述知道,有一个脚本,那么cmdline查看一些

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' --profile=Win7SP1x86_23418 cmdline

image-20241217105000863

有两个可疑的文件

filescan查看一下

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' --profile=Win7SP1x86_23418 filescan | grep -E "vip.txt|evilscript.py"

image-20241217105437543

dump下来查看一下

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003de1b5f0 -D /root/Desktop

image-20241217105902952

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' --profile=Win7SP1x86_23418 dumpfiles -Q  0x000000003e727e50  -D /root/Desktop

image-20241217110157765

将第一个后缀修改成py,第二个修改成txt,发现第一个为加密脚本

import sys
import string

def xor(s):

	a = ''.join(chr(ord(i)^3) for i in s)
	return a


def encoder(x):
	
	return x.encode("base64")


if __name__ == "__main__":

	f = open("C:\\Users\\hello\\Desktop\\vip.txt", "w")

	arr = sys.argv[1]

	arr = encoder(xor(arr))

	f.write(arr)

	f.close()

写一个逆向的脚本

# python2
import sys
import string

arr = "am1gd2V4M20wXGs3b2U="

a = arr.decode("base64")

x = ''.join(chr(ord(i)^3) for i in a)

print(x)

第一部分flag:inctf{0n3_h4lf

flag2

根据提示,我们需要steghide这个工具来解决,而这款软件是隐写软件,怀疑第二部分flag在图片里

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' --profile=Win7SP1x86_23418 filescan | grep -E "jpg|jpeg|png"    

image-20241217122052055

发现了一个可疑文件suspision1.jpeg

dump下来看看

python2 vol.py -f '/root/Desktop/MemoryDump_Lab3.raw' --profile=Win7SP1x86_23418 dumpfiles -Q 0x0000000004f34148 -D /root/Desktop  

修改后缀为jpeg

image-20241217122247039

使用提示中的steghide

steghide extract -sf suspision1.jpeg

提示输入密码,密码就是前半部分flag,输入后提示wrote extracted data to "secret text".

直接cat查看(注意文件名有单引号包裹)

image-20241217123857731

两个flag拼接起来就是 inctf{0n3_h4lf_1s_n0t_3n0ugh}

Lab4 Obsession

描述

My system was recently compromised. The Hacker stole a lot of information but he also deleted a very important file of mine. I have no idea on how to recover it. The only evidence we have, at this point of time is this memory dump. Please help me.
我的系统最近被入侵了。黑客窃取了很多信息,但他也删除了我的一个非常重要的文件。我不知道如何恢复它。目前我们唯一的证据,就是这堆记忆。请帮帮我。

查看镜像信息

python2 vol.py -f '/root/Desktop/MemoryDump_Lab4.raw' imageinfo

image-20241217124528040

flag1

可以使用iehistory查看

iehistory插件可恢复 IE 历史 index.dat 缓存文件的片段。它可以找到基本访问的链接(通过 FTP 或 HTTP)、重定向链接 (-REDR) 和已删除的条目 (-LEAK)。它适用于加载和使用 wininet.dll 库的任何进程,而不仅仅是 Internet Explorer。通常包括 Windows 资源管理器甚至恶意软件样本。

python2 vol.py -f '/root/Desktop/MemoryDump_Lab4.raw' --profile=Win7SP0x64 iehistory

发现一个Important.txt

image-20241217131058598

filescan查看一下,并dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab4.raw' --profile=Win7SP0x64 filescan | grep "Important.txt"

image-20241217131134322

dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab4.raw' --profile=Win7SP0x64 dumpfiles -Q 0x000000003fc398d0 -D /root/Desktop=

image-20241217131251631

发现暂存不了,因为已经被黑客删除了

那么可以使用mftparser查看

  • NTFS 文件系统包含一个称为主文件表 (MFT) 的文件。NTFS 文件系统卷上的每个文件在 MFT 中至少有一个条目。有关文件的所有信息(包括其名称、大小、时间和日期戳、权限和数据内容)都存储在 MFT 条目中,或存储在 MFT 条目描述的 MFT 外部空间中。

  • 随着文件添加到 NTFS 文件系统卷,MFT 中会添加更多条目,MFT 的大小也会增大。从 NTFS 文件系统卷中删除文件时,其 MFT 条目会被标记为空闲,可以重新使用。但是,已分配给这些条目的磁盘空间不会重新分配,MFT 的大小也不会减小。

  • 大小小于或等于1024字节的文件将直接存储在MFT表中(称为“常驻”文件),如果超过1024字节,表将只包含其位置信息(称为“非常驻”文件)。

python2 vol.py -f '/root/Desktop/MemoryDump_Lab4.raw' mftparser | grep -C 20 'Important.txt'

image-20241217132854736

直接爆falg了

inctf{1_is_n0t_EQu4l_7o_2_bUt_th1s_d0s3nt_m4ke_s3ns3}

Lab5 Black Tuesday

描述

我们最近收到了客户的内存转储。有人在他不在的时候访问了他的系统,他发现一些相当奇怪的文件被访问了。找到这些文件,它们可能会有用。我引用他的原话,

这些名字无法辨认。它们是由字母和数字组成的,但我看不出它们到底是什么。

此外,他还注意到他最喜爱的应用程序每次运行时都会崩溃。这是病毒吗?

注 1:本次挑战由 3 面旗帜组成。如果你认为第二面旗帜就是终点,那就错了!!:P

注意-2 :进行此挑战时出现了一个小错误。如果您发现任何字符串中包含字符串“ L4B_3_D0n3* !! ”,请将其更改为“L4B_5_D0n3 !!”然后继续。

注 3:仅当您拥有第 1 阶段标志时,您才会获得第 2 阶段标志。

查看镜像信息

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' imageinfo

image-20241217134221230

flag1

使用pslist查看有哪些进程

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 pslist

image-20241217134915987

发现一个WinRAR的进程

用cmdline查看这个进程

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 cmdline | grep WinRAR.exe                       

image-20241217151844081

发现还需要暂存SW1wb3J0YW50.rar,继续使用filescan

image-20241217151941412

直接dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000003eed56f0 -D /root/Desktop

image-20241217152035209

可以看到是第二个falg,可能需要第一个flag作为密码

使用iehistory查看一下

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 iehistory

image-20241217152610596

发现执行力好多好多次.bmp那个,看起来像base64,拿来解码一些,发现真的是falg

flag{!!w3LL_d0n3_St4g3-1_0f_L4B_5_D0n3!!}

flag2

那么刚刚第二个flag也就出来了,密码就是flag{!!w3LL_d0n3_St4g3-1_0f_L4B_5_D0n3!!}

image-20241217152728993

flag3

继续使用pslist查看进程

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 pslist                                            

有一个WerFault进程(WerFault.exe可执行文件是自动错误收集,生成日志和错误报告并将其发送给Microsoft支持系统中包含的内置Windows系统应用程序之一。Windows错误报告服务(WerSvc)在后台运行,并监视Windows和正在运行的应用程序的状态。每个正在运行的应用程序的错误数据都会自动生成,并且用户可以决定是否将该报告发送给Microsoft。)

image-20241217153715920

使用cmdline查看一下

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 cmdline | grep -e "WerFault"                      

image-20241217153929275

发现它的命令行参数中-p指向了NOTEPAD.EXE和NOTEPAD.EXE都指向了NOTEPAD.EXE,说明这可能就是那个崩溃病毒

使用procdump dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab5.raw' --profile=Win7SP1x64 procdump -p 2724 -D /root/Desktop

image-20241217154815157

讲dump下来的exe用IDA打开,往下翻一翻就能看到flag

image-20241217154734012

bi0s{M3m_l4B5_OVeR_!}

Lab6 The Reckoning

描述

我们从情报局部门收到了这份内存转储。他们说这些证据可能包含黑社会黑帮大卫·本杰明的一些秘密。这份内存转储是从他的一名员工那里获取的,本周早些时候,联邦调查局逮捕了他。你的任务是查看内存转储,看看能否找出一些线索。联邦调查局还说,大卫通过互联网与他的员工进行交流,所以这可能是个不错的切入点。

注意:本次挑战由 1 面旗帜组成,分为 2 个部分。

该实验室的标志格式为:inctf{s0me_l33t_Str1ng}

查看镜像信息

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' imageinfo 

image-20241217162846783

flag2

pslist查看一下运行的进程

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 pslist

image-20241217181801003

发现许多有用的进程,winrar,chrome,firefox

先从winrar开始,查看他运行了哪些命令

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 cmdline | grep WinRAR.exe

image-20241217181935007

发现有个flag.rar,包有用有用的,直接filescan搜索一些

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 filescan | grep flag.rar

image-20241217182104324

直接dump下来

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 dumpfiles -Q 0x000000005fcfc4b0 -D /root/Desktop

image-20241217182158049

image-20241217182209737

发现需要密码

那么尝试一下consoles

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 consoles

image-20241217182425266

发现执行力一个env命令,那么直接使用envars查看进程的环境变量

python2 vol.py -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 envars | grep WinRAR.exe

image-20241217183041571

找到了密码,复制到刚刚的压缩包里

image-20241217183113187

flag1

查看chrom历史记录

python2 vol.py --plugins=./plugins  -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 chromehistory

image-20241217183512204

找啊找啊找找到一个链接

打开它

image-20241217183550417

继续打开链接

image-20241217183630363

又发现一个链接继续打开它

image-20241217183653618

是一个云盘需要密码

返回到第一个网页继续观察,发现说了密码在mail里

尝试一下screenshot插件

python2 vol.py --plugins=./plugins  -f '/root/Desktop/MemoryDump_Lab6.raw' --profile=Win7SP1x64 screenshot -D /root/Desktop

一共14张照片,只有一张有数据

image-20241217184401359

在内存中搜索这个字符串

strings '/root/Desktop/MemoryDump_Lab6.raw' | grep "Mega Drive Key"

image-20241217185217234

找到了密码zyWxCjCYYSEMA-hZe552qWVXiPwa5TecODbjnsscMIU,复制到网站下载图片

发现打不开,使用winhex打开发现IDHR中的I变成了小写,只要改回大写就能打开

image-20241217185308798

image-20241217185343984

image-20241217185353859

Windows注册表

获取计算机所有用户

python2 vol.py -f '/root/Desktop/111.vmem' --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

image-20241223160438140

获取计算机名

python2 vol.py -f '/root/Desktop/111.vmem' --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

image-20241223160542783

获取计算机密码

明文,这个只是最后一个登陆的用户密码

python2 vol.py -f '/root/Desktop/111.vmem' --profile=Win7SP1x64 lsadump

image-20241223160811994

密文,需要解md5

python2 vol.py -f '/root/Desktop/111.vmem' --profile=Win7SP1x64 hashdump

image-20241223160911182


评论