Common Binary Exploitation Protections & Bypasses
Last updated
Last updated
AWS Hacking'i öğrenin ve uygulayın:HackTricks Eğitimi AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve uygulayın: HackTricks Eğitimi GCP Kırmızı Takım Uzmanı (GRTE)
Çekirdek dosyaları, bir işlem çöktüğünde işletim sistemi tarafından oluşturulan bir tür dosyadır. Bu dosyalar, çöken işlemin bellek görüntüsünü, kayıtlarını ve program sayacı durumunu içeren ayrıntıları içerir. Bu anlık görüntü, çökerken neden olduğunu hata ayıklamak ve anlamak için son derece değerli olabilir.
Varsayılan olarak, birçok sistem çekirdek dosyalarının boyutunu 0'a (yani çekirdek dosyaları oluşturmaz) sınırlar ve disk alanı tasarrufu yapar. Çekirdek dosyalarının oluşturulmasını etkinleştirmek için ulimit
komutunu (bash veya benzer kabuklarda) kullanabilir veya sistem genelinde ayarlar yapabilirsiniz.
Ulimit Kullanımı: ulimit -c unlimited
komutu geçerli kabuk oturumunun sınırsız boyutta çekirdek dosyaları oluşturmasına izin verir. Bu, hata ayıklama oturumları için faydalıdır ancak yeniden başlatmalar veya yeni oturumlar arasında kalıcı değildir.
Kalıcı Yapılandırma: Daha kalıcı bir çözüm için, tüm kullanıcıların oturumlarında ulimit'i manuel olarak ayarlamadan sınırsız boyutta core dosyaları oluşturmalarına izin veren * soft core unlimited
gibi bir satırı içeren /etc/security/limits.conf
dosyasını düzenleyebilirsiniz.
Bir çekirdek dosyasını analiz etmek için, GDB (GNU Debugger) gibi hata ayıklama araçlarını kullanabilirsiniz. Varsayalım ki bir çekirdek dökümü oluşturan yürütülebilir bir dosyanız var ve çekirdek dosyasının adı core_file
ise analize şu şekilde başlayabilirsiniz:
Bu komut, yürütülebilir dosyayı ve çekirdek dosyasını GDB'ye yükler ve çökme anındaki program durumunu incelemenizi sağlar. GDB komutlarını kullanarak yığını keşfedebilir, değişkenleri inceleyebilir ve çökmenin nedenini anlayabilirsiniz.