做CTF的 pwn 题很多时候本地和远程一致会方便很多
不可避免的会有很多个不同版本的Ubuntu虚拟机
每次安装都要查各种包 很麻烦
所以这里做一个备忘
系统升级
先换源
一开始装好虚拟机没有vmware-tools 剪切板无法共享
所以得手动输入命令
目前最简短的办法是
wget https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
然后在index.html中找
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <script id="apt-template" type="x-tmpl-markup"> # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}} main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}} main restricted universe multiverse deb https:{{release_name}}-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}}-updates main restricted universe multiverse deb https:{{release_name}}-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}}-backports main restricted universe multiverse deb https:{{release_name}}-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}}-security main restricted universe multiverse
# 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}}-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ {{release_name}}-proposed main restricted universe multiverse </script>
|
复制粘贴到/etc/apt/sources.list
然后用vim :%s/{{release_name}}/xxx/g
替换掉即可
sudo apt update && sudo apt upgrade -y
sudo apt install open-vm-tools-desktop
reboot
更换语言为中文(随意)
手动在设置里面换
然后重启
pwn环境
下载glibc
源码
sudo apt install glibc-source
这个是tar.xz
文件 手动在/usr/src/glibc
里面解压
cd /usr/src/glibc
sudo tar xvJf glibc-x.xx.tar.xz
下载glibc debug symbol
一般自带了x64的libc-dbg
sudo apt install libc6-dbg
虽然32位的题目少 还是备着比较好
sudo apt install libc6:i386
sudo apt install libc6-dbg:i386
安装GDB
一般自带gdb
sudo apt install gdb
然后装pwndbg
和gef
一般用户态用pwndbg
调kernel
用gef
(在这里感谢吴炜师兄避免神坑)
按照pwndbg
官网
1 2 3 4
| sudo apt install git git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh
|
由于git clone
的速度感人 可以选择性挂梯子
按照gef
官网
1 2
| wget -O ~/.gdbinit-gef.py -q https://github.com/hugsy/gef/raw/master/gef.py echo source ~/.gdbinit-gef.py >> ~/.gdbinit
|
注意~/.gdbinit
只用留一个就可以了 看情况用哪个
基本也就这样了 后面就是ipython
、公钥之类杂七杂八的了
看自己喜好吧