当前位置:   article > 正文

Pwn 环境安装_pwn安装

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 中带的工具、用来在本地模拟远程环境)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

二、 虚拟机安装及配置

安装过程见:虚拟机安装

三、脚本编写工具

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

四、调试工具

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

> 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 		
  • 1
  • 2
  • 3
  • 4
  • 5

五、Rop工具

> LibcSearcher

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

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

六、其他工具

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

> 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

> ALF 安装

七、参考链接

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/71257
推荐阅读
相关标签