hacktricks/binary-exploitation/common-binary-protections-and-bypasses/README.md

3.1 KiB

Powszechne zabezpieczenia i sposoby obejścia w eksploatacji binarnej

Zacznij od zera i stań się ekspertem od hakowania AWS dzięki htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Włącz pliki Core

Pliki Core to rodzaj plików generowanych przez system operacyjny, gdy proces ulega awarii. Te pliki przechwytują obraz pamięci zatrzymanego procesu w chwili jego zakończenia, w tym pamięć procesu, rejestry i stan licznika programu, między innymi szczegóły. Ten zrzut może być niezwykle wartościowy do debugowania i zrozumienia przyczyny awarii.

Włączanie Generowania Plików Core Dump

Domyślnie wiele systemów ogranicza rozmiar plików core do 0 (tj. nie generuje plików core) w celu oszczędzania miejsca na dysku. Aby włączyć generowanie plików core, można użyć polecenia ulimit (w powłoce bash lub podobnych) lub skonfigurować ustawienia systemowe.

  • Użycie ulimit: Polecenie ulimit -c unlimited pozwala bieżącej sesji powłoki tworzyć pliki core o nieograniczonej wielkości. Jest to przydatne podczas sesji debugowania, ale nie jest trwałe po ponownym uruchomieniu systemu lub nowych sesjach.
ulimit -c unlimited
  • Trwała konfiguracja: Dla bardziej trwałego rozwiązania, możesz edytować plik /etc/security/limits.conf, aby dodać wiersz tak jak * soft core unlimited, co pozwala wszystkim użytkownikom generować pliki core o nieograniczonej wielkości bez konieczności ręcznego ustawiania ulimit w ich sesjach.
* soft core unlimited

Analiza plików rdzenia za pomocą GDB

Aby przeanalizować plik rdzenia, można 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 rdzenia ma nazwę core_file, można rozpocząć analizę za pomocą:

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

To polecenie wczytuje plik wykonywalny i plik rdzenia do GDB, pozwalając na zbadanie stanu programu w momencie awarii. Możesz użyć poleceń GDB do eksploracji stosu, sprawdzenia zmiennych i zrozumienia przyczyny awarii.