Ubuntu16.04搭建pwn做题环境

本文最后修改于 296 天前,部分内容可能已经过时!

前言

工欲善其事必先利其器,做pwn题一定是需要一个完美的环境的,我就是深受环境的影响,有的时候一道题的exp在我的子系统上运行根本出不来flag,但是在虚拟机上就可以出flag。
本来是打算写一下在WSL环境下搭建pwn做题环境的,后来思考了一下,其实是一样的,所以就直接写一个在ubuntu上搭建做题环境,毕竟这个适用范围更广一些。之所以选择Ubuntu16.04,是因为在这个版本下pwn环境更加稳定也更好搭建。(pwntools官方给出的最匹配的版本应该是14.04的,但是16.04也不错,而且16.04界面明显是最好看的)

更换Ubuntu系统镜像源

Ubuntu的默认源是在美国的,对于我们来说速度会很慢,所以,我们先将其换为国内镜像源,国内镜像站是有很多的,如
阿里巴巴开源镜像站(https://developer.aliyun.com/mirror/)
网易开源镜像站(http://mirrors.163.com/)
中科大开源镜像站(http://mirrors.ustc.edu.cn/)
清华开源镜像站(https://mirrors.tuna.tsinghua.edu.cn/)
这些都是一百度就一大堆的东西。这里只给出一个阿里巴巴ubuntu16.04的镜像源

①确保身份是root

②备份sources.list(不是强制性的,因为换源一般都会成功)

③换源

这里采用了vim,如果提示没有请自行安装,或者选用gedit

cd /etc/apt/
sudo vim ./sources.list

之后将里面内容全部注释或删除掉,换为以下内容(这里要注意一定要换成对应版本的镜像源):

deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main

deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

④更新源

保存完上述镜像源后,一定要更新一下源,不然数据源是不能使用的

apt-get update
apt-get upgrade

前置工具安装

换完源之后,我们就要开始准备一些前置工具了,来为我们后面插件以及工具的安装做好准备

①安装git

sudo apt install git

②安装python3以及pip3

因为python2已经被弃用,所以这里不再使用python2.7环境,当然由于ubuntu16.04内置python2.7,所以如果需要,只需把下面命令中的3去掉,即可安装python2版本的pip

sudo apt install python3 python3-pip

③pip换源

  • 临时换源
pip install 你要安装的软件 -i https://mirrors.aliyun.com/pypi/simple/
  • 永久换源
    因为pip换源需要pip版本>10所以,考虑到好多刚装好的pip版本都是8,所以首先需要先更新一波pip版本
pip install --upgrade pip
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

这里换的是阿里的源,下面附上其他pip源

清华:https://pypi.tuna.tsinghua.edu.cn/simple

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/ 

pwntools(及相关插件)安装

①pwntools安装

sudo apt-get update
sudo apt install python-dev libssl-dev libffi-dev build-essential
sudo pip3 install --upgrade pip
sudo pip3 install pwntools

安装好后,cmd进入python环境,输入

from pwn import *

如果未报错,即安装成功

②安装32位依赖库

apt install lib32ncurses5-dev
apt install lib32z1

③安装gdb

apt install gdb

④安装pwndbg

git clonehttps://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh

⑤安装peda(这里据说是可以用apt install peda直接安装的)

git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit 

一些其他的实用库插件

①ROPgadget安装

这是个经常用的工具,方便寻找gadge,在构造rop的时候会很方便

sudo pip3 install capstone
git clone https://github.com/lieanu/libc.git ~/LibcSearcher
cd ~/LibcSearcher  
git submodule update --init --recursive
sudo python3 setup.py develop

②安装one_gadget

可以用来寻找libc库中的execve('/bin/sh', NULL, NULL)

sudo apt -y install ruby
sudo gem install one_gadget

③安装qira

这是一个挺好玩的调试工具,它会把运行中的程序生成快照,这样你可以随时看各个部分的状态(目前看来在wsl中是不支持的)

cd ~/
git clone https://github.com/geohot/qira.git
cd qira/
./install.sh

④安装radare2(一个自动化动调工具,可以试试,虽然我没试过)

git clone https://github.com/radareorg/radare2
cd radare2 ; sys/install.sh

配置Arm环境

①安装qemu(做arm题是会用到qemu-arm这个命令)

apt-get install qemu
sudo apt-get install qemu-system qemu-user-static binfmt-support

②依赖库安装

sudo apt-get install -y gcc-arm-linux-gnueabi

如果此时提示有别的依赖库没有装,可以使用

sudo apt-get -f install

之后再次输入

sudo apt-get install -y gcc-arm-linux-gnueabi

即可。arm环境我还没有用过,所以可能说的不是很详细。
这样,一个基本的pwn做题环境就基本搭建完成了,在wsl子系统中的安装步骤基本一致,只是有些插件不能安装,以及arm调试环境无法配置而已

Tags:technologyPwn
上一篇
下一篇

添加新评论

召唤看板娘