快速在24.04Ubuntu搭建pwn环境
快速在24.04Ubuntu搭建pwn环境
打了重庆市赛时,3个pwn题有2个给了2.39glibc,据有些大师傅们说,2.39的glibc只能在24.04的Ubuntu上兼容,我也试了试用glibc-all-in-one
,下2.39的glibc,但是下下来是空的。这说明原先22.04Ubuntu的环境已经不够用了,需要新建一个24.04版本的Ubuntu虚拟机来应对各种可能的做题环境。这里顺便记录下快速起pwn环境的步骤。
安装清单
1 | pwntools |
0.安装24.04Ubuntu
这里我选择wsl的安装,直接安装完成后,打开会自动进行进一步的安装以及初始化。

1. 更新系统
首先,确保你的系统是最新的:
1 | sudo apt update && sudo apt upgrade -y |
2. 安装基本工具
安装一些常用的开发工具和库:
1 | sudo apt install -y build-essential gdb python3 python3-pip git |
3. 安装 pwntools
pwntools
是 PWN 环境中常用的 Python
库,用于编写漏洞利用脚本:
1 | pip3 install pwntools |
可能会有报错如下:

由于 Ubuntu 24.04
使用了externally-managed-environment
模式,这种模式下系统不允许直接用
pip
安装全局包。为了避免对系统 Python
环境造成破坏,所以要创建一个虚拟环境来安装 Python 包。
解决方法:使用虚拟环境
安装
python3-venv
和python3-pip
: 首先,确保你已经安装了python3-venv
和python3-pip
,这些工具允许你创建虚拟环境并安装 pip 包。1
sudo apt install python3-venv python3-pip
创建虚拟环境: 创建一个新的虚拟环境,用来安装和管理
pwntools
。1
python3 -m venv pwnenv
激活虚拟环境: 激活虚拟环境,这样你就可以在隔离的环境中安装 Python 包了。
1
source pwnenv/bin/activate
激活后,你会看到命令提示符前面会加上
(pwnenv)
,表示你已经进入虚拟环境。安装
pwntools
: 在虚拟环境中,你可以使用pip
安装pwntools
和其他需要的 Python 包。1
pip install pwntools
退出虚拟环境: 使用完虚拟环境后,可以通过以下命令退出:
1
deactivate
使用 pipx
(可选)
如果不想每次都手动激活虚拟环境,可以考虑使用 pipx
来管理独立的 Python 应用程序。pipx
会自动为我们创建虚拟环境并管理依赖。
安装
pipx
:1
sudo apt install pipx
使用
pipx
安装pwntools
:1
pipx install pwntools
pipx
会自动为你创建一个虚拟环境,并在其中安装
pwntools
,你可以直接运行它,而无需手动管理虚拟环境。
但这个pipx亲测太慢了!!!不推荐。
4. 安装 ROPgadget
ROPgadget
是一个用于查找 ROP 链 gadget 的工具:
1 | pip3 install ropgadget |
5. 安装 seccomp-tools
seccomp-tools
用于分析和利用 seccomp 过滤器:
安装 Ruby 和 RubyGems
1 | sudo apt install -y ruby-full |
使用 RubyGems 安装 seccomp-tools
1 | sudo gem install seccomp-tools |
安装完成后,可以通过以下命令验证安装是否成功:
1 | seccomp-tools --version |
6. 安装 glibc-all-in-one
glibc-all-in-one
包含了不同版本的
glibc,方便进行漏洞测试:
1 | sudo git clone https://github.com/matrix1001/glibc-all-in-one.git |
7. 安装patchelf
1 | git clone https://github.com/NixOS/patchelf.git |
若显示报错

1 | sudo apt-get install autoconf automake libtool |
8. 安装 pwndbg
pwndbg
是一个为 GDB 提供增强功能的插件,它对调试 PWN
题目非常有用:
装的时候记得先切到之前建立的虚拟环境。
1 | git clone https://github.com/pwndbg/pwndbg |
若产生如下错误,则有可能是网络连接的问题(具体的可以看日志文件)。

可以配置镜像源加速
1 | mkdir -p ~/.pip |
8. 安装 one_gadget
one_gadget
是一个用来快速查找 libc 中单次调用的 RCE
gadget 的工具:
1 | gem install one_gadget |
- 标题: 快速在24.04Ubuntu搭建pwn环境
- 作者: collectcrop
- 创建于 : 2025-01-24 21:47:01
- 更新于 : 2025-01-25 00:39:50
- 链接: https://collectcrop.github.io/2025/01/24/快速在24-04Ubuntu搭建pwn环境/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。