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 [文件名]

相关推荐
HelloTonyGo2 小时前
个人游戏笔记本免费“养龙虾”(Win10+WSL2+OpenClaw 部署与配置指南)
windows·ubuntu·wsl2·openclaw
小飞菜涅4 小时前
fast-lio2复现
嵌入式硬件·学习·ubuntu
三七吃山漆6 小时前
[红明谷CTF 2021]write_shell
php·ctf·[红明谷ctf 2021]
ken22328 小时前
ubuntu 云镜像 2604 的内存和磁盘占用 实测
linux·运维·ubuntu
守护安静星空11 小时前
ubuntu vscode 调试 at32f435vmt7
linux·vscode·ubuntu
集智飞行11 小时前
禁用Ubuntu网卡的电源管理(Power Management)
linux·运维·ubuntu
MIXLLRED11 小时前
创建 GitHub 私人仓库并上传本地项目的完整步骤
ubuntu·github
雪碧聊技术12 小时前
前端项目部署到服务器
服务器·nginx·ubuntu·前端项目部署
小飞菜涅12 小时前
FAST-LIVO2相机内参标定
linux·嵌入式硬件·ubuntu·相机
Y5neKO1 天前
某国赛CTF密码学题目Writeup:RSA
密码学·ctf·rsa