Gemeinsame Binary-Exploitation-Schutzmaßnahmen & Bypasses
{{#include ../../banners/hacktricks-training.md}}
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ählers, unter anderem Details. Dieses Snapshot kann äußerst wertvoll für das Debuggen und das Verständnis sein, warum der Absturz aufgetreten ist.
Aktivieren der Core-Dump-Generierung
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 Generierung von Core-Dateien zu aktivieren, können Sie den ulimit-Befehl (in bash oder ähnlichen Shells) verwenden oder systemweite Einstellungen konfigurieren.
- Verwendung von ulimit: Der Befehl
ulimit -c unlimitedermöglicht es der aktuellen Shell-Sitzung, Core-Dateien unbegrenzter Größe zu erstellen. Dies ist nützlich für Debugging-Sitzungen, ist jedoch nicht persistent über Neustarts oder neue Sitzungen hinweg.
ulimit -c unlimited
- Persistente Konfiguration: Für eine dauerhaftere Lösung können Sie die Datei
/etc/security/limits.confbearbeiten, um eine Zeile wie* soft core unlimitedhinzuzufügen, die es allen Benutzern ermöglicht, unbegrenzt große Core-Dateien zu erstellen, ohneulimitmanuell in ihren Sitzungen festlegen zu müssen.
- soft core unlimited
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 ein ausführbares Programm, das einen Core-Dump erzeugt hat, und die Core-Datei heißt core_file, können Sie die Analyse mit folgendem Befehl starten:
gdb /path/to/executable /path/to/core_file
Dieser Befehl lädt die ausführbare Datei und die Kern-Datei in GDB, sodass Sie den Zustand des Programms zum Zeitpunkt des Absturzes inspizieren können. Sie können GDB-Befehle verwenden, um den Stack zu erkunden, Variablen zu untersuchen und die Ursache des Absturzes zu verstehen.
{{#include ../../banners/hacktricks-training.md}}