最近电脑重装系统(吐槽一下,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. Vue 项目中常遇到的问题

    刷新页面,传的参数类型变了 问题描述 vue-router通过query传参,比如:?fromWork=true&extraType=1,传过去的fromWork是boolean型,extra ...

  2. 简述synchronized和java.util.concurrent.locks.Lock的异同 ?

    主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能.synchronized会自动释放锁,而Lock一定要 ...

  3. elasticsearch 了解多少,说说你们公司 es 的集群架构,索 引数据大小,分片有多少,以及一些调优手段 ?

    面试官:想了解应聘者之前公司接触的 ES 使用场景.规模,有没有做过比较大 规模的索引设计.规划.调优. 解答: 如实结合自己的实践场景回答即可. 比如:ES 集群架构 13 个节点,索引根据通道不同 ...

  4. 去掉一个Vector集合中重复的元素?

    Vector newVector = new Vector();For (int i=0;i<vector.size();i++){Object obj = vector.get(i);     ...

  5. js常用方法集合

    1.数组去重 // 思路:获取没重复的最右一值放入新数组 /* * 推荐的方法 * * 方法的实现代码相当酷炫, * 实现思路:获取没重复的最右一值放入新数组. * (检测到有重复值时终止当前循环同时 ...

  6. git-learningmeiy

    什么是版本控制-版本迭代: 版本控制(Revision control)是一种在开发的过程中用于管理我们对文件.目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术. ...

  7. park和unpark

    1 介绍 LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语.LockSupport提供的两个主要方法就是park和unpark. park译为&quo ...

  8. memcacuery cache 相比,有什么优缺点?

    把 memcached 引入应用中,还是需要不少工作量的.MySQL 有个使用方便的 query cache,可以自动地缓存 SQL 查询的结果,被缓存的 SQL 查询可以被反复 地快速执行.Memc ...

  9. 学习Cobbler(一)

    一. http://cobbler.github.io/ Cobbler is a Linux installation server that allows for rapid setup of n ...

  10. 学习MFS(六)

    一.文件系统选型 在一般的生产环境中,NFS共享存储算是比较常用的,简单.方便,但随着业务的不断扩展,数据量也是承爆发式的增长,因而对存储这些数据的文件系统要求也越来越高了,分存式.可扩展.大容量,这 ...