ios
CVE-2022-42475

首先需要进行环境搭建参考获取 shell 进阶

以及调试环境搭建 gdb-server 配置

复现过程

根据文章 https://wzt.ac.cn/2022/12/15/CVE-2022-42475/,可以快速定位到可控制的溢出点,但是不同环境的原因 貌似溢出点地址有变,例如我 init 中在 0000000001780BFB

调试 exp 时建议在此处下断点,不是百分百触发该位置,因为有时会覆盖到其他 结构位置 在赋值时导致错误。

利用VMware获取shell-进阶

解包

gzip -d rootfs.gz
sudo cpio -idmv < ./rootfs
sudo chroot . /sbin/xz --check=sha256 -d /bin.tar.xz
sudo chroot . /sbin/ftar -xf /bin.tar

Patch init 文件

文件所在位置 /bin/init ,注意这个是解包后才能拿到的文件

patch 位置在 0x04518E5

利用VMware获取shell

获取 vmlinuz

方式一

对于 vmdk 没有加密的虚拟设备来说,可以直接通过挂载磁盘的方式提取出 vmlinuz 文件,但是要注意磁盘中的内核文件命名可能不同!!!