# 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 | git clone https://github.com/pwndbg/pwndbg.git |
我在这里成功猜了个坑,不知道为啥,现在想要安装 pwndbg 的时候出现了一个很恶心的问题,就是要安装一个 Poetry 的东西,这个很恶心人,遇到了个换源才能解决的问题,没错,我魔法上网都没用的恶心人的问题。依次执行如下命令:
1 | pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple |
安装的速度很慢,需要耐心等待。如果只安装一个 pwndbg 的话,那么在执行完 ./setup.sh 之后就可以不用进行后续操作了。
之后安装插件:
1 | sudo pip install keystone-engine ropper keystone-engine |
在修改下面的文件:
1 | sudo vim ~/.gdbinit |
把下面的内容粘贴进去:
1 | ## vim后在文件内输入下方横线中内容,选择三个插件其中一个,另外两个注释掉,保存退出 |
# <3>one_gadget:
在 ctf-pwn 中大部分情况需要获得远程 shell,one_gadget 会自动查找 ELF 文件中的 execve (‘/bin/sh’, NULL, NULL),通过 exploit 实现 RCE(远程代码执行)
1 | sudo apt install -y ruby ruby-dev |
# <4>seccomp-tools:
分析沙盒的工具:
1 | sudo gem install seccomp-tools |
# <5>LibcSearcher:
1 | git clone https://github.com.cnpmjs.org/lieanu/LibcSearcher.git |
# <6>patchelf
PatchELF 是一个用于修改现有 ELF 可执行文件和库的简单实用程序
1 | sudo apt install patchelf |
# 4、VSCode 与 WSL
首先,需要下载一个 VSCode,然后下载 WSL 插件,之后,在左下角新建连接的时候,在上方中间选择用发行版连接 WSL,之后在左边资源管理器选择文件夹,选择我们的 home 文件夹下的用户文件夹即可。之后就可以在里面编辑文件以及可以打开新的终端,我们就可以结合 Windows 的方便性和 Linux 的环境进行做题了。
遇到权限问题,直接采用赋予权限的方式解决,无法解决那就换文件。
# 参考文章:
★pwn 22.04 环境搭建保姆级教程★