0x1 原理
kdb模式下是可以随意修改内存的,一旦在非root账户下被触发进入,可以通过mm命令修改登陆shell的uid为0,从而获取root权限
0x2 非root权限账户自动登录
inittab中添加
null::respawn:/sbin/getty -L ttyAMA0 115200 vt100
/etc/passwd添加
marquis::500:500:Linux User,,,:/home:/bin/sh
/etc/group添加
marquis::500:
0x3 qemu参数
qemu-system-arm \
-M vexpress-a9 \
-kernel ~/src/linux/kernel/vexpress-a9-linux-4.10.9/arch/arm/boot/zImage \
-dtb ~/src/linux/kernel/vexpress-a9-linux-4.10.9/arch/arm/boot/dts/vexpress-v2p-ca9.dtb \
-sd ~/src/qemu/image/rootfs.ext4 \
-nographic -append “root=/dev/mmcblk0 rw rootfstype=ext4 rootwait init=/linuxrc console=ttyAMA0 kgdboc=ttyAMA0,115200”
0x4 qemu中触发kdb
输入ctrl+a b
send break 触发magic sysrq
输入g
发送magic sysrq g命令进入kg