pwn的环境与配置
pwn的环境与配置
benksihpwn的环境
目标: 搭建一个专业的pwn环境,熟练使用pwnner的“瑞士军刀”。
内容:
- Linux环境搭建与入门: 我们需要一个Linux系统。我推荐使用
WSL (Windows Subsystem for Linux)或者VMware/VirtualBox安装一个Ubuntu 20.04/22.04的虚拟机。我会带你熟悉pwn中必须用到的命令行指令,比如ls,cd,cat,chmod,grep,ssh等。这是基础中的基础。 - 神器
pwntools入门: 这是用Python编写的pwn题解题框架,能帮你快速编写漏洞利用脚本,处理远程交互、打包解包数据等,是每个pwnner的必备神器。 - 调试利器
GDB与插件:GDB是Linux下的主要调试工具。但原生的GDB对pwn不是很友好,所以我们会给它装上强大的插件,比如pwndbg或GEF。它们能让你在调试时清晰地看到栈、寄存器、反汇编代码等信息,是分析漏洞的左膀右臂。
Linux的环境
初学者一般使用VMware的话会熟练一些,VM最新版也是免费的,官网下载安装即可。我这边使用wsl安装,在vM安装虚拟机的方法这边不做介绍。
没下wsl的可以在微软商店下载。然后通过powershell或者cmd打开windows的命令行。输入wsl看看是否可用。
wsl -l就是看你现在系统上安装的Linux都是啥,一般刚下的wsl上面什么都没有。我们可以通过这条命令
wsl -l --online来看可以下载的Linux版本。
这边推荐安装Ubuntu的24.04或者22.04版本,这边因为我之前有了24.04所以我下载22.04版本。
等待进度条走完,就是安装完成了,需要设置一个用户名和密码,按你的想法设置就行(最好不要使用中文),linux在输入密码的时候不显示字数是正常的,正常输入即可。
这就是设置界面,输入名称和密码。
这样显示,前面应该是你自己设置的用户名,就说明已经进入系统了,接下来我们安装pwn需要用到的一些东西包括pwntools这个包还有pwndbg这个gdb的扩展。首先第一步就是切换软件源。
【小知识课堂:什么是软件源?】
Linux系统安装软件,通常都是从一个官方的服务器(我们称之为“源”)下载的。默认的源服务器在国外,我们从国内访问会非常慢。所以,我们需要把它换成国内的镜像源(比如清华大学、阿里云提供的),这样下载安装软件的速度就会快如闪电。
第一步:更换为清华大学镜像源
备份默认源文件(好习惯): 在你的Ubuntu终端里,输入下面的命令并回车。它会让你输入密码,就是你之前设置的那个。输入时密码不显示是正常的。
1
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑源列表文件: 我们用一个简单的文本编辑器
nano来修改它。1
sudo nano /etc/apt/sources.list
执行后,会打开一个文本编辑界面。按
Ctrl+A然后按K可以全部删除里面的内容。然后,将下面的所有文本复制,在nano编辑器里点击鼠标右键粘贴进去。(注意:要完整复制,不要遗漏)1
2
3
4
5
6
7
8
9
10
11
12
13
14# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,如有需要可自行取消注释
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main res
粘贴好后,按下 Ctrl + X,它会问你是否要保存,按 Y,然后按回车确认文件名,就保存退出了。最后,执行这个命令来让系统接受新的源。
1 | sudo apt update |
你会看到终端里飞速滚动的都是tsinghua.edu.cn的网址,速度应该会非常快。现在我们来安装pwn所需要的一系列基础工具。
请复制下面这一整行命令,粘贴到你的终端里,然后回车执行。它会自动安装所有我们需要的宝贝。
1 | sudo apt install -y build-essential gdb python3-pip python3-dev git vim curl libssl-dev |
build-essential: 包含了gcc等C语言编译器,是我们编译程序的根本。gdb: 我们之后要用的调试器 GDB (The GNU Debugger)。python3-pip,python3-dev: 用于安装Python库,比如我们之后要用的pwntools。git,vim,curl,libssl-dev: 其他一些你会经常用到的实用工具。
安装 pwntools: pwntools 是一个功能极其强大的Python库,是pwn手写漏洞利用脚本(exploit)的标配。
在安装pwntools前我们需要修改一下pip的默认安装源,不然会很慢,这边我们依旧选择清华大学的源。
你只需要在你的终端里运行下面这行命令,就可以把pip的默认下载源设置为清华大学的镜像源。
1 | sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple |
1 | sudo pip install pwntools |
顺便提一下,pwntools依赖一些系统库。如果你在安装过程中,看到一些关于 gcc 或者 python-dev 的报错,那可能是缺少了必要的编译工具和开发库。
如果你用的是Ubuntu或者Debian系的Linux,可以先运行下面的命令安装好这些依赖:
1 | sudo apt-get update |
然后再去执行pip install pwntools就没问题了。
安装 pwndbg: pwndbg 是GDB的一个插件,它能极大地增强GDB的功能,让我们在调试时可以清晰地看到栈、寄存器、反汇编等信息,是pwn手的眼睛。在执行下面的命令前确保github可以连接,不过即使可以连接我也推荐大陆的同学使用GitHub镜像站来进行git clone这一步,可以去网上找一些现在可用的github镜像站,这边我用的是bgithub.xyz这个(2025.7.20可用),单纯的就是将第一条命令中的网址换一下。git clone https://bgithub.xyz/pwndbg/pwndbg
1 | git clone https://github.com/pwndbg/pwndbg |
24.04可能会遇上python版本错误不知道下啥依赖的问题,可以在下面评论,我看到会解答,
或者赞助找我亲自配。
一切都装好后,我们来检查一下:
- 在终端里输入
gdb并回车。如果你看到了彩色的界面,并且提示符变成了pwndbg>,那么恭喜你,最帅的调试器已经就位!输入q然后回车可以退出GDB。 - 在终端里输入
python3并回车,然后输入from pwn import *,如果没有报错,就说明pwntools也已经准备就绪!输入exit()回车可以退出Python。
附录:
可能需要使用的网址和文件:
VMware官网:https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion
VMware安装包(百度网盘):
windows:https://pan.baidu.com/s/183Ox9dA7KAHSgy0ol1_psA?pwd=xbj8 提取码: xbj8
mac: https://pan.baidu.com/s/1NaLQIgsAm4U1pAIAAl762g?pwd=bp7v 提取码: bp7v
linux:https://pan.baidu.com/s/1MnGuFgQYn9HlYlyfmrIitg?pwd=yecm 提取码: yecm
google网盘:
windows:https://drive.google.com/file/d/14UkIeDUSc7HGgl-Xoi0eye1PcPzu6ZyY/view?usp=sharing
mac:https://drive.google.com/file/d/1BKFgg2ra8x-yrjJzWJeDc2LVp81mL-JG/view?usp=sharing
linux:https://drive.google.com/file/d/1BKFgg2ra8x-yrjJzWJeDc2LVp81mL-JG/view?usp=sharing
系统镜像网站:







