liunx下pwn环境搭建

0. 环境准备

Ubuntu 20.04 

x86_64

python3.8.*

gdb 9.2

1. 安装列表

pwntools:python的CTF框架和漏洞利用开发库

checksec:可以查看二进制文件开启了哪些保护机制

ropgadget:寻找合适的 gadgets,在编写ROP exp 的时候有很大作用

pwndbg:gdb的插件,在ctf中pwn题目中使用非常方便,依赖python

tmux:是一个终端复用器,结合gdb使用,可以方便调试python脚本

Ghidra:开源的软件逆向工具

2. 开始安装

1)安装pwntools:

直接使用pip安装:

pip install pwntools

注意:如果设备上同时存在python2和python3注意区别,这里要下载的是python3的

2)安装checksec、ropgadget:

安装好pwntools应该已经装好这两个工具了,可以直接输入checksec、ROPgadget命令试一下:

如果没有,可以尝试使用pip install直接安装:

pip install checksec

pip install ropgadget

3)安装pwndbg:

github链接:https://github.com/pwndbg/pwndbg

直接下载最新版本,参考reademe的操作进行安装:

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh

安装需要依赖python环境,如果apt-get install命令执行有报错可以尝试手动复制脚本的代码执行一下,可能存在安装的组件名字不一致导致命令执行失败的情况,这种情况可以直接注释掉setup.sh脚本里报错的apt-get install操作,直接往后执行。

安装完成后,会有一个/root/.gdbinit生成,因为只在root目录下有,所以目前只有root用户执行gdb的时候才会加载该插件,如果想用非root用户,则可以把.gdbinit文件复制到相应用户的根目录下面,比如复制到/home/test目录,则test用户执行gdb也可以加载pwndbg插件(注意,要确保非root用户有执行.gdbinit文件中指向的python脚本的权限,如果没有权限则需要添加权限)

插件激活成功的效果如下:

liunx下pwn环境搭建_第1张图片

4)安装tmux:

直接apt安装即可:apt install tmux,结合pwntool和gdb的使用方法可以参考如下文章:

https://tianstcht.github.io/pwntools%E7%9A%84%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7/

5)安装Ghidra:

github链接:https://github.com/NationalSecurityAgency/ghidra

参考readme安装即可,提供了两种安装方式,一种是直接安装编好的二进制,另一种是源码编译。

源码编译可参考如下说明:https://github.com/NationalSecurityAgency/ghidra/blob/master/DevGuide.md

Ghidra是java编写的,需要安装JDK,linux平台JDK安装可以参考如下:

https://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html

windows平台安装JDK直接下载msi文件即可

 

 

 

你可能感兴趣的:(CTF,pwn)