mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
30 lines
2.1 KiB
Markdown
30 lines
2.1 KiB
Markdown
# Wspólne Ochrony i Obejścia Eksploatacji Binarnych
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## Włącz pliki rdzeniowe
|
|
|
|
**Pliki rdzeniowe** to rodzaj pliku generowanego przez system operacyjny, gdy proces ulega awarii. Pliki te przechwycają obraz pamięci awaryjnego procesu w momencie jego zakończenia, w tym pamięć procesu, rejestry i stan licznika programu, między innymi szczegóły. Ten zrzut może być niezwykle cenny do debugowania i zrozumienia, dlaczego wystąpiła awaria.
|
|
|
|
### **Włączanie Generacji Zrzutów Rdzeniowych**
|
|
|
|
Domyślnie wiele systemów ogranicza rozmiar plików rdzeniowych do 0 (tj. nie generują plików rdzeniowych), aby zaoszczędzić miejsce na dysku. Aby włączyć generację plików rdzeniowych, możesz użyć polecenia **`ulimit`** (w bashu lub podobnych powłokach) lub skonfigurować ustawienia systemowe.
|
|
|
|
- **Używając ulimit**: Polecenie `ulimit -c unlimited` pozwala bieżącej sesji powłoki na tworzenie plików rdzeniowych o nieograniczonej wielkości. Jest to przydatne w sesjach debugowania, ale nie jest trwałe po ponownym uruchomieniu lub w nowych sesjach.
|
|
```bash
|
|
ulimit -c unlimited
|
|
```
|
|
- **Trwała konfiguracja**: Aby uzyskać bardziej trwałe rozwiązanie, możesz edytować plik `/etc/security/limits.conf`, aby dodać linię taką jak `* soft core unlimited`, co pozwala wszystkim użytkownikom na generowanie plików core o nieograniczonej wielkości bez konieczności ręcznego ustawiania ulimit w ich sesjach.
|
|
```markdown
|
|
- soft core unlimited
|
|
```
|
|
### **Analiza plików rdzeniowych za pomocą GDB**
|
|
|
|
Aby przeanalizować plik rdzeniowy, możesz użyć narzędzi do debugowania, takich jak GDB (GNU Debugger). Zakładając, że masz plik wykonywalny, który wygenerował zrzut rdzenia, a plik rdzeniowy nazywa się `core_file`, możesz rozpocząć analizę za pomocą:
|
|
```bash
|
|
gdb /path/to/executable /path/to/core_file
|
|
```
|
|
To polecenie ładuje plik wykonywalny i plik rdzenia do GDB, co pozwala na zbadanie stanu programu w momencie awarii. Możesz używać poleceń GDB, aby zbadać stos, sprawdzić zmienne i zrozumieć przyczynę awarii.
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|