PWN环境搭建
本文最后更新于 43 天前,其中的信息可能已经有所发展或是发生改变。

首先推荐这篇博客,24.04Ubuntu快速搭建PWN

快速搭建pwn环境

发现自己没有快速搭建pwn环境的笔记,所以准备记录一个,刚好看见Collectcrop师傅的一篇博客,索性直接抄过来,可能会加一点个人评价,推荐直接去看collectcrop师傅的博客

安装清单

pwntools
ROPgadget
seccomp-tools
glibc-all-in-one
patchelf
pwndbg
one_gadget

都是现在很常用的工具呢

0. 安装ubuntu

不必强求VMware,wsl也是一个不错的选择。去微软商店搜索ubuntu即可

1. 更新系统

确保系统是最新的

sudo apt update && sudo apt upgrade -y

嗯,update和upgrade的更新为啥说是系统更新啊哈哈

2. 安装基本工具

常用开发工具和库

sudo apt install -y build-essential gdb python3 python3-pip git

原来python3-pip也能直接用apt安装的吗

3. 安装pwntools

pwntools是PWN环境中常用的python库,用于编写exp:

pip3 install pwntools

可能会报错说externally-managed-environment

由于 Ubuntu 24.04 使用了externally-managed-environment模式,这种模式下系统不允许直接用 pip 安装全局包。为了避免对系统 Python环境造成破坏,所以要创建一个虚拟环境来安装 Python 包。

解决办法:使用虚拟环境

  1. 安装python3-venvpython3-pip:这些工具允许你创建虚拟环境并安装pip包sudo apt install python3-venv python3-pip
  2. 创建虚拟环境:创建一个新的虚拟环境,用来安装和管理pwntoolspython3 -m venv pwnenv
  3. 激活虚拟环境:激活虚拟环境,这样你就可以在隔离的环境中安装python包了source pwnenv/bin/activate激活后,你会看到命令提示符前面会加上 (pwnenv),表示你已经进入虚拟环境。
  4. 安装pwntools:在虚拟环境中,你可以使用pip安装pwntools和其他需要的python包pip install pwntools
  5. 退出虚拟环境:使用虚拟环境后可以通过以下命令退出:deactivate

4. 安装ROPgadget

ROPgadget 是一个用于查找 ROP 链 gadget 的工具:

pip3 install ropgadget

5. 安装seccomp-tools

seccomp-tools 用于分析和利用 seccomp 过滤器:

安装 RubyRubyGems

sudo apt install -y ruby-full

使用 RubyGems 安装 seccomp-tools

sudo gem install seccomp-tools

安装完成后,可以通过以下命令验证安装成功

seccomp-tools --version

6. 安装glibc-all-in-one

glibc-all-in-one包含了不同版本的glibc,方便进行漏洞检测:

sudo git clone https://github.com/matrix1001/glibc-all-in-one.git
cd glibc-all-in-one/
sudo python3 update_list

7. 安装patchelf

git clone https://github.com/NixOS/patchelf.git
cd patchelf
./bootstrap.sh

若报错

sudo apt-get install autoconf automake libtool
./bootstrap.sh
./configure
make
make check
sudo make install

8. 安装pwndbg

pwndbg是一个为GDB提供增强功能的插件,它对调试PWN题目非常有用

装的时候记得先切到之前建立的虚拟环境。

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

可以配置镜像源加速

mkdir -p ~/.pip
echo "[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple" > ~/.pip/pip.conf

在装的时候我遇到了下载某个python库时连接不上github的情况,通常情况下这时候将对应项目直接拷贝下来然后执行项目中对应的setup.sh脚本即可,但是执行完安装脚本后还是无法执行,无奈之下翻阅项目介绍发现脚本作用只是直接将该项目作为本地库。遂使用命令行将该项目作为本地库,然后将原先安装的对应库删除掉,遂成功。

9. 安装one_gadget

one_gadget是一个用来快速查找libc中单次调用的的RCE gadget的工具:

gem install one_gadget

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇