Ders 2.73: Gizli çekirdek modülleri ve sistem çağrısı kancaları
En güçlü Linux rootkit'leri çekirdek modülleridir. Yüklenen bir modül kendini çekirdeğin modül listesinden çıkarabilir, böylece lsmod ve /proc/modules onu göstermeyi bırakır; ayrıca getdents64 (dizin listeleme) ve kill (sinyaller) gibi sistem çağrılarını kendi koduna yönlendirebilir. Bellekte iki hile de iz bırakır: modülün diğer kayıtları hâlâ oradadır ve sistem çağrısı tablosu çekirdeğin dışını gösterir. Laboratuvarda canlı makinenin neyi kabul ettiğine bakıyor, sonra Volatility ile gizli modülü ve kancalanmış çağrıları buluyor ve bulguyu kaydediyorsun.
17 dk
Bu derste öğreneceklerin
- Bir modülün nasıl gizlendiğini ve sistem çağrılarını nasıl kancaladığını açıklamak
- Çekirdek taint değerini okumak
- linux.lsmod ile linux.check_modules'ı karşılaştırmak
- Kancalanmış sistem çağrılarını linux.check_syscall ile bulmak
- Sistem çağrısı numaralarını adlara eşlemek
Temel terimler
- Yüklenebilir çekirdek modülü
- Çalışan çekirdeğe tam çekirdek ayrıcalıklarıyla eklenen kod (.ko dosyası).
- Modülü listeden çıkarma
- Bir modülü lsmod göstermesin diye çekirdeğin modül listesinden çıkarmak.
- Sistem çağrısı tablosu
- Çekirdeğin sistem çağrısı numarasına göre dizinlenmiş işleyici dizisi.
- Kanca
- Bir işleyiciyi sonuçları süzen ya da değiştiren saldırgan koduna yönlendirmek.
- kernel.tainted
- Açılıştan beri olağandışı olayları kaydeden bit bayrakları (4096 ağaç dışı, 8192 imzasız modül).
- linux.check_modules / check_syscall
- Listeden çıkarılmış modüller ve kancalanmış sistem çağrıları için Volatility çapraz görünüm denetimleri.
← Denetim izini korumak · Tüm dersler · Özetler, itibar ve varyantlar →