MCCTF-re-取证复现

·

re

Ezhard_launcher

直接给源文件的re题一般没有难的…直接看逻辑,异或0不用管,直接拼接就行

(re就出一题还这么简单…有点难绷)

取证

1.1

【妙妙取证小工具 MemProcFS:

作用:把物理内存(RAM)映射为一个虚拟文件系统,用户可以像浏览普通文件夹一样,直接访问内存中的进程、模块、句柄、网络连接等信息。

用法:

(1)取证模式启动指令:

.\memprocfs.exe -device "<内存镜像文件(mem文件)>" -forensic 1

(2)分析进程信息:

mem:进程内存空间

modules:加载的 DLL 列表

handles:句柄信息

threads:线程堆栈】

【妙妙取证小工具 Volatility:

使用教程Volatility 3 — Volatility 3 2.26.2 文档

本题使用的插件:

1.windows.netscan(1.1、2.1使用)

主要功能:

  • 枚举 TCP IPv4/IPv6 连接
  • 枚举 UDP IPv4/IPv6 端点
  • 列出 本地/远程 IP 与端口
  • 显示 TCP 状态(LISTENING、ESTABLISHED、CLOSE_WAIT 等)
  • 显示 所属进程(PID/进程名)
  • 提取 时间戳(对象创建时间)

指令:

vol -f <内存镜像文件(mem文件)> windows.netscan [选项]

常用参数

  • -p PID
    仅显示某个进程相关的网络对象。

    1
    vol -f mem.img windows.netscan --pid 1234
  • --dump
    部分版本支持将扫描到的对象导出(例如 PCAP、原始结构体),但标准版主要是显示表格。

  • -r json / -r csv
    指定输出格式(renderer),方便后续处理:

    1
    2
    vol -f mem.img -r json windows.netscan > netscan.json
    vol -f mem.img -r csv windows.netscan > netscan.csv
  • -o <目录>
    指定输出目录(有的 renderer 或插件 dump 文件时需要)。

  • -vv
    打印更详细的调试信息。

2.windows.pslist(3.1、4.1、5.1使用)

主要功能:

  • 列举 Windows 内存镜像中的所有进程 (processes)
  • 信息来源是 EPROCESS 链表(内核里维护的进程列表)。
  • 输出表格包含进程的 PID、父进程、进程名、创建/退出时间、线程数、句柄数等。

常用用法

  1. 查看所有进程

    1
    vol -f mem.img windows.pslist
  2. 过滤特定进程(Windows)

    1
    vol -f mem.img windows.pslist | findstr notepad
  3. 输出为 JSON 或 CSV

    1
    2
    vol -f mem.img -r json windows.pslist > pslist.json
    vol -f mem.img -r csv windows.pslist > pslist.csv
  4. 结合其他插件

    • 找到可疑进程 PID → 再用 windows.dlllist 查看加载的模块
    • 再用 windows.memdumpwindows.memmap --dump dump 内存

3.windows.memmap(3.1使用)

插件作用枚举并展示某个进程的虚拟内存空间映射情况

用法示例

  1. 查看进程的内存映射

    1
    vol -f mem.img windows.memmap --pid 1234

    输出类似:

    1
    2
    3
    4
    Virtual            Physical        Size     File     Protection   Type
    0x0000000140000000 0x0000000012345 0x1000 notepad.exe r-x Image
    0x0000000140010000 0x0000000012350 0x2000 ntdll.dll r-- Mapped
    0x0000000140030000 0x0000000012360 0x1000 - rw- Private
  2. dump 进程的内存

    1
    vol -f mem.img windows.memmap --pid 1234 --dump -o dumps/
    • 会把进程的虚拟内存区域导出到 dumps/ 目录
    • 文件名中会包含虚拟地址,方便后续逆向分析
  3. 结合 strings/分析工具使用
    dump 出的内存块可直接用 strings 搜索敏感数据,或丢进 IDA/Ghidra 分析。

用Volatility跑出来windows.netscan

在 netscan.txt 里能看到多条对 10.10.0.133:80 的入站连接,来源就是 10.10.0.1(网关/反代的内侧地址),因此10.10.0.1就是攻击者ip地址。

2.1

同一份netscan.txt,有一条已建立过的对外会话:

0x3fc827a0 TCPv4 10.10.0.133 64999 66.240.205.34 9002 CLOSE_WAIT - - N/A

再加上word.exe 的字符串里也包含 66.240.205.34。所以推断攻击者外联 IP 和端口就是66.240.205.34:9002

3.1

在内存镜像里先定位进程:

1
vol -f D:\BaiduNetdiskDownload\memdump\memdump.mem windows.pslist | findstr /i notepad  

dump 进程内存:

1
vol -o D:\case\dump_notepad -f D:\BaiduNetdiskDownload\memdump\memdump.mem windows.memmap --pid 1632 --dump

dumps/ 目录里会生成一个 .dmp 文件,对应 notepad 的进程内存。

对 dump 出的进程镜像做字符串提取:

1
strings.exe -a -n 6 D:\case\dump_notepad\*.dmp > D:\case\notepad_strings_ascii.txt

再搜索关键字,比如路径、后缀名、上传动作,这样就能找到上传路径:C:/phpstudy_pro/WWW/uploads/shell.php

4.1

根据notepad的进程内存中找到的勒索信内容,复制后上网检索,得知勒索病毒为LockBit 3.0

1
2
3
4
5
6
7
8
9
10
11
>>>> Your data are stolen and encrypted
The data will be published on TOR website if you do not pay the ransom
Links for Tor Browser:

http://lockbitapt2yfbt7lchxejuq47kmqvgqxvvipqkmevv4l3az13gy6pyd.onion
http://lockbitapt5x4zkjbcqmz6fdhrdeqqgaadevviwgxukksspn1idyd7gd.onion
http://lockbitapt6vx57t3eeqjofwgcplmutr3a35nygvokia5uucip4ykyd.onion
http://lockbitapt34kvrip6xoiyl0hxhrwsvpzdfgfss5z4bbsyvnzsbdquqd.onion
http://lockbitaptci2q4atewz2ise62q63wfktryl4qtuw5qax262gktzigd.onion
http://lockbitaptipkdqjvnvoqzhc6bgetgucdk5xjacozeawihmoio6yd.onion
http://lockbitapt7ephv2oigdncfthwhpgwmqojnxqdyh.onion

5.1

同上,可以看到域名:.onion

6.1

经过构建攻击路线,猜测黑客通过皮肤上传站上传shell.php,拿到shell后上传勒索病毒,所以加密器在C:/phpstudy_pro/WWW/uploads/LB3Decryptor.exe,且经过前几题排查确定为LockBit3.0勒索病毒,到github拉下来分析build脚本,调用 keygen 以生成公钥和私钥加密密钥。

由于猜测是利用webshell上传的勒索病毒,所以在内存中搜索shell.php,找到了上传文件的包。

1
volatility -f <内存镜像文件> windows.strings | grep "shell.php"

如图

然后找到公钥和私钥,用生成脚本生成出解密器,找到其解密日志文件即可

但是没有成功复现,回头复现好再补充吧()


MCCTF-re-取证复现
http://example.com/2025/08/18/MCCTF-re-取证复现/
作者
oxygen
发布于
2025年8月18日
许可协议