最近电脑重装系统(吐槽一下,win11真的一言难尽),顺便在虚拟机装了最新版本的KaliLinux,顺带着搭建一下PWN环境。总的来说这次搭建PWN环境问题不大,按照之前安装的步骤,整个过程还算是比较“顺利的”(第一次搭建PWN环境差点没被气死,没办法,菜啊)

第一步

在主目录下创建一个tools目录,用来存放下载下来的文件,命令如下

mkdir tools

第二步

安装pwntools
1.进入tools文件夹里面,命令如下:

cd tools


2.把pwntools git 下来,命令如下:

git clone https://github.com/Gallopsled/pwntools.git


3.安装所需环境,命令如下:

sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential

4.更新一下 pip ,命令如下:

python3 -m pip install --upgrade pip


5.使用pip安装并更新pwntools,命令如下:

python3 -m pip install --upgrade pwntools


到这里环境就可以算是搭建好了,接下来是搭建gdb调试环境,
1.安装gdb-multiarch,用作gdb客户端进行调试,是任何架构的通用客户端,命令如下:

sudo apt-get install gdb-multiarch

检查安装成功的命令如下:

gdb -v


2.安装插件,方便使用
pwndbg是一个GDB插件,使GDB的调试不那么糟糕,方便新手使用,安装过程如下:
先将pwndbg git下来,命令如下

git clone https://github.com/pwndbg/pwndbg.git


然后进入到文件夹里面,执行setup.sh文件,命令如下:

cd ~/tools/pwndbg
./setup.sh


检查插件是否挂载成功,在终端输入gdb,结果如下:

其他插件peda,gef安装
先git下来

git clone https://github.com/longld/peda.git

git clone https://github.com/hugsy/gef.git


安装插件依赖,命令如下:

sudo pip install keystone-engine ropper keystone-engine


在gdbinti中挂载插件:
在终端输入如下命令:

sudo vim ~/.gdbinit


按i键进行编辑,从第二行开始输入下面内容:

#source /home/kali/tools/peda/peda.py
#source /home/kali/tools/gef/gef.py


选择插件中的其中一个,其他的注释掉,按esc键并输入:wq退出即可。
以上就是PWN环境的搭建过程。因本人菜鸡一只,如果有什么不对的地方,实属正常。还请各位大佬予以指正,谢谢!

kali2021.4a搭建pwn环境的更多相关文章

  1. Ubuntu22.04搭建PWN环境

    前言 最近尝试在Ubuntu最新的版本22.04版本上搭建PWN环境,有了之前在kali上搭建的经验,总的来说问题不大.但搭建的时候还是有不少地方出错了,好在搭建的过程中不断的拍摄快照,所以整个过程还 ...

  2. PWN环境搭建

    目录 PWN环境搭建 需要的工具或系统 安装PWN工具 pwntools (CTF库.漏洞利用库) pwngdb(GDB插件) checksec(查保护) ROPGadget(二进制文件查找工具) o ...

  3. [零基础学IoT Pwn] 环境搭建

    [零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...

  4. maven实战(01)_搭建开发环境

    一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-mave ...

  5. Android学习——windows下搭建NDK_r9环境

    1. NDK(Native Development Kit) 1.1 NDK简介 Android NDK是一套允许开发人员使用本地代码(如C/C++)进行Android APP功能开发的工具,通过这个 ...

  6. 搭建windows环境下(nginx+mysql+php)开发环境

    搭建windows环境下(nginx+mysql+php)开发环境   1. 所需准备应用程序包        1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...

  7. 基于CentOS与VmwareStation10搭建hadoop环境

    基于CentOS与VmwareStation10搭建hadoop环境     目 录 1. 概述.... 1 1.1. 软件准备.... 1 1.2. 硬件准备.... 1 2. 安装与配置虚拟机.. ...

  8. Deepin Pwn环境的配置

    要学习Pwn  Pwn环境那是必不可少滴! 我是新手,我也弄了好久,这里把经验分享给大家!这里感谢I春秋的"知世"老师的脚本!虽然写的不是很完美.还得我自己动手修改!PS:http ...

  9. Flume1 初识Flume和虚拟机搭建Flume环境

    前言:       工作中需要同步日志到hdfs,以前是找运维用rsync做同步,现在一般是用flume同步数据到hdfs.以前为了工作简单看个flume的一些东西,今天下午有时间自己利用虚拟机搭建了 ...

随机推荐

  1. java代码常用知识点

    1.Assert java断言assert是jdk1.4引入的.assert这个关键字我们称之为"断言".当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionEr ...

  2. python 迭代器和生成器基础知识

    1.迭代器遵循迭代器协议:必须拥有__iter__方法和__next__方法--字符串.列表.元组.字典.集合都是可迭代的--可以被for循环的都是可迭代的 2. 迭代器有的好处是可以节省内存 3.生 ...

  3. Mapper 编写有哪几种方式?

    第一种:接口实现类继承 SqlSessionDaoSupport:使用此种方法需要编写 mapper 接口,mapper 接口实现类.mapper.xml 文件. 1.在 sqlMapConfig.x ...

  4. web.xml---配置文件概要

    web.xml分发器: case1: springMvc的分发器: 作用:将匹配上的请求交由springMvc处理,路径会继续到达springMvc的处理器映射器 <servlet> &l ...

  5. 重载(Overload)和重写(Override)的区别。重载的 方法能否根据返回类型进行区分?

    方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性.重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则视 ...

  6. SpringDataJdbc整合MyBatis方式

    由于官方文档springdatajdbc整合mybatis过于简述,导致死磕了一段时间, SpringDataJdbc整合Mybatis的官方文档:https://docs.spring.io/spr ...

  7. 面试问题之C++语言:说一说C++中四种cast转换

    C++中四种类型转换是:static_cast.dynamic_cast.const_cast.reinterpret_cast 1.const_cast 常量转换,用于将const变量转为非cons ...

  8. kafka-linux-install

    linux按照kafka 必须先按照java jdk包!!!!!!!!!!!! 先安装zookeeper 下载:http://mirrors.hust.edu.cn/apache/zookeeper/ ...

  9. Effective Java —— 多字段下考虑使用建造者模式构建实例

    本文参考 本篇文章参考自<Effective Java>第三版第二条"Consider a builder when faced with many constructor pa ...

  10. Python - numpy.clip()函数

    np.clip( a, a_min, a_max, out=None): 部分参数解释: 该函数的作用是将数组a中的所有数限定到范围a_min和a_max中.a:输入矩阵:a_min:被限定的最小值, ...