DF-3443 / setup_guest.sh
#!/bin/sh # DF-3443 one-shot setup + run, for post-reset use. # Idempotent: pushes sources, builds PoC + ALTQ pf.ko + inspector, loads them. set -e cd /home/maxx/dfbsd/dfbsd SCP="scp -F dfbsd-qemu/config -o ConnectTimeout=8" $SCP findings/poc/DF-3443/df3443_poc.c dfbsd:/root/df3443_poc.c $SCP findings/poc/DF-3443/fw3443.c dfbsd:/root/fwbuild_fw3443.c dfbsd-qemu/vm.sh run_root ' set -e cd /root cc -O -w -o df3443_poc df3443_poc.c -I/usr/src/sys mkdir -p fwbuild && cp /root/fwbuild_fw3443.c fwbuild/fw3443.c printf "KMOD=fw3443\nSRCS=fw3443.c\n\n.include <bsd.kmod.mk>\n" > fwbuild/Makefile ( cd fwbuild && make >/dev/null 2>&1 || make ) kldload pf 2>/dev/null || true kldload if_tap 2>/dev/null || true if [ ! -f /usr/src/sys/net/pf/pf.ko ]; then ( cd /usr/src/sys/net/pf && make KERNBUILDDIR=/usr/obj/usr/src/sys/X86_64_GENERIC >/root/pfbuild.log 2>&1 ) fi kldstat -n pf >/dev/null 2>&1 && kldunload pf || true kldload /usr/src/sys/net/pf/pf.ko kldload /root/fwbuild/fw3443.ko dmesg | grep "fw3443:" | tail -1 ifconfig tap0 create up echo SETUP-READY ' |