pwn(安装环境)

从安装虚拟机开始

1.先安装vmware

详细教程:

VMware下载安装教程(超详细)-CSDN博客

2.然后下载虚拟机镜像文件

进入下面这个链接下载

Get Kali | Kali LinuxHome of Kali Linux, an Advanced Penetration Testing Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.icon-default.png?t=N7T8https://www.kali.org/get-kali/#kali-installer-images

点最上面的大的那个下载图标

然后下载第一排的第一个

下载完成以后解压到一个新建的文件夹,方便使用

接下来就是创建虚拟机

默认,然后直接下一步

接着下一步

(我的虚拟机是直接打开的虚拟机,然后选择的镜像文件)

如下:

直接选择那个白色的文件,然后直接创建成功,之后打开

我打开直接就出现登录界面,默认的账号密码都是:kali,所以我直接登录

成功进入虚拟机界面

具体的一步一步安装如下:

安装kali及其配置pwn环境_kali安装pwndbg-CSDN博客

3.切换root用户

在终端命令框中输入sudo passwd root后会让你输入kali的默认密码kali,然后会提示你输入一个新的密码,在输入过程中输入的密码不会像一般的设置密码一样显示,再按照提示输入一遍就可以了,完成后可以输入su root切换成root用户了。

不过更简单的是在终端直接选择打开root用户,然后输入密码登录

4.换阿里源

为什么要换阿里源,因为原先系统自带的源地址无法访问(墙的原因),所以必须换成国内的源

具体看:

linux:ubuntu 22.04如何更换阿里源_ubuntu22.04换阿里源-CSDN博客

默认的kali linux 系统使用的kali源:Index of /kali,下载缓慢,建议修改为阿里云下载源

(1)在命令解释窗口输入:vim /etc/apt/sources.list,点击enter.

注意:vim /ect 中间有空格,不然会报错

(2)点击i ,进入编辑模式,将kali源地址前面添加#注释掉,并重新输入

deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src https://mirrors.aliyun.com/kali kali-rolling main non-free contrib

修改之后按Esc,然后直接输入:wq (保存并退出)。(先输入一个冒号,然后直接输入wq,回车)

(3)输入sudo apt-get update,使用阿里云更新文件

 

(那四个s不用管,键盘误触)

再输入sudo apt-get upgrade

这一步需要的时间有点长,耐心等待......

5.安装pwntools

1.打开终端,并使用以下命令安装依赖项:

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

2.使用pip安装pwntools
输入命令:pip install pwntools

我使用root用户安装,出现警告,百度了一下

建议最好使用普通用户进行安装

成功安装

6.安装gdb

1.首先要检查一下自己是否安装过gdb了
终端中输入gdb -v即可

我这里显示没有安装过gdb,并且下面回显给出了安装的操作命令

2.输入命令apt install gdb安装GDB软件包


安装完成以后,再执行命令:gdb -v即可查看是否成功

完成安装!

7.安装checksec(pwntools中是自带checksec的)

1.在终端执行命令:sudo apt install checksec

安装完成

8.安装pwngdb

pwn题中二进制文件几乎都是要首先在自己的机子上跑,同时你要在自己的机子上面攻击掉了这个文件你才有可能攻击掉赛方的文件。所以我们要做出pwn题的第一件事,就是获取自己的电脑控制权(bushi)。而pwn掉自己的电脑,就需要用到调试。

俗话说的好,静态调试看IDA,动态调试看pwngdb(其实动态调试也能用IDA啦),pwngdb可以帮助你在可执行文件执行的时候查看各种寄存器的值,以及函数地址和偏移量,甚至可以让你一条汇编语言一条汇编语言分析,是分析程序不可或缺的工具。

安装指令:

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

记得要在/home/kali下面的控制台执行这几条指令,除非你更改了里面的安装位置,否则安装完之后pwndbg文件夹也不要移动

执行完这几条指令后在控制台输入gdb

当看到以上画面时说明安装成功。

9.另一个安装pwntools的方法

安装完虚拟机,就可以开始pwn的工具的准备了,pwntools顾名思义,就是pwn的工具们。

pwntools是一个python的库,里面集合了各种各样有关于pwn的函数,在我们写脚本攻破文件的时候基本工具就是pwntools,而pwntools的安装方式也很简单

代码:

  1. sudo apt-get update
  2. sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential

究其原因还是因为环境变量的问题,先输入以上代码之后再进行以下操作

vim ~/.zshrc

Shift+g跳到最后

按o新加一行,并输入以下字符:

export PATH=/home/kali/.local/bin/:$PATH

 esc后:wq保存

最后输入以下代码就可以了:

source ~/.zshrc
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

安装完成后,在控制台输入python3进入python3命令模式,输入from pwn import *

如果没有报错,说明安装成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/618065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux安装配置CGAL,OpenCV和Gurobi记录

安装Qt,查看当前的Qt版本,需要至少满足v5.12 qmake -v安装CGAL,The Computational Geometry Algorithms Library (cgal.org) CGAL v5.6.1:https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1.tar.xz 确保C编译…

5款可用于LLMs的爬虫工具/方案

5款可用于LLMs的爬虫工具/方案 Crawl4AI 功能: 提取语义标记的数据块为JSON格式,提供干净的HTML和Markdown文件。 用途: 适用于RAG(检索增强生成)、微调以及AI聊天机器人的开发。 特点: 高效数据提取,支持LLM格式,多U…

改变浏览器大小,图片(img)内容居中显示img标签,不是背景图

改变浏览器大小,图片&#xff08;img&#xff09;内容居中显示&#xff0c;img标签&#xff0c;不是背景图 效果直接上图&#xff1a; 上代码&#xff1a; <!DOCTYPE html> <html> <head><title>测试图片居中显示&#xff0c;高度不变只变宽度<…

HCIP【BGP综合实验】

目录 一、实验拓扑图&#xff1a; 二、实验要求&#xff1a; 三、实验思路&#xff1a; 四、实验步骤&#xff1a; 1、进行网段的子网划分&#xff08;整个实验总共有19条网段&#xff09;&#xff1a; (1)首先&#xff0c;根据实验要求&#xff0c;将172.16.0.0/16全部划…

C语言学习(九)多文件编程 存储类型 结构体

目录 一、多文件编程&#xff08;一&#xff09;不写头文件的方方式进行多文件编程 &#xff08;二&#xff09;通过头文件方式进行多文件编程&#xff08;1&#xff09;方法&#xff08;2&#xff09;头文件守卫 &#xff08;三&#xff09; 使用多文件编程实现 - * / 功能 二…

系统设计中的泛化调用

背景 目前在学习一些中间件&#xff0c;里面看到了一个词是叫泛化调用&#xff0c; 其实这个场景在JAVA中比较常见。我们常用的有反射&#xff0c;反射就是我知道类名称、类方法和参数&#xff0c;调用一个Object的类&#xff0c;但是在HTTP或者RPC远程调用过程中&#xff0c;…

服务异步通讯MQ

同步调用存在的问题: 异步调用方案: RabbitMQ安装: 第一种:在线拉取 docker pull rabbitmq:3-management 第二种:将已有的安装包放入再用load加载 我这里放到tmp包里边 然后:cd /tmp docker load -i mq.tar 加载进去 然后运行mq容器 docker run \-e RABBITMQ_DEFAULT_USER…

【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”

看到这句话的时候证明&#xff1a;此刻你我都在努力~ 加油陌生人~ 个人主页&#xff1a; Gu Gu Study ​​ 专栏&#xff1a;一步一步了解Java 喜欢的一句话&#xff1a; 常常会回顾努力的自己&#xff0c;所以要为自己的努…

下水道井盖多分类检测定位

下水道井盖识别&#xff0c;多分类&#xff0c;使用yolov5训练&#xff0c;采用一部分开源数据集和自建数据集。python pytorch opencv 深度学习#人工智能#深度学习#目标检测

在STM32中用寄存器方式点亮流水灯

文章目录 实验资料一、对寄存器的理解1.通俗认识寄存器2.深入了解寄存器&#xff08;1&#xff09;端口配置低寄存器&#xff08;配置0到7引脚的寄存器&#xff09;&#xff08;2&#xff09;端口配置高寄存器&#xff08;配置8到15引脚&#xff09; 3.GPIO口的功能描述 二、配…

Git Bash和Git GUI设置中文的方法

0 前言 Git是一个分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。一般默认语言为英文&#xff0c;本文介绍修改Git Bash和Git GUI语言为中文的方法。 1 Git Bash设置中文方法 &#xff08;1&#xff09;鼠标右键&#xff0c;单击“Git B…

时间复杂度的简单讲解

小伙伴们大家好&#xff0c;我们又见面了&#xff0c;这次我们直接进入正题 时间复杂度的概念 时间复杂度的定义&#xff1a;在计算机科学中&#xff0c; 算法的时间复杂度是一个函数 &#xff0c;它定量描述了该算法的运行时间。一 个算法执行所耗费的时间&#xff0c;从理论…

公有云Linux模拟TCP三次挥手与四次握手(Wireshark抓包验证版)

目录 写在前面环境准备实验步骤1. 安装nc工具2. 使用nc打开一个连接2.1 公有云-安全组放行对应端口&#xff08;可选&#xff09; 3. 打开Wireshark抓包工具4. 新开终端&#xff0c;进行连接5. 查看抓包文件&#xff0c;验证TCP三次握手与四次挥手TCP三次握手数据传输TCP四次挥…

【C++杂货铺铺】AVL树

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 概念 &#x1f4c1; 节点的定义 &#x1f4c1; 插入 &#x1f4c1; 旋转 1 . 新节点插入较高左子树的左侧---左左&#xff1a;右单旋 2. 新节点插入较高右子树的右侧---右右&#xff1a;左单旋 3. 新节点插入较高左…

57 读取/写出/读取 文件的过程的调试

前言 问题来自于文章 请教文件读写问题 请教文件读写问题 - 内核源码-Chinaunix vim 编辑文件, 实际上删除了原有的文件建立了一个新的文件? Ls –ail . 查看 inode 编号不一样了 这里主要是 调试一下 这一系列流程 测试用例 就是一个程序, 读取 1.txt 两次, 两次之间间隔…

49. UE5 RPG 使用Execution Calculations处理对目标造成的最终伤害

Execution Calculations是Unreal Engine中Gameplay Effects系统的一部分&#xff0c;用于在Gameplay Effect执行期间进行自定义的计算和逻辑操作。它允许开发者根据特定的游戏需求&#xff0c;灵活地处理和修改游戏中的属性&#xff08;Attributes&#xff09;。 功能强大且灵…

国内智能搜索工具实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

C++新特性-线程

主要内容 thread、condition、mutexatomicfunction、bind使用新特性实现线程池&#xff08;支持可变参数列表&#xff09;异常协程其他 1 C11多线程thread 重点&#xff1a; join和detach的使用场景thread构造函数参数绑定c函数绑定类函数线程封装基础类互斥锁mutexconditi…

网络基础-Telnet协议

Telnet&#xff08;Telecommunication Network&#xff09;是一种基于文本的远程终端协议&#xff0c;允许用户通过网络连接到远程计算机&#xff0c;并在远程计算机上执行命令&#xff1b;它使用TCP作为传输层协议&#xff0c;并依赖于网络连接在客户端和服务器之间进行通信&a…

FPGA SDRAM读写控制器

感谢邓堪文大佬 &#xff01; SDRAM 同步动态随机存取内存&#xff08;synchronousdynamic randon-access menory&#xff0c;简称SDRAM&#xff09;是有一个同步接口的动态随机存取内存&#xff08;DRAM&#xff09;。通常DRAM是有一个异步接口的&#xff0c;这样它可以随时响…