exploit paylaşım grubumuz: t.me/HTTPwnn

Driver Reverse Engineering 101 1.bölüm

  • Konu başlatıcı Konu başlatıcı sh3d0w
  • Başlangıç Tarihi Başlangıç Tarihi

sh3d0w

WarNight Member
Katılım
25 Haz 2026
Mesaj
62
Reaksiyon
37
Puan
18
xentr_thread_starter

Neden bu işe Piskopat gibi giriyoruz​

Benzetme: Bilgisayarını bir araba gibi düşün. Sen (kullanıcı) direksiyon başındasın, gaza basıyorsun, frene basıyorsun. Ama arabanın motoruna (Kernel) hiç bakmadın, değil mi? İşte sürücüler (driver), arabanın motor kontrol üniteleri gibidir. Fren balatalarının ne kadar sıkışacağını, motorun ne kadar yakıt alacağını onlar belirler.

Bazen bu motor kontrol ünitelerinde kusurlar (güvenlik açıkları) olur. Biz de bu kusurları bulmak için bu ünitelerin (sürücülerin) içini, yani kodlarını inceleriz. Buna "Tersine Mühendislik" denir.


Neden​

afd.sys (Ancillary Function Driver for Winsock):

  • Ne işe yarar? Bu, Windows'un internet bağlantılarını yöneten resmi bir sürücüsüdür. Yani Chrome, Discord, oyunlar internete nasıl çıkıyorsa, bu sürücü sayesinde.
  • Neden KULLANMIYORUZ? Bu sürücü çok büyük ve karışıktır. Binlerce satır kodu vardır ve Microsoft'un kendi özel yapılarını kullanır. Yeni başlayan biri için bu, "İstanbul'un ara sokaklarında kaybolmak" gibidir.
HEVD.sys (HackSys Extreme Vulnerable Driver):

  • Ne işe yarar? Bu, eğitim amaçlı bilerek güvenlik açıkları (hatalar) konulmuş bir sürücüdür.
  • Neden KULLANIYORUZ? Bu sürücü çok basit ve düzenlidir. Sanki bir öğretmen tarafından yazılmış gibi, her şeyi net ve anlaşılırdır. Hataları bulmak için tasarlanmıştır. Yani bu, sürücü analizini öğrenmek için biçilmiş kaftandır.

ADIM 1​

Adım Adım Yap:

  1. IDA'yı başlat.
  2. FileOpen'a tıkla.
  3. Masaüstündeki HEVD.sys dosyasını seç ve 'a tıkla.

Ekran Alıntısı.PNG

  1. IDA dosyayı analiz etmeye başlayacak. Altta bir ilerleme çubuğu (progress bar) göreceksin. Bu işlem 1-2 dakika sürebilir. Hiçbir tuşa basma, bekleyelim.
  2. Analiz bittiğinde, ekranda karmaşık Assembly kodları (mov, push, call gibi komutlar) olacak. Bu, arabanın motorunun ham hali gibi. Ama biz bunu rahat okunur hale getireceğiz.

- DriverEntry'i Bulma (Giriş Kapısı)​

Her sürücünün bir başlangıç noktası vardır. Tıpkı bir evin ön kapısı gibi. Windows, sürücüyü yüklediğinde ilk olarak bu kapıdan girer. Bu kapının adı DriverEntry'dir.

Şimdi bu kapıyı bulalım:

  1. Klavyende Ctrl ve E tuşlarına aynı anda bas. (Çok önemli kısayol!)
  2. Karşına "Entry Points" adında bir pencere açılacak.
  3. Bu pencerede DriverEntry yazısını bul ve üzerine çift tıkla.

Ekran Alıntısı2.PNG


Assembly'den C Koduna Geçiş (F5 Mucizesi c ye çevirmece)​

DriverEntry'nin içine geldin ama hala assembly dili var. Bunu anlamak zor. Neyse ki IDA'nın sihirli bir tuşu var.

  1. Şu an DriverEntry fonksiyonunun içinde olmalısın.
  2. Klavyende F5 tuşuna bas.
  • Ekran Alıntısı3.PNG
  • Ekran Alıntısı4.PNG
  • Cihaz Adı (Device Name): RtlInitUnicodeString(&DeviceName, L"\\Device\\HackSys...");
  • IOCTL Handler'ın Atandığı Satır: DriverObject->MajorFunction[14] = IrpDeviceIoCtlHandler;

IOCTL Handler'a Gitme​

Bu adım, sürücünün "komut merkezi" ne gideceğimiz adımdır. Kullanıcı programları sürücüye komut göndermek için IOCTL kodları kullanır. Sürücüde bu komutları karşılayan yere IOCTL Handler denir.

  1. Yukarıdaki C kodunda şu satırı bul:

    Ekran Alıntısı5.PNG
    DriverObject->MajorFunction[14] = IrpDeviceIoCtlHandler;
  2. Bu satırdaki IrpDeviceIoCtlHandler kelimesine çift tıkla (veya imleç oradayken Enter bas).

📝 ADIM 5: Bu Ekran Görüntülerinden Sonra Ne Yapacağız?​

Bu ekran görüntülerini çektikten sonra sana şunları göstereceğim:

  1. Her case'in hangi güvenlik açığına karşılık geldiğini.
  2. 0x222003 kodunun "Stack Overflow" hatasını nasıl tetiklediğini.
  3. Bu IOCTL kodlarının "Method" (yöntem) kısmını nasıl okuyacağını.

bunu windowsun afd.sys bilmemne bilmemnesine denemenizi öneririm (yönetici oalrak çalıştırmasanız idayıyı afd.sys boza bilirsinzi)
 

Ekli Dosyalar

Geri
En Üst