最近电脑重装系统(吐槽一下,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. Nacos配置中心集群原理及源码分析

    Nacos作为配置中心,必然需要保证服务节点的高可用性,那么Nacos是如何实现集群的呢? 下面这个图,表示Nacos集群的部署图. Nacos集群工作原理 Nacos作为配置中心的集群结构中,是一种 ...

  2. Redisson 加锁原理

    一.分布式加锁过程 RLock lock = redissonClient.getLock(REDISSON_DISTRIBUTE_KEY); lock.lock(); wireshark抓包可以看见 ...

  3. myisamchk 是用来做什么的?

    它用来压缩 MyISAM 表,这减少了磁盘或内存使用. MyISAM Static 和 MyISAM Dynamic 有什么区别? 在 MyISAM Static 上的所有字段有固定宽度.动态 MyI ...

  4. Mybatis 是如何进行分页的?分页插件的原理是什么?

    Mybatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内 存分页,而非物理分页.可以在 sql 内直接书写带有物理分页的参数来完成物理分 页功能,也可以使用 ...

  5. Java连接ArtemisMQ,出现Timed out waiting to receive cluster topology. Group:null异常

    完整异常内容:org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JM ...

  6. Java 语言如何进行异常处理,关键字:throws、throw、 try、catch、finally 分别如何使用?

    Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口.在 Java 中,每个异常都是一个对象,它是 Throwable 类或其子类的实例.当一个方法出现异常后便抛出一 ...

  7. Auth0案例学习(SpringMVC形式)

    官方SpringMVC示例Github:https://github.com/auth0-samples/auth0-spring-mvc-sample/tree/master/01-Login Ma ...

  8. 什么是基于 Java 的 Spring 注解配置?

    基于 Java 的配置,允许你在少量的 Java 注解的帮助下,进行你的大部分 Spring 配置而非通过 XML 文件. 以@Configuration 注解为例,它用来标记类可以当做一个 bean ...

  9. 学习Walle(一)

    一.概述 Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布.回滚,可以通过we ...

  10. 利用Matlab快速绘制栅格地图

    代码演示 % 基于栅格地图的机器人路径规划算法 % 第1节:利用Matlab快速绘制栅格地图 clc clear close all %% 构建颜色MAP图 cmap = [1 1 1; ... % ...