2024最新pwn环境配置与基础讲解

news/2024/11/20 11:41:47/文章来源:https://www.cnblogs.com/seyedog/p/18432103

从零开始配置ubuntu pwn虚拟机

参考一个比较新的环境搭建教程:
# ubuntu20.04 PWN(含x86、ARM、MIPS)环境搭建
致敬传奇大神hollk师傅

博客中的配置过程可参见B站视频:2024最新pwn环境配置与基础讲解

1.ubuntu虚拟机安装

24.04下载:
https://ubuntu.com/download/desktop/thank-you?version=24.04&architecture=amd64&lts=true
点击这个链接直接下载iso即可

之后下载好VMware并在文件->创建新的虚拟机
vmware安装教程
https://blog.csdn.net/Du_XiaoNan/article/details/136138427

选择经典->映像文件安装(找到刚才下载的iso文件)->确定名称和安装路径->最大磁盘大小写100G或者更大

等待ubuntu自动安装完毕
语言选english。其他可以参考这个教程:
https://www.sysgeek.cn/install-ubuntu-24-04-lts/

2.终端美化(这一步不重要,可以最后再做!!!)

但是对我很重要,嘻嘻
参考:https://www.hackerneo.com/blog/dev-tools/better-use-terminal-with-zsh

2.1 安装oh-my-zsh

sudo apt-get install zsh

检查shell配置:

seyedog@seyedog-VMware-Virtual-Platform:~$ cat /etc/shells 
# /etc/shells: valid login shells
/bin/sh
/usr/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/dash
/bin/zsh
/usr/bin/zsh
/usr/bin/zsh

更换默认shell:
chsh -s /bin/zsh

之后重启,打开shell提示需要为zsh写配置文件。
我们输入0,退出即可。

之后安装ohmyzsh

先装git:sudo apt install git
之后装curl:sudo snap install curl

之后执行sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"安装ohmyzsh

如果安装报错。"Error: git clone of oh-my-zsh repo failed"。则根据下面的内容修改:

https://www.jianshu.com/p/6b47198fd430

先下载云安装包:

wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh

编辑编辑install.sh

找到以下部分:

# Default settings
ZSH=${ZSH:-~/.oh-my-zsh}
REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
BRANCH=${BRANCH:-master}

REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}

替换为:

REPO=${REPO:-mirrors/oh-my-zsh}
REMOTE=${REMOTE:-https://gitee.com/${REPO}.git}

编辑后保存, 运行安装即可. (运行前先给install.sh权限)

2.2 选喜欢的主题

ohmyzsh主题保存路径:~/.oh-my-zsh/themes

下载一个推荐的主题:git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
使用 vim 编辑 .zshrc,vi ~/.zshrc键入以下内容并保存:
ZSH_THEME="powerlevel10k/powerlevel10k"
最后,执行 source ~/.zshrc 配置生效,这时会提示对主题进行配置,按照提示进行即可。

配置出错就重启zsh:exec zsh
其次有一个问题是重启zsh后无法执行ping和ifconfig。下载一下网络配件:

sudo apt install net-tools

然后自己再改改配色啥的。
我比较喜欢朴素一点的,还有就是xiong-chiamiov主题也不错。

3.基础工具安装

gcc

sudo apt install gcc

python3-pip

sudo apt install python3-pip

qemu

sudo apt-get install qemu-user qemu-system 

gdb-multiarch

sudo apt-get install gdb-multiarch

4.pwn工具安装

先给pwn创建一个文件夹。然后再创建一个tools文件夹

❯ cd ~
❯ mkdir PWN
❯ cd PWN
❯ mkdir tools
❯ cd tools
❯ ls
~/PWN/tools ❯ 

pwntools

第一行,git报错就执行下面指令取消系统代理:

git config --global --unset http.proxy 
git config --global --unset https.proxy

第三行指令,pip安装会有环境依赖相关的警告。这里把警告给删了:
sudo mv /usr/lib/python3.x/EXTERNALLY-MANAGED /usr/lib/python3.x/EXTERNALLY-MANAGED.bk
这里的x我们换成12,需要和本机python环境匹配。

防止python依赖冲突混乱,当然也可以装venv,参考:https://www.yaolong.net/article/pip-externally-managed-environment/

git clone https://github.com/Gallopsled/pwntools.git
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
#python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

验证pwntools:

pwndbg、peda、gef

cd PWN/tools 
#git clone https://github.com/longld/peda.git
#git clone https://github.com/hugsy/gef.git
git clone https://github.com/pwndbg/pwndbg.git

pwndbg安装:

cd ~/PWN/tools/pwndbg 
./setup.sh

插件依赖安装

sudo pip install keystone-engine ropper keystone-engine

gdb挂在插件:

sudo vi ~/.gdbinit

gdbinit内容:

source /home/seyedog/PWN/tools/pwndbg/gdbinit.py

之后执行gdb查看挂载是否成功:

ROPgadget

sudo pip3 install capstone
cd PWN/tools 
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo python3 setup.py install

seccomp-tools

sudo apt install gcc ruby-dev
sudo gem install seccomp-tools

patchelf

sudo apt install patchelf 

ARM软件包

具备ARM交叉编译gcc与ARM程序动态链接库

sudo apt-get install gcc-arm-linux-gnueabi
sudo apt-get install gcc-aarch64-linux-gnu

MIPS软件包

sudo apt-get install gcc-mips-linux-gnu
sudo apt-get install gcc-mipsel-linux-gnu
sudo apt-get install gcc-mips64-linux-gnuabi64
sudo apt-get install gcc-mips64el-linux-gnuabi64

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

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

相关文章

区间质数搜索——埃拉托斯特尼筛法和欧拉筛法

参考资料 【中国大学生计算机设计大赛国赛二等奖微课与教学辅助《埃拉托斯特尼筛法》】 【中国大学生计算机设计大赛《素数筛选—欧拉线性筛选法详解》】 Eratosthenes筛法-CSDN博客 【算法/数论】欧拉筛法详解:过程详述、正确性证明、复杂度证明-CSDN博客 水平有限,欢迎交流…

2024/9/25代码随想录 图论 关于ACM模式下输出的细节

1. 就只输出一行数据,输出 1 2 4 5 来说,

quixel bridge如何导入unity

bridge如何导入unity# 1.[Quixel Bridge](https://quixel.com/bridge)下载和设置 1. 下载[Quixel Bridge - Manage 3D content and export with one click](https://quixel.com/bridge) 客户端注册 安装。bridge 模型导出路径配置 和 插件下载客户端点击 Edit ->Export Set…

mini-lsm通关笔记Week2Day3

项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsmSummary在本章中,您将:实现tiered合并策略并在压缩模拟器上对其进行模拟。 将tiered合并策略纳入系统。我们在本章所讲的tiered合并和RocksDB的universal合并是一样的。我们将…

mini-lsm通关笔记Week2Day2

项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsmSummary在本章中,您将: 要将测试用例复制到启动器代码中并运行它们,实现一个simple leveled合并策略,并在合并模拟器上进行仿真。 将compaction作为后台任务启动,并在系统…

指针2)

1.& &是地址符,类型是其后面的类型加一个“*”,任何变量都可以使用&来获取地址,但不能用在常量上。 char a = 10; short b = 20; int c = 30; char*=pa pa=&alea取地址:ebp-4的地址放入eax,再将eax里的地址放入ebp-10里 &可以取任何一个变量…

nssctf(web

web 1.浏览器也能套娃 查看wp,是ssrf漏洞 介绍:SSRF漏洞产生的原因是服务端提供了能够从其他服务器应用获取数据的功能,比如从指定的URL地址获取网页内容,加载指定地址的图片、数据、下载等等。 SSRF的利用:进行内网资源的访问:url?url=http://内网的资源url利用伪协议:…

RTE 大会报名丨AI 时代新基建:云边端架构和 AI Infra ,RTE2024 技术专场第二弹!

所有 AI Infra 都在探寻规格和性能的最佳平衡,如何构建高可用的云边端协同架构?语音 AI 实现 human-like 的最后一步是什么?AI 视频的爆炸增长,给新一代编解码技术提出了什么新挑战?当大模型进化到实时多模态,又将诞生什么样的新场景和玩法?AI 加持下,空间计算和新硬件…

002-QOS基本原理

QOS基本原理QOS概述什么是QOS QoS服务模型 区分服务模型 QoS常用技术 (DiffServ模型) QoS数据处理流程 (DiffServ模型)QoS流分类和流标记QoS数据处理流程 为什么需要流分类和流标记简单流分类外部优先级 - VLAN报文 外部优先级 - MPLS报文 外部优先级 - IP报文 各外部优先级间的…

本地部署运行 Google Gemma 开源大模型

Google 开源了 Gemma 大模型,有 7B 和 2B 两个版本,7B 模型的能力已经是开源模型中的领先水平。Gemma 可以轻松的在本地部署运行,如果你的显存在 8G 以上,可以体验 7B 版本,8G 以下的话可以试试 2B 版本。 部署过程如下: 1、使用 ollama 运行 Gemma 模型 2、使用 Chatbox…

mini-lsm通关笔记Week2Overview

Week 2 Overview: Compaction and Persistence在上周,您已经实现了LSM存储引擎的所有必要结构,并且您的存储引擎已经支持读写接口。在本周中,我们将深入探讨SST文件的磁盘组织,并研究在系统中实现性能和成本效益的最佳方法。我们将花4天时间学习不同的compaction策略,从最…