WSL2 上安装 pwndbg:新手入门指南

导语:想学习二进制漏洞利用,却连调试环境都搭不起来?别担心,本文手把手教你在 WSL2 上安装 pwndbg,从零开始搭建专业的漏洞研究环境。


一、pwndbg 是什么

GDB 是 GNU 调试器,它是 Linux 下最常用的程序调试工具之一。使用 GDB,你可以暂停正在运行的程序、检查内存内容、读取寄存器状态,并逐条执行代码指令。对于任何想要研究二进制漏洞或编写漏洞利用代码的人来说,GDB 都是必备的基础工具。

但原始的 GDB 输出界面比较简陋,可读性差。pwndbg 正是为解决这一问题而生——它是一个专门为漏洞利用开发设计的 GDB 增强插件,安装后,原本枯燥的调试输出会变成彩色编码的界面,寄存器、堆栈、反汇编代码、源代码可以在同一个屏幕上并排显示。进行二进制漏洞测试,pwndbg 是你的首选工具,而不是普通的 GDB。


二、环境准备

本文使用的环境配置如下:

  • Windows 11(已启用 WSL2)
  • WSL2 中运行 Ubuntu 24.04
  • VS Code + WSL 扩展(用于远程连接开发)
WSL2 + Ubuntu 环境示意图

三、安装步骤

第一步:更新软件包

在安装任何软件之前,先更新软件包列表并升级已有软件,这一步绝对不能省略:

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

六、总结

安装过程其实不复杂,总结下来就是六步:

  1. sudo apt update && sudo apt upgrade -y
  2. sudo apt install -y git gdb python3 python3-pip curl wget build-essential
  3. git clone https://github.com/pwndbg/pwndbg
  4. cd pwndbg && ./setup.sh
  5. pip3 install pwntools
  6. 验证 gdbpwndbg 是否正常加载

搞定了这套环境,你就已经迈出了成为漏洞研究员的第一步。调试环境就绪,接下来就该开始真正的学习了。下次再见!

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容