Фаззинг gzip из Ubuntu20 (ARM).
- Скачать rootfs с Ubuntu20 (ARM):
wget https://cdimage.ubuntu.com/ubuntu-base/releases/focal/release/ubuntu-base-20.04.5-base-armhf.tar.gz
mkdir rootfs
tar xvf ubuntu-base-20.04.5-base-armhf.tar.gz -C rootfs/
- Подготовить rootfs (необходимо указать актуальные пути):
cp -r crusher/bin_x86-64/qemu-user-mode-arm-64bit rootfs/qemu
./mount.sh ./rootfs/
См. также раздел "Запуск в chroot-режиме" в документации фаззера.
- Сформировать нач. корпус вх. данных (сделано):
mkdir in
echo 0 > seed
zip -r in/seed.zip seed
- Проверить gzip:
sudo -E chroot rootfs/ /qemu/qemu-static /usr/bin/gzip -d -c < in/seed.zip
Необходимо убедиться, что распакованные данные соответствуют ранее запакованным.
Перед запуском необходимо удалить rootfs/dev/*
и rootfs/proc
.
- Запуск фаззинга:
sudo -E crusher/bin_x86-64/fuzz_manager --start 8 --eat-cores 2 --config-file config.json \
-i in/ -o out -- /usr/sbin/chroot ./rootfs/ /qemu/qemu-static /usr/bin/gzip -d -c
- Мониторинг:
sudo -E crusher/bin_x86-64/ui -o out