PWN环境搭建

前言

由于以前用的kali虚拟机本身自带加上一些乱七八糟的环境,现在文件已经过大了,而且很不方便,于是我决定重新一个虚拟机,就用unbuntu20.04的环境去写

虚拟机安装

前面的安装就不详细介绍了,网上有很多类似的文章这里就不赘述了

https://zhuanlan.zhihu.com/p/520379844

vmtools安装

https://zhuanlan.zhihu.com/p/617077330

vmtools安装后还无法复制粘贴的问题

https://www.xpwin7.com/jiaocheng/37970.html

设置共享文件夹

https://blog.csdn.net/qq_43725844/article/details/104934171

环境搭建

docker搭建

https://blog.csdn.net/Tester_muller/article/details/131440306

docker换源

https://blog.csdn.net/weixin_44437060/article/details/129537175

docker-compose安装

1
2
3
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

dockerpwn项目搭建-一个基于docker的集成环境

https://github.com/skysider/pwndocker.git这个是项目原作者的github项目

我搭建的是根据这个改编的更好的环境,已经上传了dockerhub

可以使用下面命令拉取,后面是对应的配套的docker-compose服务,可以直接运行该docker-compose即可

1
docker pull cokepwn/pwndocker:v1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: '3'
services:
pwn_docker:
container_name: pwndocker
image: cokepwn/pwndocker:v1
security_opt:
- seccomp:unconfined
cap_add:
- SYS_PTRACE
volumes:
- "/mnt/hgfs/workspace/:/home/"
ports:
- "23946:23946"
tty: true
command: ["/bin/bash"]

安装基础环境

安装vim和换国内源

https://zhuanlan.zhihu.com/p/576076659

安装git和gdb

1
sudo apt-get -y install git gdb

安装pwndbg

1
2
3
git clone https://github.com/pwndbg/pwndbg  ~/GDB/pwndbg
cd ~/GDB/pwndbg
./setup.sh

python2和python3安装pwntools

Python3

在这个kali版本中。python3、python3-dev、git均默认安装。

我们安装pip和其它依赖库:

1
apt-get install python3-pip libssl-dev libffi-dev build-essential

全部安装完成后,我们可以使用下列命令,查看是否安装成功:

1
2
python3
pip3 -V
Python2

在这个kali版本中。python2、git均默认安装。

首先,我们安装python-dev:

1
apt install python-dev

然后安装pip,由于新版本的apt不再支持pip2的安装。

我们只能手动下载pip2的安装脚本,然后手动安装。

1
2
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python2 get-pip.py

然后安装相关依赖库:

1
apt-get install libssl-dev libffi-dev build-essential

安装pwntools

Python3

首先,更新pip版本,然后使用pip安装最新版pwntools:

1
2
python3 -m pip install -- pip
python3 -m pip install --upgrade pwntools
Python2

使用Python2安装pwntools,pip必须是20.3.4版本(上面的安装脚本符合要求)。

1
python2 -m pip install --upgrade pwntools

这时候,可能会报错invalid command ‘egg_info’

我们更新一下setuptools即可解决问题:

1
pip2 install --upgrade setuptools

更新后重新安装pwntools即可。

安装工具

one_gadget

1
2
3
4
5
6
7
8
9
10
# 添加仓库
sudo add-apt-repository ppa:brightbox/ruby-ng
sudo apt-get update
# 指定ruby 2.6版本
sudo apt-get install ruby2.6 ruby2.6-dev

# 贴一条删除旧版本ruby的命令
sudo apt-get purge --auto-remove ruby

sudo gem install one_gadget