导语:想学习二进制漏洞利用,却连调试环境都搭不起来?别担心,本文手把手教你在 WSL2 上安装 pwndbg,从零开始搭建专业的漏洞研究环境。
一、pwndbg 是什么
GDB 是 GNU 调试器,它是 Linux 下最常用的程序调试工具之一。使用 GDB,你可以暂停正在运行的程序、检查内存内容、读取寄存器状态,并逐条执行代码指令。对于任何想要研究二进制漏洞或编写漏洞利用代码的人来说,GDB 都是必备的基础工具。
但原始的 GDB 输出界面比较简陋,可读性差。pwndbg 正是为解决这一问题而生——它是一个专门为漏洞利用开发设计的 GDB 增强插件,安装后,原本枯燥的调试输出会变成彩色编码的界面,寄存器、堆栈、反汇编代码、源代码可以在同一个屏幕上并排显示。进行二进制漏洞测试,pwndbg 是你的首选工具,而不是普通的 GDB。
二、环境准备
本文使用的环境配置如下:
- Windows 11(已启用 WSL2)
- WSL2 中运行 Ubuntu 24.04
- VS Code + WSL 扩展(用于远程连接开发)

三、安装步骤
第一步:更新软件包
在安装任何软件之前,先更新软件包列表并升级已有软件,这一步绝对不能省略:
sudo apt update && sudo apt upgrade -y
在过时的软件包基础上安装新软件,很容易引发各种奇怪的兼容性问题。
第二步:安装依赖项
pwndbg 需要 git、python3、pip 和一些编译工具,一条命令全部搞定:
sudo apt install -y git gdb python3 python3-pip curl wget build-essential
这步大约需要两分钟。
第三步:从 GitHub 克隆 pwndbg
git clone https://github.com/pwndbg/pwndbg
仓库会被下载到当前目录下新建的 pwndbg 文件夹中。
第四步:运行安装脚本
cd pwndbg
./setup.sh
这是核心安装步骤。脚本会自动安装 pwndbg 所需的所有 Python 依赖项,并将自身集成到 GDB 中。这步耗时稍长,耐心等待即可。
第五步:安装 pwntools
pwntools 是一个 Python 库,专门用来编写漏洞利用脚本。它能帮你完成连接远程服务器、构造有效载荷、整数打包/解包、以编程方式与进程交互等操作。在后续的漏洞利用编写中,你会经常用到它。
pip3 install pwntools
注意:如果你是 Ubuntu 23 或更高版本,可能会遇到”外部管理环境”相关的错误。此时改用以下命令即可:
pip3 install pwntools --break-system-packages
安装完成后,验证是否成功:
python3 -c "from pwn import *; print('pwntools is working')"
如果输出 pwntools is working,说明安装成功。pip3 本身通常不会显示明显的成功提示,用这条命令确认即可。
四、验证 pwndbg 是否正常工作
先确认 GDB 版本:
gdb --version
应该看到类似输出:
GNU gdb (Ubuntu 15.1-1ubuntu1~24.04.1) 15.1
然后用任意二进制文件启动 GDB,看 pwndbg 是否正常加载:
gdb ./any_binary
如果 pwndbg 安装正确,你会在启动输出的底部看到类似以下内容:
pwndbg: 已加载 194 个 pwndbg 命令。输入 pwndbg [筛选条件] 查看列表。
pwndbg: 创建了 11 个 GDB 函数(可与 print/break 一起使用)。
看到这条确认信息,就说明 pwndbg 已经正常运行了。
五、Bonus:安装 checksec
checksec 是一个小巧的工具,可以告诉你目标二进制文件开启了哪些安全保护机制,比如 ASLR(地址空间布局随机化)、NX(禁止执行)、堆栈金丝雀(stack canary)和 PIE(位置无关可执行文件)。在你开始分析任何挑战二进制文件之前,第一步就应该先跑一下它:
sudo apt install -y checksec
六、总结
安装过程其实不复杂,总结下来就是六步:
sudo apt update && sudo apt upgrade -ysudo apt install -y git gdb python3 python3-pip curl wget build-essentialgit clone https://github.com/pwndbg/pwndbgcd pwndbg && ./setup.shpip3 install pwntools- 验证
gdb和pwndbg是否正常加载
搞定了这套环境,你就已经迈出了成为漏洞研究员的第一步。调试环境就绪,接下来就该开始真正的学习了。下次再见!
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容