# Pwn 环境部署:

# 1、背景:

​ 首先是在最开始的时候装环境此次碰壁,搞得没心思写这篇博客,其次,又因为虚拟机本身的问题,导致我对虚拟机有很强的不满,所以我最开始没有写这篇博客,但是,转念一想,为什么我必须得执着于 虚拟机呢?不是同样都是 Linux 吗,为啥我不直接采用 WSL 来部署 Pwn 环境呢?所以,这里我选择了重装了下 Pwn 环境,不过,因为我装好很大一部分之后才想起来记录博客,所以我只会把前面的内容简单记录一下,不进行二次实操了。

​ WSL 的安装我就不详细进行说明了,这个挺无脑的。

# 2、基础工具:

# <1>Vim:

​ 我想,大部分的 Ubuntu 似乎都已经装好了,不过似乎听说有的没有,不过贴一个源码过来:

1
sudo apt install vim

# <2>git:

​ 老样子,一把梭

1
sudo apt install git

# <3>GCC:

1
sudo apt install gcc

# <4>python3-pip:

1
sudo apt install python3-pip

# <5>qemu:

​ QEMU 是一套由法布里斯・贝拉 (Fabrice Bellard) 所编写的以 GPL 许可证分发源码的模拟处理器,在 GNU/Linux 平台上使用广泛,个人感觉还可以但是依旧没有卵用,照样用命令一把梭哈

1
sudo apt-get install qemu-user qemu-system

# <6>gdb-multiarch:

​ 用作 gdb 客户端进行调试,是任何架构的通用客户端

1
sudo apt-get install gdb-multiarch

# 3、Pwn 工具:

# <1>pwntools、checksec、ROP_gadget:

​ 我采用的是 python3,所以使用,这三个工具似乎直接就通过这个命令一起安装了:

1
pip3 install pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple

# <2>Pwndbg,peda,gef:

1
2
3
4
git clone https://github.com/pwndbg/pwndbg.git
//下面两个是可选的
#git clone https://github.com/longld/peda.git
#git clone https://github.com/hugsy/gef.git

​ 我在这里成功猜了个坑,不知道为啥,现在想要安装 pwndbg 的时候出现了一个很恶心的问题,就是要安装一个 Poetry 的东西,这个很恶心人,遇到了个换源才能解决的问题,没错,我魔法上网都没用的恶心人的问题。依次执行如下命令:

1
2
3
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
cd pwndbg
./setup.sh

​ 安装的速度很慢,需要耐心等待。如果只安装一个 pwndbg 的话,那么在执行完 ./setup.sh 之后就可以不用进行后续操作了。

​ 之后安装插件:

1
sudo pip install keystone-engine ropper keystone-engine

​ 在修改下面的文件:

1
sudo vim ~/.gdbinit

​ 把下面的内容粘贴进去:

1
2
3
4
5
6
## vim后在文件内输入下方横线中内容,选择三个插件其中一个,另外两个注释掉,保存退出
-------------------------------------------------------------------------
source /home/hollk/tools/pwndbg/gdbinit.py
#source /home/hollk/tools/peda/peda.py
#source /home/hollk/tools/gef-dev/gef.py
-------------------------------------------------------------------------

# <3>one_gadget:

​ 在 ctf-pwn 中大部分情况需要获得远程 shell,one_gadget 会自动查找 ELF 文件中的 execve (‘/bin/sh’, NULL, NULL),通过 exploit 实现 RCE(远程代码执行)

1
2
sudo apt install -y ruby ruby-dev
sudo gem install one_gadget

# <4>seccomp-tools:

​ 分析沙盒的工具:

1
sudo gem install seccomp-tools

# <5>LibcSearcher:

1
2
3
git clone https://github.com.cnpmjs.org/lieanu/LibcSearcher.git
cd LibcSearcher
sudo python3 setup.py install

# <6>patchelf

​ PatchELF 是一个用于修改现有 ELF 可执行文件和库的简单实用程序

1
sudo apt install patchelf

# 4、VSCode 与 WSL

​ 首先,需要下载一个 VSCode,然后下载 WSL 插件,之后,在左下角新建连接的时候,在上方中间选择用发行版连接 WSL,之后在左边资源管理器选择文件夹,选择我们的 home 文件夹下的用户文件夹即可。之后就可以在里面编辑文件以及可以打开新的终端,我们就可以结合 Windows 的方便性和 Linux 的环境进行做题了。

​ 遇到权限问题,直接采用赋予权限的方式解决,无法解决那就换文件。

# 参考文章:

★pwn 22.04 环境搭建保姆级教程★

更新于

请我喝[茶]~( ̄▽ ̄)~*

g01den 微信支付

微信支付

g01den 支付宝

支付宝

g01den 贝宝

贝宝