-
-
使用LovelyMem取证梭哈2024游戏安全技术竞赛初赛
-
发表于: 2025-1-23 15:29 3953
-
Knowledge Is Power. Reverse is Forensic. France Is Bacon. :dog:
别问为什么逆向要用取证工具做,问就是太菜了不懂纯小白。相较于传统内存取证题目,逆向题目不会提供现成的内存镜像,因此需要手动取证。本文使用Belkasoft Live RAM Capturer
。当然,大手子们使用其他工具也可以,有条件甚至可以DMA取证。此处选取这一工具的原因只是因为没米(太穷了买不起DMA设备)&&简单(太笨了搞不懂dd
、WinHex
……)。最终只要得到内存镜像文件即可。
工具使用方法很简单,运行之后设置输出目录路径,点击“Capture!”即可,非常的傻瓜化。
然后回来看题。题目这样描述:“先运行exe后需自行加载sys驱动,驱动加载返回值为31则驱动加载成功。此时,程序会写入两段shellcode到内存中。”因此,我们需要取证3次内存镜像,接着从内存镜像中提取shellcode。
接下来的操作很简单,首先第一次取证,然后运行exe,之后第二次取证,接着加载sys,最后第三次取证即可。记得每次取证时设置正确的路径。不得不说这里有坑,exe要求处理器支持AVX2,所以当程序跑不起来崩溃的时候,可能真的只要换台好设备就能解决了……(当时看到别人一个个很顺利自己却程序都运行不起来真的破了大防,还以为哪里被检测了。之后复盘发现只是别人有钱设备好。扎心了。)当然如果是虚拟机,部分虚拟机在特定模式下不支持AVX2,解决方式是相应配置或换虚拟机。
有了镜像之后就很简单,拖进LovelyMem
一键梭哈即可。感谢@Tokeii的妙妙工具。使用之前记得装一下Dokan
。
接下来的操作就像吃饭喝水一样简单,①加载镜像,②等待成功加载内存镜像,③打包。重复3次即可。
接下来,我们只要两两比较打包完的压缩包即可。本文成文时LovelyMem
(似乎?)还没有内置比较工具,是使用Beyond Compare
比较,之后再在LovelyMem
中定位的。
点一下“MemProcFS”下面的“时间线功能”里面的“进程时间线”,发现执行hack.exe
之后有脏东西。hack.exe
作为命令行程序,执行后出现conhost.exe
和cmd.exe
还可以理解,但是蹦出来notepad.exe
和Taskmgr.exe
显然是不正常的。
接着点一下“Volatility 3”下面的“新版本新增功能”里面的“可疑线程检测”,找一下notepad.exe
和Taskmgr.exe
。找到Taskmgr.exe
,确实有不太正常的线程。
接着跑一下memmap
,顺带记得带上dump(图里忘了)。搜索一下线程的地址,只搜前几位就行,因为是按照大小对齐的,得到在dump文件中的地址。
把dump文件丢进IDA之类的工具,跳转到找到的地址,稍微上下翻翻,然后就没有然后了。经常异或的朋友都知道,异或一下有亮点。
注意力涣散?来点提示。
如法炮制一下,但是这次是内核态,之前是用户态。所以甚至少了些步骤,我们只要关注System进程,也即PID为4的进程。点一下“Volatility 3”下面的“新版本新增功能”里面的“线程信息”,里面也确实有原来没有的新东西。其中地址较低的那个比较辣眼睛。
[招生]科锐逆向工程师培训(2025年3月11日实地,远程教学同时开班, 第52期)!
赞赏
- 使用LovelyMem取证梭哈2024游戏安全技术竞赛初赛 3954
- 阿里云CTF2024暴力ENOTYOURWORLD题解 9507
- 领航杯2023决赛PWN题解 11162