همانطور که میدانید قبل از شروع عملیات فازینگ یک درایور، باید نام Symbolic Link آن درایور و همچنین کدهای IOCTL قابل قبول آن درایور را در اختیار داشته باشید.
برای گرفتن لیست Symbolic Linkها میتوان از ابزار Sysinternals WinObj استفاده کرد. بخش Globals این ابزار لیست کلیه Symbolic Linkهای موجود در سیستم عامل را به شما نمایش میدهد.
برای شناسایی لیست کدهای IOCTL آن درایور نیز ما ابزاری برای استخراج لیست آن با استفاده از روش Brute-Force طراحی و پیادهسازی کردیم. این ابزار از QEMU برای اجرای درایور و Brute-Force کردن آن استفاده ميکند.
این ابزار باید در یک رایانه دارای قابلیت مجازیسازی و سیستم عامل Ubuntu 20.04 اجرا شود. قبل از هر چیز پیشنیازها را نصب نمایید:
sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin
نکته: ترجیحا از نسخههای بروز QEMU همانند QEMU 5.0.0 به بعد استفاده کنید. چنانچه QEMU موجود در Repository سیستم عامل Ubuntu قدیمی است، میتوانید آخرین نسخه را از طریق لینک زیر دانلود کنید:
https://download.qemu.org/qemu-5.0.0.tar.xz
برای نصب دستی دستورات زیر را وارد کنید:
sudo ./configure --target-list=i386-softmmu,x86_64-softmmu --enable-vnc --enable-gtk --disable-werror
sudo make
sudo make install
نکته: جهت اطمینان از اجرا شدن ماژول QEMUدستور زیر را وارد کنید:
sudo modprobe nbd
حالا برای نصب ابزار مراحل زیر را طی کنید:
نکته: ترجیحا بعد از نصب، دیوار آتش ویندوز را نیز خاموش کنید. هر چند این کار الزامی نیست.
فایل در مسیر C:\dir_to_copy\DriverLoader.exe را پس از اجرا شدن سیستم عامل اجرا کنید (At LogOn). دسترسی Admin داشته باشد و همچنین آرگومانهای زیر نیز به برنامه داده شوند:
“Temp\driver.sys” “kafl” C:\dir_to_copy\ioctl.txt
bcdedit.exe /set TESTSIGNING ON
bcdedit /set nointegritychecks on
در زیر تصاویری از اجرای ماژول IOCTL-Finder ارائه شده است.