概述
Red Failure是来自于HTB(hackthebox.com)的一个中级数字鉴识挑战,完成该挑战所需要掌握的知识点在于Windows下的逆向分析。
题目分析
该挑战提供了一个capture.pcap文件,其中是捕捉到的网络通讯数据。
解题过程
使用Wireshark打开capture.pcap,并列出所有的HTTP对话记录。
发现总共有三次HTTP对话,分别下载4A7xH.ps1,user32.dll和9tVI0文件, 我们可以从对话响应中导出这三个文件。
4A7xH.ps1是一个powershell脚本文件,其代码经过混淆处理,通过代码分析可以得知其功能在于下载user32.dll,然后使用相关的入口参数调用其中DInjector.Detonator类下的Boom方法。
使用JetBrains dotPeek对user32.dll进行反编译以获得其源代码。 从Boom方法的实现中,我们可以得知其功能在于下载9tVI0文件,然后使用给定的密码对其解密, 获得的结果则是最终运行的二进制指令。
从JetBrains dotPeek中导出源代码后,我们可以修改Boom方法,将解密后的二进制指令写入本地文件。
使用Visual Studio对修改过的代码进行编译得到新的user32.dll,然后修改4A7xH.ps1, 使其从本地服务器下载相关的文件。
启动本地We服务器, 然后运行4A7xH.ps1后 可以得到解密生成的二进制指令文件。
然后使用scdbg模拟器运行二进制指令文件,从其输出中就可以得到flag.