Common Binary Exploitation Protections & Bypasses
Aktivieren von Core-Dateien
Core-Dateien sind eine Art von Datei, die von einem Betriebssystem generiert wird, wenn ein Prozess abstürzt. Diese Dateien erfassen das Speicherabbild des abgestürzten Prozesses zum Zeitpunkt seiner Beendigung, einschließlich des Speichers des Prozesses, der Register und des Programmzählerzustands sowie anderer Details. Dieser Schnappschuss kann äußerst wertvoll sein, um zu debuggen und zu verstehen, warum der Absturz aufgetreten ist.
Aktivieren der Core-Dump-Erstellung
Standardmäßig begrenzen viele Systeme die Größe von Core-Dateien auf 0 (d. h. sie generieren keine Core-Dateien), um Speicherplatz zu sparen. Um die Erstellung von Core-Dateien zu aktivieren, können Sie das ulimit
-Kommando (in bash oder ähnlichen Shells) verwenden oder systemweite Einstellungen konfigurieren.
Mit ulimit: Das Kommando
ulimit -c unlimited
ermöglicht der aktuellen Shell-Sitzung, Core-Dateien unbegrenzter Größe zu erstellen. Dies ist nützlich für Debugging-Sitzungen, ist jedoch nicht über Neustarts oder neue Sitzungen hinweg beständig.
Persistente Konfiguration: Für eine dauerhaftere Lösung können Sie die Datei
/etc/security/limits.conf
bearbeiten, um eine Zeile wie* soft core unlimited
einzufügen, die es allen Benutzern ermöglicht, Core-Dateien beliebiger Größe zu generieren, ohne ulimit manuell in ihren Sitzungen festlegen zu müssen.
Analyse von Core-Dateien mit GDB
Um eine Core-Datei zu analysieren, können Sie Debugging-Tools wie GDB (den GNU Debugger) verwenden. Angenommen, Sie haben eine ausführbare Datei, die einen Core-Dump erzeugt hat, und die Core-Datei heißt core_file
, können Sie die Analyse mit folgendem Befehl starten:
Dieser Befehl lädt die ausführbare Datei und die Kerneldatei in GDB, was es Ihnen ermöglicht, den Zustand des Programms zum Zeitpunkt des Absturzes zu inspizieren. Sie können GDB-Befehle verwenden, um den Stack zu erkunden, Variablen zu untersuchen und die Ursache des Absturzes zu verstehen.
Last updated