hacktricks/reversing-and-exploiting/linux-exploiting-basic-esp/common-binary-protections/README.md

3.2 KiB
Raw Blame History

Ortak İkili Korumalar

Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Çekirdek Dosyalarını Etkinleştir

Ç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ü, çökmeye neden olanı hata ayıklamak ve anlamak için son derece değerli olabilir.

Çekirdek Dökümü Oluşturmayı Etkinleştirme

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 yapılandırabilirsiniz.

  • 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.
ulimit -c unlimited
  • 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.
* soft core unlimited

GDB ile Çekirdek Dosyalarının Analizi

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:

gdb /path/to/executable /path/to/core_file

Bu komut, yürütülebilir dosyayı ve çekirdek dosyasını GDB'ye yükler ve çökme anındaki program durumunu incelemenizi sağlar. Stack'i keşfetmek, değişkenleri incelemek ve çökmenin nedenini anlamak için GDB komutlarını kullanabilirsiniz.