CTF PWN 中常用的工具安装【Ubuntu 20.04】

文章目录

  • [一、查看 libc 版本](#一、查看 libc 版本)
  • [二、安装 git、vim、checksec](#二、安装 git、vim、checksec)
  • [三、安装 gdb](#三、安装 gdb)
      • [1、插件 pwndbg](#1、插件 pwndbg)
      • [2、插件 pwngdb](#2、插件 pwngdb)
  • [四、安装 pwntools](#四、安装 pwntools)
  • [五、安装 ROP_gadget](#五、安装 ROP_gadget)
  • [六、安装 One_gadget](#六、安装 One_gadget)
  • [七、安装 glibc-all-in-one](#七、安装 glibc-all-in-one)
  • [八、安装 xclibc](#八、安装 xclibc)
  • 另:pycdc

一、查看 libc 版本

bash 复制代码
$ getconf GNU_LIBC_VERSION
glibc 2.31

二、安装 git、vim、checksec

bash 复制代码
sudo apt install git
sudo apt install vim
sudo apt install checksec

三、安装 gdb

bash 复制代码
cd ~
sudo apt install gdb
gdb -v

1、插件 pwndbg

bash 复制代码
cd ~
git clone https://github.com/pwndbg/pwndbg.git
cd ~/pwndbg
./setup.sh

如果报错 "launchpadlib 1.10.13 requires testresources, which is not installed.",执行:

bash 复制代码
python3 -m pip install launchpadlib

2、插件 pwngdb

bash 复制代码
cd ~
git clone https://github.com/scwuaptx/Pwngdb.git
cp ~/Pwngdb/.gdbinit ~/
vim ~/.gdbinit
第二行插入 source ~/pwndbg/gdbinit.py

四、安装 pwntools

bash 复制代码
cd ~
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

五、安装 ROP_gadget

用于提取 gadgets

bash 复制代码
cd ~
sudo pip3 install capstone
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo python3 setup.py install

如果报错 "ResolutionError: Script 'scripts/ROPgadget' not found in metadata at '/home/shenyuxin/.local/lib/python3.8/site-packages/ROPGadget-7.3.dist-info'",执行:

bash 复制代码
sudo cp -r scripts /home/shenyuxin/.local/lib/python3.8/site-packages/ROPGadget-7.3.dist-info

使用:ROPgadget --binary [文件名] --only 'pop|ret'

六、安装 One_gadget

用于查找动态链接库里 execve('/bin/sh', NULL, NULL) 函数的地址

bash 复制代码
安装 ruby
sudo apt install -y ruby ruby-dev
安装 one_gadget
sudo gem install one_gadget

七、安装 glibc-all-in-one

bash 复制代码
cd ~
git clone https://github.com/matrix1001/glibc-all-in-one
cd glibc-all-in-one
sudo python3 update_list

下载 libc:

bash 复制代码
cd glibc-all-in-one
cat list
sudo ./download 2.23-0ubuntu3_amd64
sudo ./download 2.27-3ubuntu1_amd64

八、安装 xclibc

bash 复制代码
git clone https://github.com/ef4tless/xclibc.git
cd xclibc
sudo rm /usr/local/bin/xclibc
sudo mv ./xclibc /usr/local/bin
sudo chmod +x /usr/local/bin/xclibc

查看 libc 文件版本:

bash 复制代码
xclibc [选项] [参数]
-s [libc文件] # 查看libc文件版本
-x [-n] [文件] [libc文件] # 一键给文件配置libc文件相应版本的环境(添加-n选项可以使用修改--replace-needed的方式实现)
-c [-n] [文件] [libc大版本号] [libc小版本环境路径] # 给文件配置指定的libc环境,输入大版本号后回车,可自由选择复制libc小版本环境路径(添加-n选项可以使用修改--replace-needed的方式实现)
-e [deb包] # 解压相应的libc_deb包至glibc_all_in_one路径,通常一个版本需要解压一份本体deb和一份debug_deb包
-r [文件] # 恢复修改过的文件至初始状态
-h # 显示帮助
-v # 显示版本号

另,在线查询 libc 版本:https://libc.blukat.me/


另:pycdc

python 反编译,顺手写这了

bash 复制代码
安装 cmake
sudo apt-get install cmake
安装 pycdc
git clone https://github.com/zrax/pycdc.git
cd pycdc
cmake CMakeLists.txt
make

使用:./pycdc [文件名]

相关推荐
Auv开心18 小时前
Ubuntu 20.04 默认视频播放器(Totem)无法播放 MP4 文件,通常是因为缺少多媒体编解码器。以下是几种解决方法:
linux·ubuntu·音视频
指尖的爷20 小时前
Ubuntu 24.04 彻底关闭自动更新(桌面+服务器通用)
服务器·数据库·ubuntu
print_Hyon21 小时前
【CTF-MISC-压缩包】bkcrake通过已知明文文件攻击来破解加密的压缩包
ctf
Traveler飞21 小时前
Ubuntu20.04 VMware 黑屏无法进入桌面,Ctrl+Alt+F2 可以进入终端,最终发现是磁盘空间满了
qt·ubuntu
IOT那些事儿21 小时前
Ubuntu20.04虚拟机使用鼠标多功能按键
ubuntu·vmware·鼠标·xev
Uncertainty!!1 天前
Ubuntu 22.04 安装超好用中文输入法rime-ice(雾凇拼音)过程记录
linux·ubuntu·中文输入法
HAPPY酷2 天前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda
醉熏的石头2 天前
Ubuntu 中的编程语言(中)
linux·ubuntu·scala
bukeyiwanshui3 天前
20260622 安装配置ubuntu
linux·运维·ubuntu
AI的探索之旅3 天前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql