1、Rust; 2、修补的QEMU; 3、Linux虚拟机系统镜像; 4、修补的内核;
修补的QEMU
curl https://download.qemu.org/qemu-8.2.2.tar.xz -o qemu.tar.xztar xvJf qemu.tar.xzmv qemu-8.2.2 qemucd qemupatch -p1 < $SCRIPT_DIR/../qemu-patch.patchmkdir buildcd build../configure --target-list=x86_64-softmmumake -j$(nproc)
Debian虚拟机镜像
cd guestimage
./create-image.sh -d stretch
修补的内核
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
git checkout v6.0
../virtfuzz/kernel-patches/apply.sh
# Depending on the target, apply the patches to annotate for a specific device
../virtfuzz/kernel-patches/annotate-80211.sh
# Make the config
make x86_64_defconfig
make kvm_guest.config
scripts/kconfig/merge_config.sh -m .config ../virtfuzz/kernel-config/base.config
# For example enable KASAN
scripts/kconfig/merge_config.sh -m .config ../virtfuzz/kernel-config/kasan.config
make olddefconfig
make -j$(nproc)
git clone https://github.com/seemoo-lab/VirtFuzz.git
1、virtfuzz-fuzz:模糊测试器 2、virtfuzz-proxy:代理 3、virtfuzz-replay:一些实用脚本
cargo run --release --bin virtfuzz-fuzz
export QEMU=PATH_TO-qemu-system-x86_64
export IMAGE=guestimage/stretch.img
export KERNEL=PATH_TO/linux/arch/x86/boot/bzImage
cargo run --release --package virtfuzz-fuzz -- --device-definition device-definitions/hwsim-scan.json --cores 0-1 --stages standard
cargo run --release --package virtfuzz-fuzz -- --help
模糊测试选项
-d, --device <DEVICE>
--device-definition <DEVICE_DEFINITION>
-s, --stages <STAGES>
--init-path <INIT_PATH>
--wait-for-rx
--bt-fake-cc
原文始发于微信公众号(FreeBuf):VirtFuzz:一款基于VirtIO的Linux内核模糊测试工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论