Pwn环境配置(三)——ubuntu环境搭建
目录
PWN
何为pwn,相信能点进来看这篇文章的你或多或少都应该有所了解。百度百科解释,”Pwn”是一个黑客语法的俚语词 ,是指攻破设备或者系统 。发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵了。
话不多说下面我们来看看如何搭建一下打pwn的环境。
温馨提示:有时,命令一次不行就多试几次,虽然我也不知道原理,但是我安装东西的时候,就经常如此,第一次不行,第N次就可以了。
python2安装
大部分官网的ubuntn16.04是自带python2.7的,可以用
python -V
查看一下, 如果出现下图所示,则代表已经按照无需再安装。
如果没有安装,可以采用下面步骤安装:
//下载Python2包,最新的版本为2.7.18。至少现在是。
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz
//解压缩
tar -xvf Python-2.7.18.tgz
cd Python-2.7.18
//安装:
./configure
make
sudo make install
安装setuptools
//下载源文件压缩包
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
//解压
tar -xvf setuptools-0.6c11.tar.gz
//进入目录
cd setuptools-0.6c11
//编译
python setup.py build
//安装,为了防止部分文件没有访问权限,开启超级用户权限
sudo python setup.py install
pip安装
//方法一
sudo apt-get install python-pip
//命令有时有可能不行,我用的时候第一天不行,第二天就可以了
//如果询问你,Do you want to continue?(y/n) 输入 y 即可。
//有点莫名其妙,不过这个是最简单的应该。
//不行用下面这种方法。
//方法二
//安装setuptools
cd ~ //切换到主目录
//下载
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar -xvf setuptools-0.6c11.tar.gz //解压
cd setuptools-0.6c11
python setup.py build//编译
sudo python setup.py install//安装,大部分要给超级用户权限的,不然权限不够
cd .. //切换到上一级目录,也就是主目录
//下载pip压缩包
wget https://files.pythonhosted.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
tar -zxvf pip-9.0.1.tar.gz//解压
cd pip-9.0.1
sudo python setup.py install //安装
2021.10.7补充
发现现在按照以前的安装有点问题。更新一下pip就可以了
pip install -upgrade pip==20.3.4
还有一些其他的东西
pip install -U setuptools
pip install cryptography==2.4.2
安装相关依赖
sudo apt install gcc-4.8-multilib g++-4.8-multilib //编译32位程序需要
sudo apt install python-dev //安装pwntools需要
sudo apt-get install libc6:i386 //安装32位库
安装 vim
Ubuntn默认貌似用的是老版的vi编辑器,但是我更喜欢vim编辑器,所以再这里安装一下。
sudo apt install vim
安装git
sudo apt install git
升级pip
pip install --upgrade pip
//因为有时版本低,一些插件无法安装,你也可以提示时再安装
//如果不行的话,就在前面加上sudo 试试。再不行就自己百度吧。
安装ipython
pip install ipython
//ipython是python的一个插件
//我个人感觉很好用,不是必须安装的。
//有时无法安装是,pip版本太低升级一下就好。
安装pwntools
pwntools是一个ctf框架和漏洞利用开发库,用Python开发,由rapid设计,旨在让使用者简单快速的编写exploit。安装方法:
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pwntools
//中间的 -i https://pypi.tuna.tsinghua.edu.cn/simple 是临时
//有时不行的话,在前面加上sudo可能有意想不到的收获
安装geda(和pwndbg安装一个就好)
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
安装pwndbg
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh
如果出现报错
解决方法:
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
补充 —— 安装LibcSearcher
LibcSearcher是针对pwn做的python库,在做pwn题时寻找libc版本非常好用
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
python setup.py develop
补充——安装ROPgadget
sudo pip install capstone
python -m pip install ropgadget
Ropgadget
2021.2.6 补充——安装libc-database
一个非常好用查找libc版本的git项目
#下载项目
git clone https://github.com/niklasb/libc-database.git
# 建立一个libc偏移量数据库
./get # List categories
./get ubuntu debian # Download Ubuntu's and Debian's libc, old default behavior
./get all # Download all categories. Can take a while!
使用方法
./find 函数名 函数地址
2021.2.10 补充——安装one_gadget
功能:查找已知的libc中exevce("/bin/sh")语句的地址
用法: one_gadget libc-x.xx.so
sudo apt -y install ruby
sudo gem install one_gadget
如果提示版本过低
sudo apt-get purge --auto-remove ruby #删除旧版本
sudo apt-get install ruby2.6 ruby2.6-dev
sudo gem install one_gadget
安装Seccomp-tools
sudo gem install seccomp-tools
如果失败
sudo apt install gcc ruby-dev
sudo gem install seccomp-tools