文章目录
- 一、前言
- 比赛平台全貌
- 题目附件及工具下载(123网盘)
- 二、参考文章
- 三、题目(解析)
- 一、内存取证-MemoryLife
- 1、请给出内存镜像中黑客使用工具对外连接的IP地址及端口号是___________。(格式为IP_PORT)
- 2、请给出内存镜像中用户BGS-Chenyi的开机密码___________。
- 3、黑客工具里的LOGONSERVER环境变量值是___________。
- 4. 请给出内存镜像中屏幕里的内容___________。
- 5. 请给出wps.ini最后的修改时间_____________。(格式为YYYY-MM-DD_hh:mm:ss_+0000)
- 二、MISC
- 1、misc-steg
- 2、misc-Easy_pic
一、前言
这边也是有幸发现了2023年决赛的真题,大致看了一下发现题目也是比较有意思,那我们这边就来复现一下,我这边因为能力也是有限所以就参考了一下大佬的文章,可能有的题目做法不唯一,这里也是仅供参考,那我们话不多说,直接进入主题
比赛平台全貌
题目附件及工具下载(123网盘)
题目附件下载
https://www.123pan.com/s/q2J1jv-IkBvd.html
提取码:0905
基本工具下载
https://www.123pan.com/s/q2J1jv-6kBvd.html
提取码:0905
二、参考文章
2023 江苏省数据安全竞赛 决赛
三、题目(解析)
一、内存取证-MemoryLife
常用工具;
-
Volatility: 这是一个开源的内存取证框架,支持多种操作系统和内存格式,功能强大,能够提取和分析系统内存中的各种信息。您提到的版本2.6也是这个工具的一个版本。
-
FTK Imager: 这是一个广泛使用的取证工具,虽然它主要用于磁盘取证,但也支持内存取证。它可以创建内存映像,并对其进行分析。
-
Rekall: 这是一个开源的内存取证工具,类似于Volatility,支持对多种操作系统的内存进行分析。它也提供了一些先进的分析功能,用于提取和分析内存中的数据。
这里除了“Volatility”,其它两个工具我也接触很少,这里就不过多介绍了。(因为相比较于,还是“Volatility”更好用),那这里推荐大家一篇我个人觉得比较好的关于“Volatility2.6”工具的基本使用教程——《内存取证例题及Volatility2.6的使用(含命令详细解析)》
说实话,如果对取证一点都不了解的师傅,那这里还是推荐先简单了解一下工具“Volatility”再进行作答,那我们这里话不多说,直接进入正题。
1、请给出内存镜像中黑客使用工具对外连接的IP地址及端口号是___________。(格式为IP_PORT)
解题思路
下载附件得到文件“MemoryLife.raw”,那这里我们得先简单了解一下后缀以“raw”结尾的是什么文件;
通常来说后缀以 .raw
的文件通常表示“原始”数据文件,其具体含义可以根据上下文有所不同。一般来说,.raw
文件可以包含以下几种类型的数据:
-
原始内存映像:在数字取证和内存分析中,
.raw
文件通常表示从计算机内存中提取的原始内存映像。这样的文件包含了内存中的所有数据,包括运行中的进程、网络连接和其他系统状态信息。 -
原始磁盘映像:在磁盘取证中,
.raw
文件可以表示原始磁盘映像文件。这种文件包含了磁盘的完整拷贝,包括文件系统的结构和所有的数据块。它通常用于数字取证和数据恢复。 -
原始图像数据:在图像处理领域,
.raw
文件也可能表示未经处理的图像数据文件,这种文件通常由数码相机生成,包含了传感器捕捉到的原始数据,没有经过任何图像处理。
那我们这里肯定母庸质疑肯定就是“原始内存映像”了,我的“vol2.6”是装在kali里的(具体可以参照上面我说那篇文章),首先先把文件移动到“volatility_2.6_lin64_standalone”目录下,接着才能进一步分析;
得到;
首先,取证万事开头百分之九九都是查看镜像信息,分析出到底是哪一个操作系统,所以使用参数imageinfo;(重点)
使用命令;
./vol -f MemoryLife.raw imageinfo
得到;
操作系统:Win7SP1x64
那这里题目问我们黑客使用工具对外连接的IP地址及端口号,关键词“IP地址及端口号”,那我们首先肯定就想到了“netscan”,那为什么呢?
简单来说netscan
插件专门设计用于扫描内存中的网络连接信息。它能够从内存中提取当前和历史的网络连接数据,包括:
- 活跃的网络连接
- 打开的端口
- 远程IP地址
- 本地IP地址
那这里操作系统我们也有了,所以我们可以使用命令;
./vol -f MemoryLife.raw --profile=Win7SP1x64 netscan
得到;
简单分析一下;
往下翻的时候发现nc.exe
连接到 192.168.233.1:54266
。那我们知道nc.exe
是一个网络工具(Netcat),通常用于网络测试和调试,但也很有可能被黑客用于远程控制和数据传输,所以这里值得我们注意一下。
那为什么我们会怀疑“nc.exe”呢?
从客观层面分析一共五点;
-
Netcat 作为恶意工具:
nc.exe
是一个功能强大的网络工具,能够进行多种网络操作,包括监听端口、发起连接等。黑客经常利用它来进行恶意活动,比如建立反弹Shell、传输数据或绕过防火墙。
-
外部连接的异常端口:
- 连接到
192.168.233.1:54266
表示nc.exe
正在与一个可能的远程主机进行通信。端口号54266
是一个高端口号,通常不用于标准服务,这可能表明它正在连接到某个专用或不常见的服务。
- 连接到
-
内部IP连接:
- 尽管
192.168.233.1
是一个本地网络地址,nc.exe
通过高端口连接的行为表明它可能是在尝试从内部网络到外部网络进行通信,这可能是隐藏或传输数据的手段。
- 尽管
-
非法连接:
- 如果
nc.exe
连接的远程地址是未授权的或未知的IP,并且它尝试在非常规端口上进行通信,这可能是黑客利用nc.exe
进行恶意活动的迹象。黑客可能通过这种方式与控制服务器进行通信,或执行其他未经授权的操作。
- 如果
这里题目问我们的是黑客使用工具对外连接的IP地址及端口号,提交格式(IP_PORT),那我们尝试提交,最后发现正确
至此
flag{192.168.233.1_54266}
2、请给出内存镜像中用户BGS-Chenyi的开机密码___________。
解题思路
题目让我们获取内存镜像中用户BGS-Chenyi的开机密码,简单来说就是获取密码呗,那这里通过分析内存镜像获取密码的工具有很多,那也就是说方法不唯一,不过大多数工具还是只能分析出密码加密的MD5,还需要自己去解一下MD5才行,相对来说,性价比不是很高,今天就给师傅们带来一个较为便捷的工具——“Passware Kit Forensic”(工具已为师傅们准备好,在“基本工具”中下载即可)
那这里就先简单介绍一下“Passware Kit Forensic”;
Passware Kit Forensic 是一款专门用于数字取证和密码恢复的工具。它主要用于在调查过程中从各种数据源中提取、恢复和分析密码和加密信息。
主要功能
-
密码恢复:
- Passware Kit Forensic 能够恢复各种类型的密码,包括 Windows 登录密码、文件加密密码、应用程序密码等。
- 它支持对加密磁盘、加密文件、电子邮件等进行密码破解。
-
内存取证:
- 可以分析内存镜像(如
.raw
文件)来提取加密信息和密码。 - 支持从系统内存中提取和解密密码哈希和其他敏感信息。
- 可以分析内存镜像(如
-
磁盘和文件分析:
- 能够分析磁盘镜像和文件系统,寻找和恢复加密文件和密码。
- 提供对文件和磁盘的深度扫描,查找隐藏和加密的内容。
-
加密文件解密:
- 支持对各种加密文件进行解密,包括文档、压缩文件和数据库等。
- 提供对密码保护的文件和数据的破解功能。
-
报告生成:
- 自动生成详细的报告,记录恢复的密码信息和分析结果。
- 报告格式可以根据需求进行定制,适用于法庭和调查报告。
-
支持多种平台和应用:
- 支持多种操作系统(如 Windows、macOS)和应用程序(如 Microsoft Office、Adobe Acrobat)的密码恢复。
总而言之好用就完事了,那这里我们直接把附件“MemoryLife.raw”,放入到工具“PasswareKitForensic”进行分析;
进入主页面,点击“内存分析”;
这里默认全选,内存图像就选择我们的附件“MemoryLife.raw”,接着开始分析即可;
这边都还没分析完整,我们就已经发现了用户“BGS-Chenyi”的开机密码;
至此;
flag{abc123456}
3、黑客工具里的LOGONSERVER环境变量值是___________。
解题思路
题目问我们黑客工具里的"LOGONSERVER"环境变量值是什么,首先我们得先了解什么是“LOGONSERVER”环境变量;
简单来说就是LOGONSERVER
其实就是 Windows 操作系统中的一个环境变量,表示当前用户登录的域控制器服务器的名称。这个变量在用户登录到域时由操作系统自动设置。
主要特点
-
域控制器的名称:
LOGONSERVER
变量的值通常是处理用户登录请求的域控制器的名称。它指向处理用户身份验证的服务器。 -
用途:
- 身份验证: 用于确定用户登录的域控制器,这对于身份验证和资源访问非常重要。
- 网络管理: 管理员可以使用
LOGONSERVER
变量来识别用户通过哪个域控制器登录,这在进行故障排除或网络监控时非常有用。
-
如何查看:
- 在命令行中输入
echo %LOGONSERVER%
可以查看当前用户登录的域控制器。 - 在 PowerShell 中,使用
echo $env:LOGONSERVER
来查看。
- 在命令行中输入
示例
假设在命令行中运行 echo %LOGONSERVER%
输出 \\DC01
,这意味着当前用户是通过名为 DC01
的域控制器登录的。
总的来说:LOGONSERVER
是一个用于指示用户登录的域控制器的环境变量,对于理解和管理 Windows 域环境中的登录过程非常有用。
那我们这里根据题题一,我们已经知道黑客使用的工具是“nc.exe”,那这里我们就可以直接“dump”下来,接着使用“010”进一步分析,那这里我们都说了要“dump”,在此之前肯定要先知道进程的ID(PID),所以这里我们就可以使用插件“pslist”列出所有的进程然后再进行查找“nc.exe”,最后再使用插件“memdump”提取指定进程的内存映像,最后使用“010”分析,这里我们感觉步骤很麻烦,其实也还好,简单来说就是,知道了要查找“nc.exe”,那我们得先找到进程ID(PID),接着下载导出即可;
使用命令;
./vol -f MemoryLife.raw --profile=Win7SP1x64 pslist
得到;
不难看出那一列才是PID(ID),往下随便翻翻就看见了;
最后也是成功找到了“nc.exe”的PID:3036
那接着肯定就是“dump”下来了呗,我们使用插件“memdump”;
./vol -f MemoryLife.raw --profile=Win7SP1x64 memdump -p 3036 -D ./
简单分析一下;
那这里的-p 3036
: 肯定就是指定要提取的进程的进程 ID(PID)。
这里的-D ./
: 是指定输出目录为当前目录(./
),提取的文件将保存在该目录下。(并不是保存在“D”盘的意思哈)
得到;
因为我这里是在kali里嘛,我肯定要移动到我的本机中丢进“010”进行分析,具体的移动步骤我就不说了,直接放“010”;
“010”成功打开;(010的基本使用功能”搜索“就不在此多叙,很简单)
那题目问我们的是LOGONSERVER环境变量值,所以这里我们直接查找“LOGONSERVER”试试看;
因为通常来说“LOGONSERVER”这个值的格式是 UNC (Universal Naming Convention) 路径格式,是用于标识网络中的计算机,例如“LOGONSERVER=\xxx-xxxxxx-PC”,所以我们可以尝试直接定位一下看看有没有
最后也是得到;
至此;
flag{\\BGS-CHENYJ-PC}
4. 请给出内存镜像中屏幕里的内容___________。
解题思路
题目让我们给出屏幕中的内容,那这里我们就可以查内存镜像中的“mspaint.exe”,那为什么要查它呢?简单来说就是mspaint.exe
是 Microsoft Windows 操作系统中的一个内置程序,通常用于图像编辑和查看,题目问我们屏幕中的内容,因此我们就可以从“mspaint.exe”进行下手,那也还是老规矩,先查PID(ID),接着再“dump”下来进行分析;
“mspaint.exe”这里简单分析一下;
- 功能
- 图像编辑:
mspaint.exe
提供了基本的图像编辑功能,如绘制、剪裁、调整大小、旋转、添加文本等。 - 图像查看:用户可以使用 Paint 查看各种图像文件,如 BMP、JPEG、PNG 和 GIF 等格式。
- 简单绘图工具:提供了画笔、铅笔、橡皮擦、填充等绘图工具,用于创建和编辑图像。
- 内存结构
在内存中,mspaint.exe
进程的结构可以分为以下几个部分:
- 进程代码段:包含程序的可执行代码。
- 数据段:存储全局变量和静态数据。
- 堆:用于动态分配内存,比如临时存储图像数据或用户输入的图形对象。
- 栈:用于存储函数调用的临时数据,如局部变量和返回地址。
- 图形对象:包含 GDI(Graphics Device Interface)对象和其他图形数据,这些数据用于渲染和显示图像。
- 内存映像分析
分析 mspaint.exe
的内存映像可以包括以下几个方面:(也就是我们本题所遇到的情况)
- 进程识别:通过内存分析工具(如
Volatility
)识别mspaint.exe
进程及其 PID。 - 提取图像数据:从进程的内存映像中提取图形对象和缓冲区数据。可以使用工具解析 GDI 对象或 DirectX 缓冲区。
- 恢复文件:从内存映像中恢复用户可能正在编辑的图像或未保存的工作文件。
- 常见分析方法
- 使用
Volatility
:可以通过Volatility
的procdump
插件提取mspaint.exe
进程的内存映像。 - 查看 GDI 对象:分析 GDI 对象和图形数据,了解绘图操作的细节。
- 进程内存检查:通过工具检查进程内存中的堆栈和数据段,查找潜在的图像数据或文件句柄。
- 实例应用
- 数字取证:在数字取证过程中,可以使用内存映像分析恢复在
mspaint.exe
中未保存的图像。 - 恶意软件分析:分析
mspaint.exe
的内存映像可以帮助检测和分析恶意软件利用图形程序的行为。
总的来说:通过这些,我们可以深入了解 mspaint.exe
进程的运行状态、内存使用情况以及可能的图形数据。这种分析可以用于数据恢复、恶意软件分析或其他取证目的。
所以这里我们先查到"mspaint.exe"的PID(进程号),使用插件“pslist”;
使用命令;
./vol -f MemoryLife.raw --profile=Win7SP1x64 pslist
得到;
最后得到PID:4312,接着使用插件“memdump”dump下来进行分析;
使用命令;
./vol -f MemoryLife.raw --profile=Win7SP1x64 memdump -p 4312 -D ./
得到;
成功下载,那题目既然都说了“屏幕中”的内容,那也就是说涉及到了图像,所以我们直接丢进“gimp”进行调整看看有没有我们想要的信息;
gimp官方下载
下载并且安装完成(操作很简单这里不再多叙),那我们打开“gimp”,打开文件发现报错了,提示信息是“未知文件类型”,那我们尝试修改一下文件后缀,改成“.data”试试看;
最后也是成功打开,多尝试调整图像的“高度”跟“宽度”即可发现;
宽度:576
高度:2350
得到;
最后简单旋转一下即可得到;
至此;
flag{gydk5sp}
5. 请给出wps.ini最后的修改时间_____________。(格式为YYYY-MM-DD_hh:mm:ss_+0000)
解题思路
题目问我们“wps.ini”最后被修改的时间,那这里我们就可以考虑使用“mftparser”插件来分析进行分析,那为什么呢?简单来说mftparser
插件用于分析 NTFS 文件系统的 Master File Table (MFT),它可以提供关于文件的详细信息,包括最后修改时间。而且wps.ini
文件应该是位于 NTFS 文件系统上,所以使用 mftparser
可以帮助我们准确地提取文件的元数据。
使用命令;
./vol -f MemoryLife.raw --profile=Win7SP1x64 mftparser
得到;
这里发现数据较多,那我们就可以使用“grep”来进行过滤一下,题目中说“wps.ini”,所以我们就可以;
使用命令;
./vol -f MemoryLife.raw --profile=Win7SP1x64 mftparser | grep 'wps'
得到;
也是发现了;
2023-09-19 03:31:27 UTC+0000 2023-09-19 03:31:27 UTC+0000 2023-09-19 03:31:27 UTC+0000 2023-09-19 03:31:27 UTC+0000 wps.ini
所以最后也是成功发现了“wps.ini”最后被修改时间,提交格式为:YYYY-MM-DD_hh:mm:ss_+0000
至此;
flag{2023-09-19_03:31:27_+0000}
二、MISC
1、misc-steg
解题思路
下载附件,得到一张图片,丢进010简单分析一下看看有没有东西;
无任何发现,kali也丢了,并没有什么发现,最后一个个尝试也是在“Stegsolve”里面发现了关键;
在“Stegsolve”中的“Blue plane 0”发现关键,仔细查看会发现后面有一排不知道是字母还是汉字的,能看见一点点;
发现是“LSB”隐写,不过这里肯定是加密了,暂时看不到,那我们接着返回通道继续翻翻看还有没有什么线索;
哎,最后也是在“Alpha plane 0”中发现了关键,提示:爆破我,3num!!!
那我们这里就直接上“B神”的工具——“PuzzleSolver”(这里已为大家准备好在工具包,下载解压即可使用)
注意这里如果是使用“ cloacked-pixel”是会报错的,提示我们负载的 AES 信息大小不是 32 的倍数;
所以这里我们使用“stegpy 爆破”即可;
最后也是成功爆破出来了,最后的结果就是在图片的目录下会有一个文件“_flag.txt”(注意这里爆破的可能会久一些,大家耐心等待即可)
打开“_flag.txt”,得到;
至此;
flag{47136824-3036-4996-a04d-34c4f3ea85f7}
2、misc-Easy_pic
解题思路
下载附件,得到的也还是一张图片,老规矩丢进010简单分析一下看看有没有信息;
也是没有任何发现,那这里为了节省一些时间,我直接跳过尝试的阶段,反正总之什么都试了一遍,最后也是在盲水印工具——“WaterMake”(工具已在工具包中,下载解压即可使用)中发现了线索,是一个“KEY”
WaterMake中发现“KEY”;
这里看不太清楚,不过我们可以“图片另存为”放大来看,虽然有点费眼,但也是没有办法的事情,毕竟嘛使用工具是最简单的;
费力九牛二虎之力也是成功把这个“KEY”扣下来了,KEY: cloacked-pixel-master;
接着还是老规矩,直接上”B神“的工具,注意输入我们解析出的“password”(这里如果没有password选项的,那就是需要vip才具备)
至此;
flag{212fbab2b03c95ccbc75e3e568105ac5}