从零开始搭建Ubuntu CTF-pwn环境

下面就将介绍如何从零搭建一个CTF-pwn环境(由于学习仍在进行,故一些环境如远程执行环境还没有搭建的经历,如今后需要搭建,会在最后进行补充)

可以在ubuntu官方网站上下载最新的长期支持版本:(我下载的是22.04版本)

https://cn.ubuntu.com/download/desktop

下载完成以后把它放在虚拟机工作的文件夹中

然后选择vmware上方工具栏的文件->新建虚拟机,打开新建虚拟机向导。如下:

选择自定义安装,点击下一步。

硬件兼容性不需要改,一般默认选择最新的vmware版本兼容,你的vmware是什么版本就用什么版本,不用修改,直接点击下一步。

选择安装程序光盘映像文件,点击浏览,选择你刚才下载的映像文件,然后点击下一步。

输入全名(这个随便输,想输什么都行),以及你登录虚拟机的用户名和密码。之后点击下一步。

输入虚拟机的名字,将位置浏览设置为你的虚拟机工作目录。

处理器数量选择。如果你的电脑配置很好而且虚拟机也需要一定的计算需要,可以设置多一些,内核数量不变,修改处理器数量。但是总数不能超过你电脑主机的内核数量。

内存大小设置。同样看主机的配置。最好不要超过主机的内存大小,否则虚拟机可能会变慢。对于pwn做题来说4GB一般就足够了。

网络选择。这个网络的选择可以在虚拟机创建之后随时修改,这里简单介绍一下最常用的前两种:桥接网络和NAT。桥接网络如上面所说,直接访问外部以太网,前提是虚拟机要有自己的IP地址,因此桥接网络在使用的时候大多都是勾选“与主机共用IP地址”这个选项(这个选项在创建虚拟机到这一步的时候没有显示,但是可以在上方工具栏虚拟机->设置中找到并勾选,后面再说)。某些学校的校园网可能有接入设备数量限制(笔者学校就是),这个时候虚拟机选择桥接网络可能无法联网,可以考虑使用NAT模式,在这个模式下,主机相当于一个网关,而虚拟机为网关下的机器,与外部以太网连接需要借助主机。这种模式可以有效克服上面说的校园网接入数量限制问题。
因此这里选择默认NAT,最好能够保证开机之后立刻联网呃,因为需要下载一些包,安装完成之后也能改。以默认NAT进行下一步。

IO控制器类型,不用改直接下一步。

磁盘类型也不用改,直接下一步。

磁盘类型不用改,下一步。

磁盘空间设置这里,除了最大磁盘大小之外其他都不要改。为了避免出现磁盘空间不足的问题,笔者这里设置为200GB。这个大小根据自己的物理磁盘空间决定,但是不要太小,建议pwner们不要小于60GB,后面做kernel pwn搭建环境可能很占空间的。

磁盘文件,不用改直接下一步。

上面是最后确认的界面,确定好虚拟机的配置后,点击完成就可以开始创建虚拟机了。

虚拟机日常维护注意事项

在最新的VMware中对虚拟机有一个保护选项,可以在指定时间间隔内保存一个快照,这样在虚拟机崩溃的时候能够快速回档到前两天的快照中,有效减少文件等的损失,而不必每次都手动保存快照。

如上图所示,在虚拟机设置->选项中可以找到自动保护选项,根据你设置的保护间隔和最大自动保护快照数量可以计算出至少需要的磁盘空间,因此需要保证有足够的磁盘空间。

另外,当虚拟机存在快照时,是不能扩充磁盘容量的,因此要想扩充虚拟机的虚拟磁盘,要么在创建虚拟机时就分配足够大小的磁盘空间,要么就只能删除所有的快照后再进行扩充(建议前者,因为有的快照删除特别慢,如果快照多的话可能要等很长时间)

登录进来了,安装完毕

2.以root的身份进入终端

1.ubuntu里面将普通用户切换成超级用户:sudo -i

然后直接输入你虚拟机的密码,就可以使用root的身份了

(执行完sudo -i后你输入的东西不显示,不用管,直接输入然后回车就可以了)

Ubuntu 实现 root身份登录_ubuntu以root身份登录-CSDN博客

3. 安装vim

直接 apt install vim 即可(需要使用管理员的用户进行操作)

成功了

因为这里我不知道如何在UBuntu里面打开终端,所以百度了一下

一:直接右键,然后选择打开终端

二:使用快捷键:ctrl+alt+T

三:在搜索框输入“终端”或者“zhong”,可以看到终端,点击可以打开。

具体看:Ubuntu常用技巧:Ubuntu打开终端的3种方式_ubuntu系统终端怎么打开-CSDN博客

 

4. 修改软件源

ubuntu自带的软件源是国外的,速度慢有的时候还连不上,于是应修改为国内的镜像。

最下面的两个黄色的那两行代码是我自己贴进去的新源

换源的方法:

sudo vim /etc/apt/sources.list

贴进去自己要用的源

 先更新安装包的缓存  sudo apt update

 更新下安装的包  sudo apt upgrade

源码链接:Ubuntu 20.04 国内源_ubuntu 20.04 官方源-CSDN博客

换源之后直接输入冒号,然后输入wq,回车即可保存成功

修改完文件之后记得apt updateapt upgrade进行更新。

5. 安装sublime-text(非必要,我没有安装)

使用系统自带的gedit没有补全功能,可以在ubuntu应用商店里面搜索sublime-text安装,打开py文件的时候右键选中“Open with other application”就可以使用sublime-text打开了。

6. 安装pwntools

pwntools是pwn最常用的一个python包。
首先需要安装pip:apt install python3-pip
然后安装pwntools:pip install pwntools

7. 安装pwndbg

pwndbg是gdb的插件,帮助我们在做题时进行调试。
首先安装git:apt install git
然后拉取git库:git clone https://github.com/pwndbg/pwndbg
进入pwndbg目录运行bash脚本setup.sh即开始安装

运行gdb下有pwndbg标识即表示安装成功。

......

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

指针系列三

文章目录 1.字符指针:2.数组指针:3.二维数组传参的本质4.函数指针变量typedef 关键字 5.函数指针数组6.转移表 1.字符指针: 字符指针,也称为字符串指针,是指向内存中的字符或字符串的指针。 在C语言中,字符…

【树莓派4B】如何用树莓派的串口发送数据给单片机

文章目录 查看路由器中的树莓派IProot连接打开vnc远程桌面服务打开win的远程桌面软件输入IP和端口串口发送数据硬件连接树莓派发送 查看路由器中的树莓派IP root连接 打开vnc远程桌面服务 vncserver :1打开win的远程桌面软件 输入IP和端口 192.168.3.33:1输入密码qwer1234后点…

【找子序列“happy”,可不连续型,双指针】

不是每段相遇都有个美好的结局,阿米娅。有很多故事戛然而止,有很多故事让人辗转反侧,另一些......最后只能变成一声长长的叹息。在没有尽头的荒原上,人们相逢,然后走散,但在错身而过的那个瞬间......没有人…

嫁接打印的技术要点

所谓嫁接打印,是一种增减材混合制造的方式。它将已成形的模具零件当作基座,在此基础上“生长”出打印的零件。其中基座通常采用传统加工方式制造,而打印部分则使用专用的金属粉末,通过 3D 打印技术成型。 嫁接打印之所以备受欢迎&…

Docker + Django跨域解决方案

什么是Django Django 是一个开源的高级 Python Web 框架,它鼓励快速开发并遵循可重用和可维护的实践。Django 是在 MTV(模型-模板-视图)模式的基础上设计的,这个模式类似于但不同于 MVC(模型-视图-控制器)模…

centos安装mysql-client

直接安装: yum install mysql-community-client报了错误No package mysql-community-client available. 原因:CentOS/RHEL系统默认的软件源中并不包含MySQL软件包,需要通过添加第三方存储库来获取MySQL相关软件 添加源 安装MySQL官方的Yum…

去除夸克-百度云右键菜单上传

去除夸克-百度云右键菜单上传 Windows Registry Editor Version 5.00 [-HKEY_CLASSES_ROOT\*\shell\QuarkCloudDrive.upload] [-HKEY_CLASSES_ROOT\Directory\shell\QuarkCloudDrive.backup] [-HKEY_CLASSES_ROOT\Directory\shell\QuarkCloudDrive.upload] [-HKEY_CLASSES_RO…

已解决java.lang.InstantiationError: 实例化错误的正确解决方法,亲测有效!!!

已解决java.lang.InstantiationError: 实例化错误的正确解决方法,亲测有效!!! 目录 问题分析 报错原因 解决思路 解决方法 重新编译所有依赖代码 统一库或模块版本 多模块项目的同步更新 总结 问题分析 java.lang.Insta…

springcloudalibaba版本发布说明

版本发布说明 | https://sca.aliyun.com 2.2.x 分支 适配 Spring Boot 为 2.4,Spring Cloud Hoxton 版本及以下的 Spring Cloud Alibaba 版本按从新到旧排列如下表(最新版本用*标记): Spring Cloud Alibaba VersionSpring Cloud…

Nmap基础命令

Nmap&#xff08;Network Mapper&#xff09;是一款开源的网络发现和安全审计工具&#xff0c;用于发现网络上的主机和设备&#xff0c;并确定这些主机上开放的端口和运行的服务。以下是Nmap的一些常用用法和参数&#xff1a; 扫描单个主机或IP地址&#xff1a; nmap <targe…

使用FFmpeg处理RTSP视频流并搭建RTMP服务器实现图片转直播全流程

目录 一、FFmpeg安装与配置教程二、搭建并配置Nginx RTMP服务器三、从RTSP视频流提取帧并保存为图片四、将图片序列转换为视频五、将视频推送为直播流六、将图片序列推送为直播流 在实时音视频领域&#xff0c;我们经常需要处理从各种源&#xff08;如摄像头&#xff09;获取的…

Yolov8目标检测——在Android上部署Yolov8 tflite模型

1. 简介 YOLOv8 是一种用于目标检测的深度学习模型&#xff0c;它是 YOLO&#xff08;You Only Look Once&#xff09;系列的最新版本之一。YOLO 系列因其高效和准确性而在计算机视觉领域非常受欢迎&#xff0c;特别是在需要实时目标检测的应用中&#xff0c;如视频监控、自动…

Jmeter中线程组介绍

1.线程数的意义 Jmeter采用了线程来模拟用户&#xff0c;即1个线程代表1个用户&#xff0c;线程可以简单理解为计算机处理任务时的一个具体执行人。 一个任务可以由多个人&#xff08;线程&#xff09;共同完成&#xff0c;也可以由一个人&#xff08;线程&#xff09;来完成&a…

Fastapi+docker+tortoise-orm+celery

因为项目是后期引入celery,所以导致构建docker的时候只有fastapi的项目&#xff0c;celery的重启比较麻烦 1.docker安装celery pip install celery安装celery的时候注意python版本与celery版本的适配&#xff0c;有些celery的版本不支持python的版本&#xff0c;具体的版本请看…

Ubuntu-22.04使用systemd.mount挂载本地磁盘

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、systemd.mount是什么&#xff1f;二、使用步骤1.增加mount文件2.测试mount文件 三、补充说明总结 前言 挂载磁盘方式我们都知道很多人喜欢在/etc/fstab里面…

网络基础-ICMP协议

ICMP&#xff08;Internet Control Message Protocol&#xff0c; Internet控制消息协议&#xff09; ICMP协议是IP协议的辅助协议&#xff0c;用于在IP网络上发送控制消息&#xff0c;它通常被用于诊断网络故障、执行网络管理任务以及提供一些错误报告&#xff1b;对于收集各…

微信原生小程序封装网络请求wx.request

安装 npm install mina-request构建 安装完成后需要在微信开发中工具中进行 npm 构建&#xff0c; 点击 工具 > 构建 npm 新建 http.js 文件 import WxRequest from mina-request // 对 WxRequest 进行实例化 const instance new WxRequest({baseUrl: 你的请求根路径,tim…

深入理解线程的两阶段终止模式:确保线程安全退出

序言 在多线程编程中&#xff0c;线程的安全退出是一个重要的问题。在实际应用中&#xff0c;我们经常需要确保线程在退出时能够完成必要的清理工作&#xff0c;同时避免因资源泄漏或状态不一致而导致的问题。线程的两阶段终止模式是一种解决这个问题的有效方法。本文将深入探…

React - sass配置

1. idea下载Easy Sass插件&#xff1a; 2. 启用后&#xff0c;我们写的scss文件不能直引用&#xff0c;所以还要下载sass依赖&#xff1a; (推荐使用.scss&#xff0c;因为与原生.css写法接近&#xff0c;.sass格式更严格) // 下载sass依赖 npm install sass sass-loader --s…

目标检测算法YOLOv7简介

YOLOv7由Chien-Yao Wang等人于2022年提出&#xff0c;论文名为&#xff1a;《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》&#xff0c;论文见&#xff1a;https://arxiv.org/pdf/2207.02696 &#xff0c;项目网页&#xff…