Ubuntu_Server搭建pwn环境.md
本文最后更新于:2025年12月22日 下午
整点烂活()
0.整了什么活
起因是因为在软件安全原理课上小组讨论的时候小组里大佬说了一个Server作为pwn环境的思路,于是决定也搭建一个。
这篇博客安装的是Ubuntu Server,没有图形界面,所以不建议新手安装,更适合那些老pwn手参考。如果是刚接触pwn的大一萌新那还是算了吧()。对于高年级本科生或者是研究生想接触pwn的可以尝试我的方法,但是也建议和其他环境搭建博客一同配合食用。
我还在一点点的安装这些软件,目前文章还没有更新完。
1.Server安装
下载Ubuntu Server 24.04镜像。正常在VMware里安装即可
注意我在下面几个选项的选择:
- SSH那里一定要安装
- 网络配置那里选择默认的DHCP即可
- 安装的时候可以选择最小化安装,但是我还是选择标准模式
基本就这些。之后会提醒你重启,重启后你会发现ubuntu server是自带tmux的,非常香。
之后可以用apt安装一个net-tools,名字我也记不清了,主要是用一下ifconfig,没安装的话执行一下ifconfig就有提示了。抄一下ip然后去mobaXterm远程链接上。这样可以解决文件传输的问题。
mobaXterm 可以再安装,这里不再赘述。注意MobaXterm的ctrl+c不是复制,选中就是复制了。粘贴可以去setting-Keyboard shortcuts里修改为ctrl+v。也可以右键粘贴。
2.终端与vscode配置
tmux 安装
因为以后都是通过终端和linux打交道了所以一定要把终端做的漂漂亮亮的()
参考了博客:Linux 终端美化
tmux 鼠标支持
tmux需要分屏,如果没有鼠标会很麻烦。
1 | |
安装之后就有鼠标支持了。
zsh 安装
zsh与oh-my-zsh的安装
改完之后记得在tmux配置文件里修改默认终端
1 | |
终端启动选项
可以在/home/$user下($user是你的用户名)的.bashrc文件(如果你装了zsh则是.zshrc)尾处追加命令,让你的终端启动的时候默认执行一些命令(如默认启动后面的pwn虚拟环境,开启tmux)
VScode ssh链接
这里要安装一个ssh扩展,很简单,去ifconfig看一下虚拟机ip就行了。
VScode链接服务器一直卡在下载vscode服务器/scp上传服务器,无法连接成功
这个可以解决vscode无法连接上远程服务器的问题。
3.虚拟环境
1 | |
提示说需要apt安装 python3.12-venv ,安装就行了。
1 | |
执行该命令即可进入虚拟环境,想退出时执行deactivate就行了。
4.pwn全家桶
pwntools
1 | |
注意先给pip换源(我换的清华源),apt也换一下记得。
gdb/pwndbg
ubuntu server居然没有gdb,需要自己apt装一个。
1 | |
ROPgadget
1 | |
one_gadget
1 | |
seccomp-tools
需要安装给ruby-dev依赖
这里顺便给gem换了一下清华源
1 | |
patchelf
1 | |
glibc-all-in-one
1 | |
QEMU
1 | |
ARM交叉编译工具链
arm-linux-gnueabihf-gcc
1 | |
执行命令:arm-linux-gnueabihf-xxx,如arm-linux-gnueabihf-gcc
还有aarch64的工具
1 | |
执行命令同上aarch64-linux-gnu-xxx
gdb-multiarch
1 | |
ARM架构使用ROPgadget
高版本的capstone更改了一些全局变亮,出现了一些报错:
1 | |
对策是回退capstone版本,我回退到了5.0.1,即ROPgadget支持的最低版本。
docker
1 | |