Pwn 环境安装

  最近在学习 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 中带的工具、用来在本地模拟远程环境)

二、 虚拟机安装及配置

安装过程见:虚拟机安装

三、脚本编写工具

> pwntools

# 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

四、调试工具

> pead

# 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

> pwndbg

# 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

> gef

# 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 配置文件设置

编辑 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 		

五、Rop工具

> LibcSearcher

# 1.git 下载 LibcSearcher 项目
  git clone https://github.com/lieanu/LibcSearcher.git
# 2. 进入LibSearcher 目录并进行安装
  cd LibcSearcher
  python setup.py develop

> one_gadget

先安装 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

从源码安装, 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

六、其他工具

> seccomp-tools 安装

先安装 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

> nacat

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

> ALF 安装

七、参考链接

🔗pwntools github项目
🔗gef github 项目
🔗pwndbg github 项目
🔗peda github 项目
🔗Libcsearch github 项目
🔗onegadget github 项目

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值