Skip to content

为了简化宿主机调试kernel类题目流程手写了一些脚本板子,包含打包,解包,获取vmlinx,获取gadget已经配合tmux分屏调试qemu-system

Notifications You must be signed in to change notification settings

Loora1N/KernelPwnScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

KernelPwnScript

用于存放一些自己编写和收集的KernelPwn相关的脚本和模板

C

目前包含exp模板,以及arttnba3✌写的kernelpwn.h

Python

主要存放两个remote exp上传脚本

Shell

包含文件系统解包、打包,gdb调试,extract-vmlinux,get_gadget等等.

新增Ktmux.sh,可以使用该脚本在tmux中调试kernel,即运行qemu-systemgdb

Ktmux.sh

使用前请先再Ktmux.sh内更改调试文件路径、偏移等参数

image

  • cmd_qemu: 启动qemu的start.sh路径
  • cmd_gdb: 启动gdb_kernel.sh路径
  • vmlinux: kernel vmlinux 路径
  • symbol: 导入驱动符号表的路径
  • offset: 驱动载入偏移
  • session_name: tmux session名称,一般默认即可

注意:

  • 如不清楚sh脚本相对路径设置方式,可以直接使用绝对路径;
  • 若需要-enable-kvm参数,请直接root权限运行脚本,例sudo ./Ktmux.sh

演示视频

Ktmux.mp4

get_gadget.sh

直接将bzImage文件转换为有符号表的vmliunx,并利用ropperROPgadget保存gadget至gadget.txt

使用两个提取gadget的原因是,两个都无法完全提权全部可用gadget,只能相互补充了

使用前需保证已安装如下工具:

  • vmlinux-to-elf
  • ROPgadget
  • ropper

usage

./get_gadget <bzImage> <output-vmlinux>

About

为了简化宿主机调试kernel类题目流程手写了一些脚本板子,包含打包,解包,获取vmlinx,获取gadget已经配合tmux分屏调试qemu-system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published