赞
踩
最近在学习 gef 插件的时候发现现在有好多软件开始支持 python3 版本了,并且 python2 已经被弃用所以想开始重新安装一个基于 python3 版本的 pwn 环境,并记录以供学习。
# 系统版本 - Ubuntu 18.04 # 脚本编写 - pwntools (python 3 ) # 调试工具 - peda - gef (python3) - pwndbg # Rop 工具 - LibcSearcher (leak libc base) - one_gadget (ret2syscall 寻找 gadget) - Ropgadget (寻找 gadget, pwntools 默认安装) - ropper (寻找 gadget) # 其他工具 - seccomp-tools (沙盒检测) - ncat (nmap 中带的工具、用来在本地模拟远程环境)
安装过程见:虚拟机安装
# 1.更新 apt 源, 并安装 python3 环境和 pwntools 所需环境
apt-get update
apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
# 2. 更新 pip
python3 -m pip install --upgrade pip
# 3.安装 pwntools
python3 -m pip install --upgrade pwntools
# 可使用国内源提高 pip 下载速度
pip install pip -U # 如果安装了,就升级到最新版本
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 1. 选择 pead 安装目录
cd /path_to_pead/
# 2. 下载 pead 项目
git clone https://github.com/longld/peda.git
# 3. 配置 pead 使其生效
echo "source /path_to_pead/pead/peda.py" >> ~/.gdbinit
# 1. 选择 pwndbg 安装目录
cd /path_to_pwndbg/
# 2. 下载 pwndbg 项目
git clone https://github.com/pwndbg/pwndbg.git
# 3. 配置 pwndbg 使其生效
echo "source /path_to_pwndbg/pwndbg/gdbinit.py" >> ~/.gdbinit
# 或者也可以进入 pwndbg 目录运行初始化程序
cd pwndbg
./setup.sh
# 1. 选择 gef安装目录
cd /path_to_pead/gef
# 2. 下载 gef项目
wget -O gef.py -q https://gef.blah.cat/py
# 3. 配置 gef使其生效
echo "source /path_to_gef/gef/gef.py" >> ~/.gdbinit
编辑 gdb 配置文件 vim ~/.gdbinit
# .gdbinit 文件内容 (不用的插件注释,插件之间不兼容)
source /path_to_pead/gef/gef.py
# source /path_to_pwndbg/pwndbg/gdbinit.py
# source /path_to_pead/pead/peda.py
set disassembly-flavor intel
# 1.git 下载 LibcSearcher 项目
git clone https://github.com/lieanu/LibcSearcher.git
# 2. 进入LibSearcher 目录并进行安装
cd LibcSearcher
python setup.py develop
先安装 Ruby,Ruby < 2.4 会导致 one_gadget 无法安装,最好是通过添加仓库的方式安装
# 1.添加仓库
sudo add-apt-repository ppa:brightbox/ruby-ng
sudo apt-get update
# 2.指定安装 ruby 2.6 版本
sudo apt-get install ruby2.6 ruby2.6-dev
# 3.然后安装 one_gadget
sudo gem install one_gadget
# 附一条删除旧版本 ruby 的命令
sudo apt-get purge --auto-remove ruby
从源码安装, ropper Python Packaging 地址
# 1. 下载源码
wget -O ropper-1.11.2.tar.gz https://files.pythonhosted.org/packages/73/2e/6fea99626cb88896a5bf820f1fede9a141b8d606e0014420a22e303106ec/ropper-1.11.2.tar.gz
# 2. 解压之后进入 ropper 的目录
tar -xzvf ropper-1.11.2.tar.gz
cd ropper-1.11.2
# 3. 使用脚本安装
sudo python3 setup.py install
先安装 Ruby,再通过 gem 安装 seccomp-tools, 如果之前安装过 Ruby 可以跳过 1. 2. 步骤
# 1.添加仓库
sudo add-apt-repository ppa:brightbox/ruby-ng
sudo apt-get update
# 2.指定安装 ruby 2.6 版本
sudo apt-get install ruby2.6 ruby2.6-dev
# 3.然后安装 seccomp-tools
sudo gem install seccomp-tools
ncat 安装方式:sudo apt install nmap
使用方法:ncat -vc "./想要运行的程序" -kl 端口号
sudo dpkg --add-architecture i386
sudo apt install gawk
sudo apt install libc6-dbg libc6-dbg:i386
sudo apt-get install links:i386
sudo apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install libssl-dev libffi-dev build-essential
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。