CTFShow_DSBCTF_单身杯_easy_mem_1

摘要

其实有很多想要做的事情,但是每次都做了一点之后,就搁置了,下次再想起来的时候,又从头开始
这样子真的很不好

我个人其实对 CTF 并不怎么了解,大多数只是做着玩,很多题目都是抄答案罢了
虽然在抄答案,但是在抄的过程中发现很有意思,学到了很多不知道的东西


easy_mem_1

镜像下载与解压

镜像下载 处,获取压缩包文件
镜像下载


下载镜像进行解压,解压出来的文件后缀为 .dmp
.dmp


🌲 .dmp 文件

​​.dmp 文件是“内存转储文件”​​,可以把它想象成计算机在发生严重错误(如蓝屏死机BSOD)或特定请求时,为整个或部分内存内容创建的“现场快照”或“黑匣子记录”

这个文件包含了问题发生时系统状态的关键信息,主要用于事后分析和调试


解题方式一:

🌲MemProcFS

下载地址:https://github.com/ufrisk/MemProcFS

MemProcFS​​ 的全称是 ​​Memory Process File System​​。你可以把它理解为一个“魔法翻译器”,它能够将计算机的​​物理内存​​ 或 ​​内存转储文件​​ 的内容,以一个​​虚拟文件系统​​ 的形式实时地、动态地展示给你。

这意味着,你不需要用复杂的命令行工具一点一点地去解析原始内存数据,而是可以像浏览文件夹一样,直观地探索内存中的秘密。

MemProcFS 核心工作流程:

1. 【输入源】
   提供内存镜像来源:
   - 静态内存转储文件(如.raw/.dmp文件)
   - 实时系统物理内存(通过以下方式访问):
     * VMware快照
     * PCILeech等硬件设备
     * 直接内存访问工具

2. 【自动分析】
   加载内存镜像后执行:
   - 操作系统指纹识别:
       → Windows 7/8/10/11
       → Linux内核版本
       → macOS系统版本
   - 内核数据结构重建:
       ✓ 进程链表遍历
       ✓ 内存页表解析
       ✓ 网络连接状态提取
       ✓ 驱动模块加载列表
       ✓ 注册表hive重建

3. 【呈现为文件系统】
   生成虚拟文件系统:
   - 挂载点为虚拟驱动器(例如:M:\)
   - 动态生成目录结构:
     ├── processes/      # 进程目录
     ├── registry/       # 注册表目录
     ├── filesystem/     # 内存文件系统
     ├── network/        # 网络连接信息
     └── plugins/        # 插件扩展数据
   - 实时按需解析机制:
     ▸ 仅在访问文件时解析对应内存数据
     ▸ 元数据动态生成(不占用物理存储)

4. 【交互式探索】
   支持多种访问方式:
   - 图形化资源管理器(浏览M:\)
   - 命令行工具:
        > dir M:\processes
        > type M:\network/tcp_connections.txt
   - 脚本自动化分析(Python示例):
        with open("M:/processes/1324/memory.dmp", "rb") as proc_mem:
            analyze_malware(proc_mem.read())
   - 专业工具链集成:
        ✓ Volatility框架对接
        ✓ IDA Pro内存分析
        ✓ Wireshark网络流重组

加载镜像

MemProcFS.exe -device "D:/20241029-055419.dmp" -v -forensic 1

镜像加载完成后,会有一个 M 盘
镜像加载


获取 Flag 需要的信息

要获取的三个内容:计算机名、ip、build,在文件里: "M:\sys\sysinfo\sysinfo.txt"

flag信息


flag


Flag

ctfshow{ZHUYUN_S_PC_192.168.26.129_22621}

解题方式二:

这个方法是在没有看 wp 之前,在网上搜的
https://blog.csdn.net/bayue_xiaoyu/article/details/143773146


windbg 分析

下载、安装
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/
https://www.cnblogs.com/jijm123/p/16392465.html


WinDbg 获取版本号

在 View 的 Command 窗口中输入 version 获取版本号
版本号为 22621
image


使用 WinDbg 获取环境变量

执行 !PEB 命令,可列举出当前进程使用的全部环境变量,在环境变量找到主机名称 ZHUYUN_S_PC
image


使用 strings 获取 IP 地址

strings工具主要用于从二进制文件中提取连续的可打印字符串,常用于软件分析、安全审计和逆向工程等领域。
https://learn.microsoft.com/en-us/sysinternals/downloads/strings


获取到的 IP 地址有
192.168.26.129
192.168.26.2
192.168.26.254
192.168.45.237

strings.exe "E:\20241029-055419.dmp" | findstr "192.168"

image


Flag

ctfshow{ZHUYUN_S_PC_192.168.26.129_22621}

官方解题WP

https://ctf-show.feishu.cn/docx/R6udd58bxoQGQMxFphncZq8rn5e

posted @ 2025-10-13 15:14  落子无悔limit  阅读(14)  评论(0)    收藏  举报