分步指南:使用 Python 模糊测试、带 mona.py 的 Immunity Debugger 和 IDA Free(用于二进制分析和载荷开发)来利用 FreeFloat FTP Server 中的缓冲区溢出漏洞。
目标平台: Windows
本指南详细介绍了对二进制文件进行漏洞分析和模糊测试所需的全部工具。请按顺序执行以下步骤,以确保一切设置正确。
下载: python.org/downloads/windows
Python 3 是我们用来编写 模糊测试脚本 的语言。它简单易用且生态丰富,非常适合自动化向目标二进制文件发送载荷、处理网络连接以及解析响应。
安装: 从链接下载 .exe 安装程序并运行。安装过程中,务必勾选 ✅ “Add Python to PATH”,否则你将无法在终端中调用 python。
下载: github.com/kbandla/ImmunityDebugger
Immunity Debugger 是一款进程级调试器,专门面向安全分析和漏洞利用研究。它允许你在程序运行时实时检查寄存器、内存、栈和堆——这正是我们识别和验证缓冲区溢出所需的。
⚠️ 注意: Immunity Debugger 已停止维护,其官方网站也已无法访问。不过,由于它与 mona.py 插件集成良好、资源占用低,并且界面直观,在 32 位 Windows 系统的漏洞分析中非常实用,因此它仍在安全社区和学术环境中被广泛使用。上述 GitHub 仓库中包含原始分发的安装程序二进制文件。
安装: 克隆该仓库。可执行文件位于 ImmunityDebugger\1.85\ImmunityDebugger.exe,无需安装。
下载: python.org/download/releases/2.7
Immunity Debugger 的脚本引擎基于 Python 2.7 构建,因此该版本是工具正常运行的必要条件——尤其是在运行 mona 插件时。
ℹ️ Python 2.7 和 Python 3 可以在同一系统上共存而不会出现问题。只需确保 Python 3 仍是 PATH 中的主要版本。
安装: 下载并运行安装程序。如果已经配置了 Python 3,则无需将其添加到 PATH。
mona.py 是 Immunity Debugger 的旗舰插件,由 Corelan Team 开发。它能够自动化漏洞利用开发中最繁琐的部分:
pattern_create、pattern_offset)JMP ESP 之类的有用指令安装:
mona.py 文件复制到 Immunity 命令目录:ImmunityDebugger\1.85\PyCommands\mona.py
复制完成后,你可以在 Immunity 命令栏中使用以下命令调用它:
!mona help
🟡 可选 —— 但强烈推荐。
VS Code 是我们编写 Python 模糊测试脚本的编辑器。它提供语法高亮、智能自动补全、集成终端和扩展支持,可显著提高工作效率。
推荐扩展: Python — Microsoft
它提供 IntelliSense、代码检查、集成调试以及直接在 VS Code 中选择 Python 解释器的功能。安装后,请确保从编辑器底部状态栏选择正确的解释器(Python 3)。
下载: hex-rays.com → Downloads 部分 → IDA Free
IDA(Interactive DisAssembler,交互式反汇编器)是二进制逆向工程的行业标准。免费版(IDA Free)对于本分析来说已经完全足够:它可以让你反汇编目标可执行文件、浏览其函数、识别诸如 strcpy 或 gets 之类的危险调用,并在没有源代码的情况下理解程序流程。
🔐 许可证: 个人非商业版本完全免费。只需使用有效电子邮件注册即可。安装程序和许可证均从 Hex-Rays 客户门户 下载。
安装:
从客户门户下载 .exe 安装程序,并按照向导步骤运行。
安装完成后,向导会提示你必须将许可证文件(.hexlic)放置在以下路径:
%APPDATA%\Hex-Rays\IDA Pro\
.hexlic 文件,并将其复制到该位置。下次启动 IDA 时,许可证将自动激活。✅目标二进制文件是 FreeFloat FTP Server v1.0,一款面向 Windows 的轻量级 FTP 服务器。它在安全社区中拥有已知且有详细记录的漏洞,因此是在受控环境中练习缓冲区溢出技术的经典目标。
📦 该可执行文件位于本仓库中:FreeFloatFtpServer1.0.zip
解压 zip 文件即可获得 Win32/FTPServer.exe,这是我们整个分析过程中将使用的二进制文件。
继续阅读 02 Vulnerability →
祝破解愉快!🎯