DragonFlyBSD Kernel Audit
DF-2647 / mkbase2647.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-2647: build the base image. 64MB hammer2 volume "testvol" with one
# additional PFS "zz_pwn" created via hammer2(8) (HAMMER2IOC_PFS_CREATE),
# so the super-root holds two PFS inodes: "testvol" (mount label) and
# "zz_pwn" (forge target of forge_df2647.py).
set -e
vnconfig -u vn0 2>/dev/null || true
cd /root/poc
rm -f base2647.img
truncate -s 64M base2647.img
newfs_hammer2 -L testvol base2647.img >/dev/null
vnconfig -c vn0 /root/poc/base2647.img
mkdir -p /mnt/h2
mount -t hammer2 /dev/vn0@testvol /mnt/h2
hammer2 -s /mnt/h2 pfs-create zz_pwn
echo '--- pfs-list baseline (PFS_GET scan, unforge) ---'
hammer2 -s /mnt/h2 pfs-list
sync
umount /mnt/h2
vnconfig -u vn0
echo BASE2647_OK